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 Variables 1.9 Arithmetic 1.10 Programming 1.11 Cleanup Script 1.12 Regress Script |
|
|
3 |
17 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 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, 2.22.1 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 3.5 Debugger 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 |