Outline | People | Reading | Grading | Academics | Homepage |
Course Outline* | |||||
Lecture | Topic(s) | Programs | Book(s), Notes | ||
---|---|---|---|---|---|
C Language | |||||
1. Jan 6 | First program |
helloworld. c Makefile 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 8 | Operators; flow of control |
selfprint2. c,
selfprint3. c (without
non-standard strnlen call)
|
DDC §2.5-6; DDC §4; semicolon before else; operator precedence | ||
3. Jan 13 | Functions; the C runtime library | math.c, rand.c, rand2.c | DDC §5.1-8 | ||
4. Jan 15 | Scope of variables, storage classes; separate compilation | StorageClasses/ | DDC §5.12 | ||
Mon, Jan 20 | M. L. King Holiday | ||||
5. Jan 22 | Arrays and pointers, args to main | arrays.c, mainarg.c | DDC §6.1-6.5, §6.10, §6.20-22 | ||
6. Jan 27 | Recursion, debugging | Recursion/ | DDC §5.13-18 | ||
7. Jan 29 | strings; scanf, printf, I/O; the preprocessor, macros | scanf.c, types.c | DDC §8, DDC §13 | ||
8. Feb 3 | Typedef, structures, unions, header files; storage allocation, lists | Lists/ | DDC §10.1-5, §10.18, §12.1-4 | ||
9. Feb 5 | Pointers to functions; OO programming in C | ptrs2fncs. c, OO_pgm_in_C_new/ | DDC §7.26 | ||
10. Feb 10 | Catch-up | |
|
||
C++ Language | |||||
11. Feb 12 | First C++ program; basic object design: members, constructors, copy, destructors | account. cpp, inherit. cpp | DDC §16; My comparision of C++ and Java | ||
12. Feb 17 | Derivation, inheritance, public, private; polymorphism: overloading of functions and operators; stream I/O | inherit. cpp continued | DDC §18, DDC §19, §21 | ||
13. Feb 19 | Pointers and references, const, static |
swap. cpp
|
DDC §15.8, §17.2, §17.7 | ||
Wednesday, Feb 19, at 23:59pm | C project due, counts 33.33% | ||||
14. Feb 24 | Templates and the STL | templates.cpp/, Lists/ | DDC §17.10, cplusplus.com/reference/stl | ||
15. Feb 26 | STL containers | map.cpp, index.cpp, multi_index.cpp | |||
16. Mar 2 | STL iterators | cplusplus.com/reference/iterator | |||
Mon, Mar 2, 11:59pm Last day to drop the course | |||||
17. Mar 4 | STL algorithms | indir_ sort. cpp | cplusplus.com/reference/algorithm | ||
Mar 9-13, 2020 | Spring Break, no class | ||||
18. Mar 16 | Advanced topics: virtual member functions; code bloat and how to avoid it | Stacks/ | DDC §20 | ||
19. Mar 18 | Namespaces and inner classes; exceptions; multiple inheritance | exception.cpp; MultInher/ | DDC §19.15 | ||
20. Mar 23 | Wrappers/adaptors to existing libraries; traits; partial template specialization |
prof3.h,
prof3A.h,
main3.cpp
|
N. Myers report on traits | ||
Python Language | |||||
21. Mar 25 |
First python program
|
hello.py,
fibonacci.py,
fibo2.py,
breakdance.py
|
Lecture 1,
DIP
§2
|
||
22. Mar 30 |
Native types
|
unpack.py
|
Lecture 2,
DIP
§3
|
||
Mon, Mar 30, at 23:59pm | C++ project due, counts 33.33% | ||||
23. Apr 1 🤪 |
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 6 |
Files and exceptions
|
person.py,
student.py,
compare.py,
withexample.py,
output.py,
filepath.py
|
Lecture 4,
DIP
§6
|
||
25. Apr 8 |
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 13 |
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 15 |
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 20 | Tools for programming |
complicated.py
|
Lecture 8
|
||
29. Apr 22 | Traceback; generators |
fibogen.py,
nyse.py
|
Lecture 9
|
||
Wed, Apr 29, at 23:59pm | Python project due, counts 33.33% | ||||
Thursday, May 7, 11:59pm, 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 Erich Kaltofen.