Schedule
Date In Class Readings Assignments
1/29 Review syllabus and begin Ch1 slides. Clock class: header, implementation, driver. Start Ch1: Software engineering (p1-15, skim), Classes (p15-44, important). Ch1 exercises 12, 13, 14. Programming exercise 5.
1/31 Meet in lab to work on clock exercise. Soln: header, implementation. driver Hints for using C++ with projects.    
2/1 Constructors: clock2.cpp. Person class: person.h, personImp.cpp, persondr.cpp. Complex class: complexType.h, complexType.cpp, testComplex.cpp. Note the 2 constructors.   Add a function to personType to return a last name. A bowl of fruit contains apples and oranges. How might you define a class to represent it and what functions should it have?
2/4 Adding apples and oranges (FruitType): driver, .h, .cpp,.    
2/6 Begin Ch2 slides. Inheritance: person2.h, student.h, studentImp.cpp, studentdr.cpp. Inheritance with private: personp.h, youth.h, youthdr.cpp.
Begin Ch2 reading. Skim 69-86. Ch2 exercises 3, 4, 5, 9, 11-14.
2/8 Compiler directives: person2c.h
Overloading: complex.h complex.cpp testComplex.cpp.
Pointer this: personType.h, personTypev.h, personImp.cpp, personImpv.cpp.
  Redo fruitType with overloading.
2/11 Templates: listType.h, listdr.cpp. Go to lab to overload apples and oranges. driver, .h, .cpp.    
2/13 Begin Ch3 slides. Ch3 p 133-151. Careers  
2/15 const.   Ch3 2-5, 7-8
2/18 this (example). Continue Ch 3 slides.   Discuss Ch3 problems 2 and 3 Wednesday (template). (ans)
2/20 Ch3 problems 2 and 3 Continue Ch 3 slides.    
2/22 Ch5 slides. Ch 5 p. 273-317.  
2/25 Continue Ch5. Linked lists.    
2/27 Exercise: add printFirst and printLast to this (ans 1, 2). Linked List ADT: linkedList.h, driver.    
2/29 Linked List ADT: linkedList.h, driver. Linked list of person, driver.    
3/3 Ch6 slides. Ch 6: read p367-378, skip examples 6-3 (Fibonacci) and 6-4 (Hanoi), read example 6-5. Ch 6: 7, 9, 10, 11.
3/7 What is a CAPTCHA? Have you ever played the ESP game?.    
3/10 Finish Ch6. Ch 5 and 6 exercises.    
3/12 Begin Ch7 slides. Ch 7 p. 407-460. Ch 7: 1-7.
3/14 Exam 1 comments, 2007 exam, answers: 1-7, camel.h, cameldriver.cpp. 2007 exam.
2008 answers: 1-9, frog.h, frog.cpp.
   
3/24 Stack with an array. Postfix. Visual C++ 2008 download.    
3/28 Guest speaker: Sol Robson.    
3/31 Stack with a linkedlist. readreal.cpp, flowchart.    
4/2 Ch8 slides. Queue with an array, driver. Ch 8 p. 469-491, 498-517.  
4/4 testSimulation.cpp, Simulation.h.    
4/7 Exercise, solution 1, 2.    
4/9 Ch9 slides. Ch 9 p. 523-532, 538-539.  
4/11 Hashing function. More recursion. assn6n.cpp linkedList.h, orderedArrayList.h.   Ch 10 p.559-581
4/14 Ch10 slides.    
4/16 Begin Ch11 slides. Ch 11 p.631-666.  
4/18 binaryTree.h, questions.    
4/21 binarySearchTree.h, questions.    
4/23 Drivers for trees of integer; people; and words, person.h, wordtype.h, Sample words.    
4/25 Work in lab.    
4/28 A struct for heap (heap.h).    
4/30 Heap sort driver, heapsort.h.    
5/1 Priority Queue; priority queue, driver.    
5/5 Exam 2 comments, 2008 ans. 2007, 2007 ans.    
5/7 Student presentations: Van. Graphs.    
5/13 Final Exam Sample final exam.

Optional report on careers: adds up to 6 points to your programming assignments total.
Homework answers, chapter 1, 3, 4, 5, 7, 8, 9.