| Days | Topics | Resources | Files | Homework |
| 5/28 (JS) | C Overview & Basics: Types, Operators, Control
Statements, Basic I/O; Unix basics, compiling |
C Chapters 1-3, 7, Appendix A; learning and using
unix: CS undergrad/class
accounts, Unix
Overview, reference
card, C tutorial |
day01.txt, gpa.c |
|
| 5/30 (JD/JS) | More C Basics, Execution Environment; using gdb for debugging |
Here is a gdb reference card.
|
day02.txt,
encrypt.c |
Homework 1 |
| 5/31 (JS/JD) |
More I/O, Files |
C Chapter 7 |
day03.txt, colorChart1.c |
|
| 6/3 (JS) |
C Functions & Program Structure; makefiles |
C Chapter 4, Appendix
B, nice Makefile tutorial |
day04.txt, variables1.c, variables.c
corrected
version, myRand.h, myRand.c, testRand.c, Makefile, MakeRand |
Homework 2 |
| 6/4 (JD) |
Arrays & Pointers; gprof, gcov |
C Chapter 5 |
day05.txt, see James' pointers
folder on Bitbucket |
|
| 6/6 (JD) |
Strings & Dynamic Memory Allocation; valgrind |
C Chapter 5, Binky
the Pointer video |
day06.txt, see James'
strings_memory folder on Bitbucket, strings.c, alloc.c |
Homework 3 |
| 6/7 (JS) |
Structs; indent |
C Chapter 6 |
day07.txt,
structs.c, structsFail.c, structs2.c,
Player.h, updated game.c |
|
| 6/10 (JS) |
Linked lists; testing |
Wikipedia |
day08.txt, list.h,
list.c, listDriver.c,
Makelist |
Homework 4 |
| 6/11 (JD) |
Block I/O; git version control |
C Chapter 8 |
See James' "blockio" folder on BitBucket. Review git commands in
the "io" notes. |
Extra Credit |
| 6/13 (JS) | C++ basics, templates and the STL |
C++ Chapters 0-7, Appendices A & B |
extra C
topics, day10.txt, start.cpp,
gpa.cpp, containers.cpp |
Homework 5 |
| 6/14 (JS) |
Function Templates, Writing C++ Classes |
C++ Chapters 8-9 |
day11.txt, FirstClass.h, FirstClass.cpp, FirstClassMain.cpp, BagMain.cpp,
Bag.h, Bag.cpp |
|
| 6/17 |
Midterm on
Monday - C material only, in Shaffer 101 | review | |
|
| 6/18 (JD) | C++ Memory Management & Template
Classes | C++ Chapters 10-11 | see James' files in the
memory folder on BitBucket; also look at these files for an example of a
templated class with a friend iterator that uses a linked list:
Node.cpp, Set.cpp,
SetIter.cpp, SetMain.cpp, SetMake
|
Homework 6 |
| 6/20 (JS) | C++ I/O & Operator Overloading | C++ Chapter
12, Appendix B.1 | day14.txt, BagOpMain.cpp,
BagOp.h, BagOp.cpp Rational.h, Rational.cpp, RatMain.cpp |
|
| 6/21 (JD) | C++ Inheritance & Polymorphism | C++
Chapters 13-14
| see James' "inheritance" folder on Bitbucket for notes and examples |
Homework 7 |
| 6/24 (JS) | Exception Handling; Teamwork | C++ Chapter 4 |
day16.txt, exceptions
directory with inheritance and exception throwing examples |
|
| 6/25 (JD) | Object Oriented Design, Misc | C++ Chapters 15-16
| See James' "misc" folder on Bitbucket |
|
| 6/27 |
Final
exam | C++ material |
|
prep demo, partner evaluation |
| 6/28 | Project Presentations | |
  |
course evaluations |