| Week | Lecture | Topics | Readings | Lab |
|---|---|---|---|---|
| 1 | 1 | Note 1: Languages Note 2: Basic Ruby |
Ruby
in Twenty Minutes Programming Ruby: Ruby.new |
Prep: Assignment
0 Lab 1: Baseball Due 3/13 |
| 2 | Note 3: [2..Ruby] | Programming Ruby ..Standard Types | ||
| 3 | Assignment: Homework 1 Continue note 3 | |||
| 2 | 1 | Note 4: Classier Ruby | Lab 2: Ruby text
analysis Due 3/20 |
|
| 2 | Note 5: C++ 101 | Stroustrup 1-1.3 | ||
| 3 | C++ functions, scope and lifetime | Stroustrup 1.4-1.7 | ||
| 3 | 1 | Quiz 1, part a Note 5: arrays, pointers |
Stroustrup 1.8-1.9 | Lab 3: Histograms in C++ Due 4/4 |
| 2 | Note 5: arrays, pointers | |||
| 3 | No class | |||
| Spring break! | ||||
| 4 | 1 | Note 6: classes | Stroustrup 2.3 | Lab 4: SIC Due 4/11 |
| 2 | Linked list in C++ | |||
| 3 | Note 7: #include and separate compilation | Stroustrup 3-3.2 | ||
| 5 | 1 | Namespaces, exceptions, assertions | Stroustrup 3.3-3.5 | Lab 5: Appointments Due 4/18 |
| 2 | Midterm exam | |||
| 3 | Note 8: C++ with Class | Stroustrup Ch. 4 through 4.3 | ||
| 6 | 1 | Note 8 continued | Lab 6: Wumpus Hunt Due 5/2 |
|
| 2 | Note 8, continued | |||
| 3 | Note 9: Templates | Stroustrup 5-5.4, 5.8 | ||
| 7 | 1 | Note 10: Overloading/copy/move, STL, strings | Stroustrup 4.5-4.6, 6, 7.1 | Lab 6, continued |
| 2 | Note 10 continued | |||
| 3 | Note 11: Streams, file processing | Stroustrup Ch. 8 | ||
| 8 | 1 | Note 11; Note 12: Containers, algorithm, utilities | Stroustrup Ch. 9, 10, 11 | Lab 7: editing Due 5/9 |
| 2 | Note 13: C | |||
| 3 | Note 13: C | |||
| 9 | 1 | Note 14: structs, unions, assembly | Lab 8: ticketing Due 5/16 |
|
| 2 | Note 14, continued | |||
| 3 | Note 15: Types | SmashingMagazine: intro to type systems | ||
| 10 | 1 | Note 16: Ruby Blocks | Lab 9: reverse
phonebook Due 5/23 at noon |
|
| 2 | Functional programming in Ruby | |||
| 3 | Review | |||