This page will contain links to lecture slides. I will try to post
these notes after each lecture, but if I haven't posted them by
mid-Thursday morning, please feel free to e-mail me a reminder.
Code examples will be posted to the shared repository. You can
check out the repository using
svn co svn://greywolf.cdf.toronto.edu:7796/200905/csc207h
The slides are printed one to a page, but you should be able to print them in a paper-saving format. For example, Preview on the Macintosh allows printing multiple "pages" on a piece of paper, and we suspect that Adobe's Reader allows the same on a Windows machine. On CDF, the pdfnup command does it.
| Week | Topic(s) | Notes |
| 1 |
Welcome to CSC207H Installing course software Version control Introduction to Java |
Welcome to CSC207H Getting started Version control systems |
| 2 |
Agile programming Systematic testing |
Software Design and Development Systematic testing |
| 3 |
JUnit Arrays & Collections Framework |
JUnit Java Arrays & Collections |
| 4 |
Eclipse, Subclipse Exceptions (no code) Visibility Static vs. instance Overloading Setters and getters |
Not Business As Usual |
| 5 |
Abstract classes Interfaces Coding standards |
See code annotations. |
| 6 |
What is Java?
Abstract classes, Interfaces (example) Java Memory Model |
What Is This Java Thing? The Unreferenced Leaves Garbage Collect At My Feet |
| 7 |
Java Memory Model - more examples More examples of abstract classes |
|
| 8 | Mid-term test | |
| 9 |
Exercise 3 -- what went wrong Mid-term test -- what went right? Regular Expressions |
Regular Expressions |
| 10 |
Examples of Regular Expressions User Documentation |
Writing a User Guide |
| 11 |
Another memory model example Reflection |
A Bit of Reflection |
| 12 |
Design patterns |
Design Patterns |