CS 211:
Introduction to Computer Programming II
Instructor: Brian M. Dennis
Teaching Assistants:
Tom Lechner, Bin Lin
http://www.cs.northwestern.edu/~bmd/cs211/

Administrivia
Class Meetings
MWF Lecture
Tu discussion
11:00 – 11:50
Tech A110
Attendance
Not a stickler, but regular attendees generally do better
Contact
bmd@cs.northwestern.edu
Working on Tom & Bin

Administrivia
Grading
50% Programming Labs
15% 5 written homeworks
15% Midterm exam
20% Final exam
Late policy
1 day, 10% off / 90% max
2 days, 20% off / 80% max
3 days, 40% off / 60% max

Administrivia
Textbook
“C++ How to Program” Deitel & Deitel 4th edition
No guarantee about 3rd edition
Seemed to work out for a few last year
2nd edition is probably too far out of sync
Pros
Thorough
Lots of code examples
Cons
Expensive
Lots of noise

Administrivia
Working platforms
Win32
Linux
Cygwin
Easiest paths
Visual C++ 6.0  in book
Use CS TLab
MSDN AA
CS TLab
Location
1st floor of 1890 Maple
Getting access
Win XP Pro
Visual C++ 6.0
Linux Redhat 9.0
G++ 3.0

Administrivia
Will we use Scheme?
Yes, as a working pseudo code
Language contrast

Philosophy
Have fun
Introduce systems programming
Intro to C++/C
Intro dev tools
Introduce computer science
We’re here for you
Get your money’s worth!!
Mostly no curve
A
Sustained excellent work
B
Reasonable effort
Good performance
C
Major gaps
D/F
Didn’t show for exams
Didn’t turn in homeworks

Overview
Week 1
SICP, 3 essential things in any language
Expressions
Combination
Abstraction
Examine in C++ context
Intro to C++ dev environments
HW 1 out on Friday
Week 2
Control flow constructs
Introduce arrays & pointers
One of the tougher areas of the course
HW 1 due on Friday
HW 2 out on Friday

Overview
Week 3
More pointers & arrays
Structs: simple C++ data abstraction
Week 4
Classes: sophisticated C++ data abstraction
HW 2 due on Friday
HW 3 out on Friday

Overview
Week 5
Classes: wrapup basics
Midterm Quiz, Wednsday
Week 6
Syntactic extension
C++ stream I/O
HW 3 due on Friday
HW 4 out on Friday

Overview
Week 7
Inheritance
Polymorphism
Week 8
More polymorphism & inheritance
Class design
HW 4 due on Friday
HW 5 out

Overview
Week 9
Templates: syntactic abstraction
Elements of good programming
Week 10
More elements of good programming
Wrapup
HW 5 due Sunday night

That’s a Wrap
Reading
Re-read / skim the first chapter of SICP
Read the first chapter of Deitel & Deitel
Get your dev environment in shape