Outline | People | Reading | Grading | Academics | Homepage |
Course Outline* | |||||
Lecture | Topic(s) | Programs | Book(s), Notes | ||
---|---|---|---|---|---|
C Language | |||||
1. Jan 9 | First program |
helloworld. c helloworld _with _preproc. 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 11 | 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 16 | Functions; the C runtime library | math.c, rand.c, rand2.c | DDC §5.1-8 | ||
4. Jan 18 | Scope of variables, storage classes; separate compilation | StorageClasses/ | DDC §5.12 | ||
5. Jan 23 | Arrays and pointers, args to main | arrays.c, mainarg.c | DDC §6.1-6.5, §6.10, §6.20-22 | ||
6. Jan 25 | Recursion, debugging | Recursion/ | DDC §5.13-18 | ||
7. Jan 30 | strings; scanf, printf, I/O; the preprocessor, macros | scanf.c, types.c | DDC §8, DDC §13 | ||
8. Feb 1 | Typedef, structures, unions, header files; storage allocation, lists | Lists/ | DDC §10.1-5, §10.18, §12.1-4 | ||
9. Feb 6 | Pointers to functions; OO programming in C | ptrs2fncs. c, OO_pgm_in_C_new/ | DDC §7.26 | ||
10. Feb 8 | Catch-up | |
|
||
Thurs, Feb 13 | Wellness Day | ||||
C++ Language | |||||
11. Feb 15 | First C++ program; basic object design: members, constructors, copy, destructors | account. cpp, inherit. cpp | DDC §16; My comparision of C++ and Java | ||
12. Feb 20 | Derivation, inheritance, public, private; polymorphism: overloading of functions and operators; stream I/O | inherit. cpp continued | DDC §18, DDC §19, §21 | ||
Wednesday, Feb 21, at 23:59pm | C project due, counts 33.33% | ||||
13. Feb 22 | Pointers and references, const, static |
swap. cpp
|
DDC §15.8, §17.2, §17.7 | ||
14. Feb 27 | Templates and the STL | templates.cpp/, Lists/ | DDC §17.10, cplusplus.com/reference/stl | ||
15. Feb 29 📅 | STL containers | map.cpp, index.cpp, multi_index.cpp | |||
Mon, Mar 4, 11:59pm Last day to drop the course | |||||
16. Mar 5 | STL iterators | cplusplus.com/reference/iterator | |||
17. Mar 8 | STL algorithms | indir_ sort. cpp | cplusplus.com/reference/algorithm | ||
Mar 11 - Mar 15 | Spring Break, no class | ||||
18. Mar 19 | Advanced topics: virtual member functions; code bloat and how to avoid it; co-routines | Stacks/, coroute.cpp | DDC §20 | ||
19. Mar 21 | Namespaces and inner classes; exceptions; multiple inheritance | exception.cpp; MultInher/; blackbox.cpp | DDC §19.15 | ||
20. Mar 26 | Wrappers/adaptors to existing libraries; traits; partial template specialization |
prof3.h,
main3.cpp,
prof3A.h,
main3A.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
|
||
22. Apr 2 |
Native types
|
unpack.py,
selfprint2.py
|
Lecture 2,
DIP
§3
|
||
Wed, Apr 3, at 23:59pm | C++ project due, counts 33.33% | ||||
23. Apr 4 |
Python as an OO language
|
account.py,
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,
person_lt.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,
geonames3.py,
geonames.xml,
mandel.py,
mandel.png,
newgithub.py,
correlation.py
|
Lecture 7
|
||
28. Apr 23 | Traceback; generators |
fibogen.py,
nyse.py
nyse.csv
|
Lecture 9
|
||
Mon, Apr 29, at 23:59pm | Python project due, counts 33.33%; | ||||
Friday, May 3, 5pm, Grades due | |||||
Not covered | Tools for programming |
complicated.py
|
Lecture 8
|
||
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; please see also NC State CARES ; there is 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, 2021, 2023, 2024 Erich Kaltofen.