Prof: Ric Holt, DC 2508, ext 37242 holt @ uwaterloo.ca
Web page: http://plg.uwaterloo.ca/~holt/cs/246/2013
Course will generally follow Buhr slides (some use of Savitch slides?)
Buhr slides: http://plg.uwaterloo.ca/~holt/cs/246/2013/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 or 5th edition.
On reserve: Savitch, various editions, Absolute C++ , DC library.
Call number UWD1566 (check call number)
Wk |
Tuesday |
Buhr slides |
Asgns due
dates 3pm (Mostly Fri ) |
|
1 |
08 Jan |
1. Shell 1.1 File System 1.2 Pattern Matching 1.3 Quoting 1.4 Shell Commands |
|
|
2 |
15 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 |
22 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 |
A1: Deferred to 24 Jan |
4 |
29 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: 01 Feb |
5 |
5 Feb |
+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 |
12 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: 15 Feb |
|
19 Feb |
|
Reading week Feb 18-22 |
|
7 |
26 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] |
|
8 |
5 Mar |
2.24 Inheritance (14)
(15) ... 2.25 Inheritance, Composition |
Review Midterm 05 Mar |
A4: 11 Mar – no lates |
9 |
12 Mar |
2.26 Template, STL (16) (19) 2.27 Namespace |
|
|
10 |
19 Mar |
3. Tools 3.1 C/C++ Composition 3.2 Compilation 3.3 Compiling Complex Programs,
“make” 3.4 Source-Code Mgmt |
13.
14.
Inheritance [2.21] 15.
Polymorph, virtual fcns [2.21] SVN Turner Git Holt |
A5: 22 Mar |
11 |
26 Mar |
+4.7 Design Patterns |
16.
Templates [2.23] 17.
18.
19.
Std template lib [2.23] 20.
UML
slides [2.19] Testing 4.8 Testing Wallace |
|
12 |
2 Apr |
4. Software Engineering 4.1 Software Crisis 4.2 Software Development 4.3 Development Processes 4.4
Software Methodology 4.5 Design Quality 4.6 Design Principles |
SW arch Mancoridis#1 [4.7] Holt CMMI Maturity Holt Scrum process Holt RUP Process Holt |
|
|
|
|
Classes end 08 Apr (Mon) |
A6: 05 Apr |