| 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.