Outline | People | Reading | Grading | Academics | Homepage |
Course Outline* | |||||
Lecture | Topic(s) | Programs | Book(s), Notes | ||
---|---|---|---|---|---|
C Language | |||||
1. Jan 11 | 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 13 | Operators; flow of control | DDC §2.5-6; DDC §4; Semicolon before else | |||
3. Jan 18 | Functions; the C runtime library | math.c, rand.c, rand2.c | DDC §5.1-8 | ||
4. Jan 20 | Scope of variables, storage classes; separate compilation | StorageClasses/ | DDC §5.12 | ||
5. Jan 25 | 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. Feb 1 | 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 8 | Pointers to functions; OO programming in C | ptrs2fncs. c, OO_pgm_in_C/ | DDC §7.26 | ||
Wednesday, Feb 9, at midnight | First C project due, counts 33.33% | ||||
Python Language | |||||
10. Feb 10 |
First python program
|
hello.py,
fibonacci.py,
fibo2.py,
breakdance.py
|
Lecture 1,
DIP
§2
|
||
11. Feb 15 |
Native types
|
|
Lecture 2,
DIP
§3
|
||
12. Feb 17 |
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
|
||
13. Feb 22 |
Files and exceptions
|
person.py,
student.py,
compare.py,
withexample.py,
output.py,
filepath.py
|
Lecture 3 review,
Lecture 4,
DIP
§6
|
||
14. Feb 24 |
Python as a functional language
|
nightmare.py,
identity.py,
matrix.py,
listsort.py,
keys.py,
iter.py,
closure.py,
|
Lecture 5,
DIP
§16
|
||
15. Mar 1 |
Tour of the standard library
|
dateformat.py,
dateparse.py,
twitter.py,
regex.py,
log.conf,
log.py,
timeme.py,
program.py,
program_test.py,
|
Lecture 6
|
||
16. Mar 3 |
Overview of common Python packages and where you can find more: lxml,
BeautifulSoup, PIL, NumPy, SciPy
|
geonames.py,
mandel.py,
|
Lecture 7
|
||
Mar 7-11 | Spring break, no class | ||||
NEW Deadline extended: Mon, Mar 21, midnight; was: Monday, Mar 14, at midnight | Python project due, counts 33.33% | ||||
A Brief Introduction to the Java Language | |||||
17. Mar 15 | First Java program; Basic object design: members, constructors, cloning, destructors | account.java, test_acc.java, Inherit/ | DDJ §8 | ||
18. Mar 17 | Derivation, inheritance, public, private | Inherit/ continued | DDJ §9 | ||
19. Mar 22 | Abstract Window Toolkit, the Java 1.0 and 1.1 event models, applets; Panel and Button | Nutshell/ ch6/ First Applet.*, Nutshell/ ch7/ | DDJ §3 | ||
C++ Language | |||||
20. Mar 24 | First C++ program; basic object design: members, constructors, copy, destructors | account. cpp, inherit. cpp | DDC §16; My comparision of C++ and Java | ||
21. Mar 29 | Derivation, inheritance, public, private; polymorphism: overloading of functions and operators; stream I/O | inherit. cpp continued | DDC §18, DDC §19, §21 | ||
22. Mar 31 | Pointers and references, const, static |
DDC §15.8, §17.2, §17.7 | |||
Wednesday, Apr 2, at midnight |
|
||||
23. Apr 5 | Templates and the STL | templates.cpp/, Lists/ | DDC §17.10, SGI's online manual | ||
24. Apr 7 | STL containers | map.cpp, index.cpp | |||
25. Apr 12 | STL iterators | ||||
26. Apr 14 | STL algorithms | indir_ sort. cpp | |||
27. Apr 19 | Advanced topics: virtual member functions; code bloat and how to avoid it | Stacks/ | DDC §20 | ||
Mar Apr 21-22 | Spring Holiday, no class | ||||
28. Apr 26 | Namespaces and inner classes; exceptions; multiple inheritance | exception.cpp; MultInher/ | DDC §19.15 | ||
29. Apr 28 | Wrappers/adaptors to existing libraries; traits |
prof3.h
|
N. Myers report on traits | ||
Thurs, May 12, at 17h00 | C++ 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
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 Erich Kaltofen.