Winter 2010 SCHEDULE FOR CS246: Software Abstraction and Specification, School of Computer Science, Waterloo University

Prof:     Ric Holt          DC 2508, ext 37242  holt@uwaterloo.ca
Web page:  http://plg.uwaterloo.ca/~holt/cs/246/2010
Savitch slides: http://plg.uwaterloo.ca/~holt/cs/246/2009/slides/PowerPointCpp3e
Buhr notes & slides: http://plg.uwaterloo.ca/~holt/cs/246/2010/slides/buhr 
Main reading and slides from Savitch, 3rd or 4th  edition  --- Course has been following Buhr slides.

Password (supplied in class) required to access Savitch slides

Now on reserve: Absolute C++ (4th Ed.) Savitch at DC library. Call number is UWD1566.

Old exams on-line:  http://plg.uwaterloo.ca/~holt/cs/246/2010/old-exams

Midterm: Will primarily be based on Buhr’s slides, as covered up to time of midterm (but not Section 2.11.4 Routine Pointers and not Section 2.12.3 Random Numbers).

 

Wk

Tuesday

Chapters: Reading assignments, slides

Most Asgna due 3pm Fri

1

05 Jan

Overview

 

 

 

Buhr slides Shell 2-46 (Section 1)

 

2

12 Jan

1. C++ basics

 

 

 

2. Flow of control

A1: 15 Jan

3

19 Jan

3. Function basics

A1: 18 Jan

 

 

4. Parameters, Overloading

 

 

4

26 Jan

5. Arrays

 

 

 

6. Structs & classes

A2: 29 Jan

5

02 Feb

7. Constructors, tools

 

 

 

8. Operator overloading, friends, refs

 

 

6

09 Feb

9. Strings

 

 

 

10. Pointers & dynamic arrays

A3: 12 Feb

 

16 Feb

Reading week Feb 15-19

 

7

22 Feb

11. Separate compilation & namespaces

 

 

 

12. Streams & File I/O

 

 

8

02 Mar

Review

 

 

 

 

Midterm 4:30pm Tues Mar 2

In rooms RCH301, RCH302

A4: 05 Mar

9

09 Mar

Buhr slides Compilation 250-254 (Section 3.1);

Makefiles 275-283 (Section 3.4)

 

 

 

13. Recursion   ???

 

10

16 Mar

14. Inheritance

 

 

 

15. Polymorphism, virtual fcns

A5: 19 Mar

11

23 Mar

16. Templates

 

 

 

17. Linked data structures  ???

 

 

 

 

18. Exception handling  ???

 

 

 

19. Standard template library

 

12

30 Mar

20. UML slides Holt

 

 

 

Design patterns slides  Holt

Replaces Buhr S2.4

 

 

Ritchie/Stroustrup/Gosling

Torvalds on C++

Classes end 05 Apr

A6: 02 Apr

Noon 05 Apr (late not accepted)

Final Exam 12:30pm-3pm Sat Apr 10  RCH 301, 302

Final exam covers all of Buhr’s notes, except the following

            Unions (in S2.3.7.3)

            S2.11.4: Routine pointers

            S4.4: Programming languages

            S2.12.3: Random numbers

            S4.6: Patterns

            S5: Conclusions

(Holt’s UML slides are not covered)

Design patterns are covered, with Holt slides (not Buhr slides)

Programming assignments are also covered by the final exam

(Savitch slides are not covered)

Page last updated: 31 Mar  2010 New changes in RED.