Outline | People | Reading | Grading | Academics | Homepage |
Course Outline* | |||||
Lecture | Topic(s) | Programs | Book(s), Notes | ||
---|---|---|---|---|---|
C Language | |||||
1. Aug 17 | First program | first_ pgm. c | DD §2.1-3 | ||
2. Aug 19 | Running a program from a web browser | first_ pgm_ cgi. c, first_ pgm. html | |||
3. Aug 21 | Operators | DD §2.5-6 | |||
4. Aug 24 | Flow of control | DD §4; Semicolon before else | |||
5. Aug 26 | Functions; the C runtime library | math.c, rand.c | DD §5.1-8 | ||
6. Aug 28 | Scope of variables, storage classes; separate compilation | StorageClasses/ | DD §5.12 | ||
7. Aug 31 | Arrays and pointers, args to main | arrays.c, mainarg.c | DD §6.1-6.5, §6.10, §6.20-22 | ||
8. Sep 2 | Recursion, debugging | Recursion/ | DD §5.13-18 | ||
9. Sep 4 | strings; scanf, printf, I/O | scanf.c | DD §8 | ||
Monday, Sep 7 | Labor Day, no class | ||||
10. Sep 9 | The preprocessor, macros | types.c | DD §13 | ||
11. Sep 11 | Enum, typedef, structures, unions, header files | Lists/ | DD §10.1-5, §10.18 | ||
Friday, Sep 11, at midnight | First C project due, counts 16.67% | ||||
12. Sep 14 | Storage allocation; lists | DD §12.1-4 | |||
13. Sep 16 | Catch-up | ||||
14. Sep 18 | Pointers to functions | ptrs2fncs. c | DD §7.26 | ||
15. Sep 21 | OO programming in C | OO_pgm_in_C/ | |||
C++ Language | |||||
16. Sep 23 | First C++ program | account. cpp | |||
17. Sep 25 | Basic object design: members, constructors, copy, destructors |
inherit. cpp | DD §16 | ||
18. Sep 28 | Derivation, inheritance, public, private | inherit. cpp continued | DD §19 | ||
19. Sep 30 | Polymorphism: overloading of functions and operators; stream I/O | DD §18, §21 | |||
20. Oct 2 | Pointers and references, const, static |
DD §15.8, §17.2, §17.7 | |||
21. Oct 5 | Templates and the STL | Lists/ | DD §17.10, SGI's online manual | ||
Tuesday, Oct 6, at 5pm | Second C project due, counts 16.67% | ||||
22. Oct 7 | STL containers | map.cpp, index.cpp | |||
23. Oct 9 | STL iterators | ||||
Monday, Oct 12 | Holiday Day, no class | ||||
24. Oct 14 | STL algorithms | indir_ sort. cpp | |||
25. Oct 16 | Code bloat and how to avoid it | ||||
26. Oct 19 | Advanced topics: virtual member functions | Stacks/ | DD §20 | ||
27. Oct 21 | Namespaces and encapsulation | ||||
28. Oct 23 | Exceptions | exception.cpp | |||
29. Oct 26 | Multiple inheritance | DD §19.15 | |||
30. Oct 28 | Wrappers/adaptors to existing libraries; traits | ||||
Java Language | |||||
31. Oct 30 | First Java program | account.java, test_acc.java | My comparision with C++ | ||
32. Nov 2 | Basic object design: members, constructors, cloning, destructors |
Inherit/ | Nut §3 | ||
33. Nov 4 | Derivation, inheritance, public, private | Inherit/ continued | Nut §3 | ||
34. Nov 6 | Abstract methods | Stacks/ | Nut §3 | ||
Friday, Nov 6, at 5pm | C++ project due, counts 33.33% | ||||
35. Nov 9 | STL-like packages | Lists/ | Object Space's Java Generic Library | ||
36. Nov 11 | Catch-up; exceptions; inner classes | exception.java | Nut §2 | ||
37. Nov 13 | Abstract Window Toolkit, the Java 1.0 and 1.1 event models, applets; Panel and Button | Nutshell/ ch6/ First Applet.*, Nutshell/ ch7/ | Nut §6-7 | ||
38. Nov 16 | AWT continued: Frame, Canvas, Checkbox, CheckboxGroup, Label | CheckboxTest. java | |||
39. Nov 18 | AWT continued: TextField, ScrollBar, Color | Scroll Test. java, Scroll Test _1 _1. java | |||
40. Nov 20 | AWT continued, Java archive files | Graphdraw/ | |||
41. Nov 23 | Serialization, reflection | Nutshell/ ch09/, Nutshell/ ch12/ | Nut §9, §12 | ||
42. Nov 25 | Java beans | Nutshell/ ch10/ | Sun's BDK, Nut §10 | ||
Thursday-Friday, Nov 26-27 | Thanksgiving, no class | ||||
43. Nov 30 | Native methods | ||||
44. Dec 2 | Multiple threads | Threads/ | Sun tutorial | ||
45. Dec 4 | Systems programming: sockets | ||||
Monday, Dec 14, at 5pm | Java project due, counts 33.33% |
I am using
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
Late submissions: All programs must be submitted on time. The following penalties are given for (unexcused) late submissions:
©1998 Erich Kaltofen. Permission to use provided that copyright notice is not removed.