A note of the form "(Richard 5)" means that the lecture is by
Richard and covers material from Chapter 5 of the textbook.
|
| Week 1 |
19 July |
Lecture 1 |
Course introduction [PDF] |
Assignment 1 handed out |
| 20 July |
Lecture 2 |
State of software development (Malcolm 1) [PDF] |
|
| 22 July |
Lecture 3 |
State of software development (Malcolm 1) [PDF] |
|
| |
|
|
|
| Week 2 |
26 July |
Lecture 4 |
Java basics (Richard 2) [PDF] |
|
| 27 July |
Lecture 5 |
Objects and classes (Richard 3) [PDF] |
|
| 29 July |
Lecture 6 |
Arrays and strings (Richard 4) [PDF] |
Assignment 2 handed out |
| |
Lab 1 |
|
|
| Week 3 |
2 August |
Quiz 1 |
|
|
| 3 August |
Lecture 7 |
Array algorithms and their analysis, part 1 (Richard 5) [PDF] |
|
| 5 August |
Lecture 8 |
Array algorithms and their analysis, part 2 (Richard 5) [PDF] |
|
| |
Lab 2 |
|
|
| Week 4 |
9 August |
Lecture 9 |
Array algorithms and their analysis, part 3 (Richard 5) [PDF] |
Assignment 1 due |
| 10 August |
Lecture 10 |
Abstract data types and their implementation, part 1 (Richard 6) [PDF] |
|
| 12 August |
Lecture 11 |
Abstract data types and their implementation, part 2 (Richard 6) [PDF] |
|
| |
Practical exam |
|
|
| Week 5 |
16 August |
Lecture 12 |
Abstract data types and their implementation, part 3 (Richard 6) [PDF] |
|
| 17 August |
Lecture 13 |
List fundamentals, part 1 (Clem 7) [PDF] |
|
| 19 August |
Lecture 14 |
List fundamentals, part 2 (Clem 7) [PDF] |
|
| |
Lab 3 |
|
|
| Week 6 |
23 August |
Quiz 2 |
|
|
| 24 August |
Lecture 15 |
List fundamentals, part 3 (Clem 7) [PDF] [Code] |
|
| 26 August |
Lecture 16 |
Recursion, part 1 (Clem 10) [PDF] |
|
| |
Lab 4 |
|
|
| Week 7 |
30 August |
Lecture 17 |
Recursion, part 2 (Clem 10) [PDF] [Code] |
|
| 31 August |
Lecture 18 |
Stacks (Clem 9) [PDF] |
|
| 2 September |
Lecture 19 |
Trees, part 1 (Clem 13) [PDF] |
|
| |
Lab 5 |
|
|
| Week 8 |
6 September |
Lecture 20 |
Trees, part 2 (Clem 13) [PDF] |
Assignment 2 due |
| 7 September |
Lecture 21 |
Trees, part 3 (Clem 13) [PDF] |
|
| 9 September |
Lecture 22 |
Queues (Clem 11) [PDF] |
Assignment 3 handed out |
| |
Mid-semester quiz |
|
|
| Lecture break |
|
| Week 9 |
27 September |
Quiz 3 |
|
|
| 28 September |
Lecture 23 |
Object-oriented development: an example, part 1 (Malcolm 12) [PDF] |
|
| 30 September |
Lecture 24 |
Object-oriented development: an example, part 2 (Malcolm 12) [PDF] |
|
| |
Lab 6 |
|
|
| Week 10 |
4 October |
No lecture |
Labour Day |
|
| 5 October |
No lecture |
|
|
| 7 October |
Lecture 25 |
Object-oriented development: an example, part 3 (Malcolm 12) [PDF] |
|
| |
Lab 7 |
|
|
| Week 11 |
11 October |
Lecture 26 |
Object-oriented development: an example, part 4 (Malcolm 12) [PDF] |
|
| 12 October |
Lecture 27 |
Mid-semester quiz review (Richard) |
|
| 14 October |
Lecture 28 |
Principles of software design, part 1 (Malcolm 15) [PDF] |
Assignment 3 due |
| |
Lab 8 |
|
|
| Week 12 |
18 October |
Lecture 29 |
Principles of software design, part 2 (Malcolm 15) [PDF] |
|
| 19 October |
Lecture 30 |
Principles of software design, part 3 (Malcolm 15) [PDF] |
|
| 21 October |
Lecture 31 |
Principles of software design, part 4 (Malcolm 15) [PDF] |
|
| |
Lab 9 |
|
|
| Week 13 |
25 October |
Lecture 32 |
Software testing (Malcolm 16) [PDF] |
|
| 26 October |
Lecture 33 |
Exam preparation |
|
| 28 October |
No lecture |
|
|
| |
|
|
|
|