CIS 399 C/C++ and Unix

Fall 2003 Syllabus


CIS 399 C/C++ Home Page Last updated 2003/12/03 10:00:20

       Week        Topics Reading
Week 1
9/29 - 10/3
  • Introduction and Overview
  • Differences between C++ and Java
  • Compiling a C++ program
  • Header Files
  • C++ Input and Output
  • Other libraries
On to C++, Sections 1 - 5
A paper by Dennis Ritchie on the development of C
A bit of philosphy and history of C++ from Stroustrup's book.
A Tour of C++ from Stroustrup's book.
Sun C/C++ documentation
Selected lecture notes
Week 2
10/6 - 10/10
  • Programming Style
  • Preprocessor Directives
  • Arrays, Pointers, and References
  • Constant objects
Practice of Programming, Chapters 1 and 2
On to C++, Sections 6, 7, 8, 23-29, 37
A tour of the standard C++ library from Stroustrup's book.
Selected lecture notes
Week 3
10/13 - 10/17
  • More on Arrays and Pointers
  • Dynamic heap allocation
  • Function Pointers

Selected lecture notes
Right-left rule for declarations
Example args.c
Example istackTest.c, istack.h istack.c
Week 4
10/20 - 10/24
  • C++ Classes
  • Constructors and Destructors
  • Operator Overloading
  • Copy Constructors and Assignment
  • Coding a string class
On to C++, Sections 9-13, 28, 32, 38, 43,44
Example MyString.h and MyString.c and stringtest.c
Week 5
10/17 - 10/31
  • Review for midterm
 
Monday, November 3 Midterm Exam
Week 6
11/3 - 11/7
  • Unix makefiles
  • Unix shells: sh, ksh, csh, tcsh
  • Programming in the shell
  • Unix tools: diff, sed, awk, sort, tar, cscope
  • Version control - SCCS and RCS

Selected lecture notes on makefiles
Selected lecture notes on shells and tools
GNU make overview and manual.  
Week 7
11/10 - 11/14
  • Inheritance
  • Virtual Functions
  • Access control - public, protected, private, friend
On to C++, Sections 14-16, 33-35, 48
Selected lecture notes
Example Shape.h, shapetest.c, IntStack.h and stacktest.c
Week 8
11/17 - 11/21
  • Templates
  • Namespaces
On to C++, Sections 49
Selected lecture notes
Template tutorial
Namespace tutorial
Example Sort.h, sorttest.h, Set.h and settest.h
Week 9
11/24 - 11/26
  • Exceptions
 
Selected lecture notes
Example IntArray.h, exceptiontest.c
Week 10
12/1 - 12/5
  • Debugging
  • Testing
  • Efficiency
  • Portability
  • Memory allocation
  • Smart pointers
Practice of Programming, Chapters 5 - 8
Selected lecture notes
Practice questions for the final and answers.
Tuesday, December 9 3:15 PM Final Exam


datkins@uoregon.edu

Last updated 2003/12/03 10:00:20