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