| Outline | People | Reading | Grading | Academics | Homepage |
Course Outline* | |||||
| Lecture | Topic(s) | Programs | Book(s), Notes | ||
|---|---|---|---|---|---|
| C Language | |||||
| Mon, Jan 18 | M. L. King Holiday | ||||
| 1. Jan 19 | First program |
helloworld. c first_ pgm. c first_ pgm_ cgi. c first_ pgm. html first_ pgm_ cgi_ get. c first_ pgm_ get. html |
DDC §2.1-3 | ||
| 2. Jan 21 | Operators; flow of control |
selfprint2. c,
selfprint3. c (without
non-standard strnlen call)
|
DDC §2.5-6; DDC §4; Semicolon before else | ||
| 3. Jan 26 | Functions; the C runtime library | math.c, rand.c, rand2.c | DDC §5.1-8 | ||
| 4. Jan 28 | Scope of variables, storage classes; separate compilation | StorageClasses/ | DDC §5.12 | ||
| 5. Feb 2 | Arrays and pointers, args to main | arrays.c, mainarg.c | DDC §6.1-6.5, §6.10, §6.20-22 | ||
| 6. Feb 4 | Recursion, debugging | Recursion/ | DDC §5.13-18 | ||
| Tue, Feb 9 | Wellness Day 1 | ||||
| 7. Feb 11 | strings; scanf, printf, I/O; the preprocessor, macros | scanf.c, types.c | DDC §8, DDC §13 | ||
| 8. Feb 16 | Typedef, structures, unions, header files; storage allocation, lists | Lists/ | DDC §10.1-5, §10.18, §12.1-4 | ||
| 9. Feb 18 | Pointers to functions; OO programming in C | ptrs2fncs. c, OO_pgm_in_C_new/ | DDC §7.26 | ||
| 10. Feb 23 | Catch-up | |
|
||
| C++ Language | |||||
| 11. Feb 25 | First C++ program; basic object design: members, constructors, copy, destructors | account. cpp, inherit. cpp | DDC §16; My comparision of C++ and Java | ||
| 12. Mar 2 | Derivation, inheritance, public, private; polymorphism: overloading of functions and operators; stream I/O | inherit. cpp continued | DDC §18, DDC §19, §21 | ||
| Wednesday, Mar 3, at 23:59pm | C project due, counts 33.33% | ||||
| 13. Mar 4 | Pointers and references, const, static |
swap. cpp
|
DDC §15.8, §17.2, §17.7 | ||
| Fri, March 5 | Wellness Day 2 | ||||
| 14. Mar 9 | Templates and the STL | templates.cpp/, Lists/ | DDC §17.10, cplusplus.com/reference/stl | ||
| 15. Mar 11 | STL containers | map.cpp, index.cpp, multi_index.cpp | |||
| 16. Mar 16 | STL iterators | cplusplus.com/reference/iterator | |||
| Wed, Mar 17, 11:59pm Last day to drop the course | |||||
| 17. Mar 18 | STL algorithms | indir_ sort. cpp | cplusplus.com/reference/algorithm | ||
| 18. Mar 23 | Advanced topics: virtual member functions; code bloat and how to avoid it; co-routines | Stacks/, coroute.cpp | DDC §20 | ||
| Wed, Mar 24, 2021 | Wellness Day 3 | ||||
| 19. Mar 25 | Namespaces and inner classes; exceptions; multiple inheritance | exception.cpp; MultInher/ | DDC §19.15 | ||
| 20. Mar 30 | Wrappers/adaptors to existing libraries; traits; partial template specialization |
prof3.h,
main3.cpp,
prof3A.h,
main3A.cpp
|
N. Myers report on traits | ||
| Python Language | |||||
| 21. Apr 1 🤪 |
First python program
|
hello.py,
fibonacci.py,
fibo2.py,
breakdance.py
|
Lecture 1,
DIP
§2
|
||
| 22. Apr 6 |
Native types
|
unpack.py
|
Lecture 2,
DIP
§3
|
||
| Wed, Apr 7, at 23:59pm | C++ project due, counts 33.33% | ||||
| 23. Apr 8 |
Python as an OO language
|
image.py,
counter.py,
private.py,
square.py,
newstring.py,
singleton.py,
borg.py,
multi.py
|
Lecture 3,
DIP
§5
|
||
| 24. Apr 13 |
Files and exceptions
|
person.py,
student.py,
compare.py,
withexample.py,
output.py,
filepath.py
|
Lecture 4,
DIP
§6
|
||
| Thurs, Apr 15, 2021 | Wellness Day 4 | ||||
| 25. Apr 20 |
Python as a functional language
|
nightmare.py,
identity.py,
matrix.py,
listsort.py,
keys.py,
iter.py,
closure.py
|
Lecture 5,
DIP
§16
|
||
| 26. Apr 22 |
Tour of the standard library
|
dateformat.py,
dateparse.py,
github.py,
regex.py,
log.conf,
log.py,
timeme.py,
program.py,
program_test.py
|
Lecture 6
|
||
| 27. Apr 27 |
Overview of common Python packages and where you can find more: lxml,
BeautifulSoup, PIL, NumPy, SciPy
|
geonames.py,
mandel.py,
mandel.png,
newgithub.py
|
Lecture 7
|
||
| 28. Apr 29 | Tools for programming |
complicated.py
|
Lecture 8
|
||
| 29. Apr XX | Traceback; generators |
fibogen.py,
nyse.py
|
Lecture 9
|
||
| Mon, May 10, at 23:59pm | Python project due, counts 33.33%; see description on Moodle. | ||||
| Thursday, May 12, 5pm, Grades due | |||||
| A Brief Introduction to the Java Language | |||||
| Not covered | First Java program; Basic object design: members, constructors, cloning, destructors | account.java, test_acc.java, Inherit/ | DDJ §8 | ||
| Not covered | Derivation, inheritance, public, private | Inherit/ continued | DDJ §9 | ||
| Not covered | Abstract Window Toolkit, the Java 1.0 and 1.1 event models, applets; Panel and Button | Nutshell/ ch6/ First Applet.*, Nutshell/ ch7/ | DDJ §3 | ||
On-line information: All information on courses that I teach (except individual grades) is now accessible via html browsers, which includes this syllabus. My courses' directory is at
If you need assistance in any way, please let me know (see also the University's policy).
Late submissions: All programs must be submitted on time. The following penalties are given for (unexcused) late submissions:
©2011, 2018, 2020, 2021 Erich Kaltofen.