CS246: Schedule (original) (raw)
Winter 2011 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/2011
Course will generally follow Buhr slides (some use of Savitch slides)
Buhr slides: http://plg.uwaterloo.ca/~holt/cs/246/2011/slides/buhr
Savitch slides: http://plg.uwaterloo.ca/~holt/cs/246/2009/slides/PowerPointCpp3e
Password (supplied in class) required to access Savitch slides
Optional reading: Savitch, 3rd or 4th edition.
**On reserve:**Savitch, 3rdor 4th edition, Absolute C++ , DC library. Call number UWD1566
Old midterm exams on-line: http://www.student.cs.uwaterloo.ca/~cs246/current/exams/
Old final exam on-line: http://plg.uwaterloo.ca/~holt/cs/246/2011/old-exam
Exam emphasis: Items with a star (*) are particularly emphasized, but all material in slides, lectures, tutorials, assignments and lectures may be covered in the exam.
Wk | Tuesday | Buhr slides | Savitch Slides | Most Asgns due 3pm Fri |
---|---|---|---|---|
1 | 04 Jan | *1. Shell *1.1 File System *1.2 Pattern Matching *1.3 Quoting *1.4 Shell Commands | ||
2 | 11 Jan | *1.5 System Commands *1.6 File Permission *1.7 I/O Redirection *1.8 Programming | ||
3 | 18 Jan | 2. C++ *2.1 Program Structure *2.2 First Program *2.3 Declaration ... string (9), reference ... 2.4 Expression *2.5 Control Constructs 2.6 Structured programming | 1. C++ basics 2. Flow of control 3. Function basics 4. Parameters, Overloading 5. Arrays 6. Structs & classes | A1: 18 Jan |
4 | 25 Jan | *2.7 Input/Output (12) *2.7.1 Formated I/O 2.7.2 Unformated I/O *2.8 Command-line Arguments *2.9 Preprocessor 2.10 Debugging *2.11 Dynamic Storage (10) | A2: 28 Jan | |
5 | 01 Feb | *2.12 Modularization *2.13 Routine 2.13.1 Arg/Param Passing 2.13.2 Array Param 2.13.3 Overloading (8) |
*7. Constructors [2.15.3], tools 8. Operator overloading [2.13.3], friends, refs | |
6 | 08 Feb | 2.15.3 Constructor (7) 2.15.4 Destructor 2.15.5 Copy Constructor 2.15.6 Initialize const |
* 9. Strings [2.3] * 10. Pointers, dynamic arrays [2.11] | A3: 11 Feb |
7 | 15 Feb | *2.19 System Modelling, UML (20) *2.20 Separate Compilation (11) | 11. Separate compilation [2.20] & namespaces [2.24] *12. Streams & File I/O [2.7] | |
22 Feb | Reading week Feb 21-25 | |||
8 | 01 Mar | 2.21 Inheritance (14) (15) ... 2.22 Has-a, Is-a | Review Midterm 4:30pm Tue 01 Mar | A4: 04 Mar |
9 | 08 Mar | *2.23 Template, STL (16) (19) *2.24 Namespace | ||
10 | 15 Mar | 3. Tools *3.1 C/C++ Composition *3.2 Compilation *3.3 Compiling Complex *Programs, “make” |
13. |
A5: 18 Mar |
11 | 22 Mar | 3.5 Debugger * 4. Software Engineering *4.1 Software Crisis *4.2 Software Development *4.3 Development Processes | 16. Templates [2.23] 17. |
|
12 | 29 Mar | *4.4 Software Methodology *4.5 Design Quality 4.6 Design Principles *4.7 Design Patterns *4.8 Testing | 20. UML slides [2.19] Holt *Design patterns slides [4.7] Holt | |
Classes end 04 Apr (Mon) | A6: 01 Apr |