CS A220 Course Schedule and Homework
WEEK 1: 1/16 - 1/18
Lecture 1: C++ vs. C, data-oriented vs. procedural languages, chess exampleLecture 2: "class" syntax, private data, object-oriented design, in-class: "player" object
Read chapter 1, review structs from CS1
WEEK 2: 1/23 - 1/25
Lecture 3: In-class: continue "player" object; constructor syntax, overloadingLecture 4: Cancelled (Thursday, January 25th)
Read chapters 2-3.
WEEK 3: 1/30 - 2/1
Lecture 5: In-class: write "rational"; operator syntax. Design: independent of application, portability, leanness.Lecture 6: In-class: add lowest_terms (private member), clean up output, const syntax
HW#1: Programming project 3.2 (complex numbers) due Tuesday 2/6.
WEEK 4: 2/6 - 2/8
Lecture 7: Design: language/UI independence, printing/parsing with strings.Lecture 8: In-class: finish rational printing/parsing, intro to string class.
Read about pointers/new/delete in Chapter 7.
HW#2: Complex number printing/parsing due Tuesday 2/13.
You should also turn in a description of your proposed individual semester project before 2/15.
WEEK 5: 2/13 - 2/15
Lecture 9: In-class: first cut at string class, use for "print" and "parse".Lecture 10: In-class: discuss dynamic memory, leaving "resize" function as HW.
Read 4.1-4.3 of the book (abstract data types/arrays).
HW#3: Smart (resizable) string object due Tuesday 2/20.
WEEK 6: 2/20 - 2/22
Lecture 11: In-class: discuss container classes of various types (stack, list, array).Lecture 12: In-class: work on resizable array of strings.
Read 4.6 (stacks).
HW#4: Array of strings object due Tuesday 2/27.
WEEK 7: 2/27 - 3/1
Lecture 13: Discussion of stack implementation, "dc", intro. to group project.Lecture 14: Start semester project in earnest, discussing specific classes, etc.
Review the notion of recursion in Chapter 6.
HW#5: "dc" stacking desk calculator due on Tuesday 3/6.
WEEK 8: 3/6 - 3/8
Lecture 15: Group project (and for all class meetings starting after spring break)The midterm exam is Thursday, March 8th
Read Chapter 13 (trees).
WEEK 9: 3/20 - 3/22
Withdrawal deadline is Friday, March 23rdRead Chapter 10 (object-oriented design).
WEEK 10: 3/27 - 3/29
Design of your individual semester project is due Thursday 4/5.WEEK 11: 4/3 - 4/5
Read Section 12.6 (hash tables).WEEK 12: 4/10 - 4/12
Read handout on exception/error-handling (throw and catch).WEEK 13: 4/17 - 4/19
WEEK 14: 4/24 - 4/26
"Beta version"/testing-plan for individual semester project is due Tuesday, 4/24.WEEK 15: 5/1 - 5/3
Thursday, May 3th is the last day of classFinal release of individual semester project due 5/3.