CS 211:
Introduction to Computer Programming II
| Instructor: Brian M. Dennis | |
| Teaching Assistants: | |
| Tom Lechner, Bin Lin | |
| http://www.cs.northwestern.edu/~bmd/cs211/ | |
| 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 | |||
| 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 | ||
| 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 | |||
| 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 | |||
| Will we use Scheme? | ||
| Yes, as a working pseudo code | ||
| Language contrast | ||
| 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 | ||
| 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 | |||
| 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 | ||
| 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 | ||
| Week 7 | ||
| Inheritance | ||
| Polymorphism | ||
| Week 8 | ||
| More polymorphism & inheritance | ||
| Class design | ||
| HW 4 due on Friday | ||
| HW 5 out | ||
| Week 9 | ||
| Templates: syntactic abstraction | ||
| Elements of good programming | ||
| Week 10 | ||
| More elements of good programming | ||
| Wrapup | ||
| HW 5 due Sunday night | ||
| Reading | ||
| Re-read / skim the first chapter of SICP | ||
| Read the first chapter of Deitel & Deitel | ||
| Get your dev environment in shape | ||