Prof: Ric Holt, DC 2508, ext 37242 holt @ uwaterloo.ca
Web page: http://plg.uwaterloo.ca/~holt/cs/246/2012
Course will generally follow Buhr slides (some use of Savitch slides?)
Buhr slides: http://plg.uwaterloo.ca/~holt/cs/246/2012/slides/buhr
Savitch slides: http://plg.uwaterloo.ca/~holt/cs/246/2009/slides/PowerPointCpp3e
Password
(supplied in class) required to access Savitch slides
Also useful: C++ Language Tutorial
Optional reading: Savitch, 3rd or 4th edition.
On reserve: Savitch, 3rd
or 4th edition, Absolute C++ , DC
library. Call number UWD1566 (check call number)
|
Wk |
Tuesday |
Asgns due
dates 3pm (Mostly Fri ) |
||
|
1 |
03 Jan |
1. Shell 1.1 File System 1.2 Pattern Matching 1.3 Quoting 1.4 Shell Commands |
|
|
|
2 |
10 Jan |
1.5 System Commands 1.6 File Permission 1.7 I/O Redirection 1.8 Programming 1.9 Cleanup Script 1.10 Regress Script |
|
|
|
3 |
19 Jan |
2. C++ 2.1 First program 2.2 Program Structure 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 |
Deferred to A1: 19 Jan |
|
4 |
24 Jan |
2.7 Type Construction 2.8 Modularization 2.9 Routine 2.9.1 Arg/Param Passing 2.9.2 Array Param 2.10 Input/Output (12) 2.10.1 Formatted I/O *2.10.2
Unformatted I/O +2.11
Command-line Arguments |
|
A2: 27 Jan |
|
5 |
31 Jan |
+2.12
Preprocessor +2.13
Assertions +2.14
Debugging 2.15 Dynamic Storage (10) |
7. Constructors [2.15.3], tools 8.
Operator overloading [2.13.3], friends, refs |
|
|
6 |
07 Feb |
2.16 Overloading (8) *2.17
Routine Pointer 2.18 Object 2.18.1 Obj Member 2.18.2 Obj Operator member 2.17.3 Constructor (7) 2.18.4 Destructor 2.18.5 Copy Constructor 2.18.6 Initialize const 2.18.7 Static member
2.20 Declaration Before Use 2.21 Encapsulation |
9.
Strings [2.3] 10.
Pointers, dynamic arrays [2.11] |
A3: 10 Feb |
|
7 |
14 Feb |
2.22 System Modelling, UML (20) 2.23 Separate Compilation (11) |
11.
Separate compilation [2.20] & namespaces [2.24] 12.
Streams & File I/O [2.7] |
|
|
|
21 Feb |
|
Reading week Feb 20-24 |
|
|
8 |
28 Feb |
+2.24
Inheritance (14) (15) ... +2.25 Inheritance, Composition |
Review Midterm 4:30pm Tue 28 Feb |
A4: 02 Mar |
|
9 |
06 Mar |
2.26 Template, STL (16) (19) 2.27 Namespace |
|
|
|
10 |
13 Mar |
3. Tools 3.1 C/C++ Composition 3.2 Compilation 3.3 Compiling Complex Programs, “make” |
13.
14.
Inheritance [2.21] 15.
Polymorphism, virtual fcns [2.21] |
A5: 16 Mar |
|
11 |
20 Mar |
*3.4
Source-Code Mgmt 4. Software Engineering 4.1 Software Crisis 4.2 Software Development 4.3 Development Processes |
16.
Templates [2.23] 17.
18.
19.
Std template lib [2.23] CMMI Maturity Holt Scrum process Holt RUP Process Holt SW arch Mancoridis#1 |
|
|
12 |
27 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 02 Apr (Mon) |
A6: 30 Mar |