Date | Topic | Skills | Reading | Worksheet | |
4th June 2007 |
| #1: Language Critique | Sebesta, chapters 1.2 and 1.3 | Worksheet #1 | |
5th June 2007 |
| #2: Syntax | Sebesta, chapter 3 up to and including 3.3.1.9 | Worksheet #2 Appendix A | |
6th June 2007 |
| #2: Syntax #3: Denotational Semantics | Handout A | Worksheet #3 | |
7th June 2007 | Bindings and Lifetime | #4: Bindings and Lifetime | Sebesta, chapter 5 up to and including 5.4.3.4 You may skip 5.4.2.3, we will return to it later. | Lab exercise: Worksheet #4 | |
11th June 2007 | Parameter Passing and Scoping | #5: Scoping #6: Parameter Passing | Sebesta, chapters 9 through 9.5.2 (inclusive), and 5.8 through 5.10 (inclusive) | Worksheet #5 | |
12th June 2007 | Types I.1: Type checking and equality | #7: Basics of Types | Handout B: Type Checking Sebesta, chapters 6.2 up to 6.2.1.1 (inclusive) and 6.4 |
Lab exercise: Worksheet #6 | |
13th June 2007 | Types I.2:
|
#8: Arrays #9: Pointers and References |
Sebesta, chapter 6.5 up to 6.5.5 (inclusive) and 6.6 Sebesta, chapter 6.9 up to 6.9.6 (inclusive), and 6.9.8.3 (don't worry too much about tombstones) | Worksheet #7 | |
14th June 2007 | Types I.3: Union types and basic subtyping | #7: Basics of types #10: Subtyping |
Handout D: Subtyping (pp 1-3) Sebesta, chapter 6.8 Optional: Handout C: Set types Sebesta, chapter 6.7 |
Lab exercise: Worksheet #8 | |
18th June 2007 | Control Constructs | #11: Control Constructs | Sebesta, chapter 8 up to and including 8.3 | ||
19th June 2007 | Mid-term Examination | All of the above | |||
20th June 2007 | Subprograms, Operators and Overloading | #12: Subprograms | Sebesta, chapters 7.2.1.5 through 7.3 (inclusive) Sebesta, chapters 9.6 and 9.7 Sebesta, chapter 7.7 |
Lab exercise: Worksheet #9 | |
21th June 2007 | Functional Programming | #13: Functional Programming | Harper's ML tutorial, chapters 2-4 (inclusive) | Lab exercise: Worksheet #10 |
|
25th June 2007 | Functional Programming continued Types II
|
#13: Functional Programming #14: Advanced Types (functional) |
Harper's ML tutorial, chapters 5, 8-11 (inclusive) | Lab exercise: Worksheet #11 |
|
26th June 2007 | Types III: Advanced subtyping, Object-Oriented Basics | #17: Advanced Types (object-oriented) #16: Object-Oriented Programming |
Handout D: Subtyping (pp 3,4) Sebesta, chapter 12 up to (including) 12.3.4 Sebesta, chapters 12.5 up to 12.5.3 (inclusive) |
Worksheet #12 | |
27th June 2007 | Object-Oriented Programming | #17: Advanced Types (object-oriented) #16: Object-Oriented Programming |
Handout G Sebesta, chapter 12.6 Sebesta, chapter 12.11 |
Lab exercise:
Worksheet #13 Source code: |
|
28th June 2007 | Abstract Datatypes and Generic Programming | #15: Abstract Datatypes | Sebesta, chapter 11 until 11.2 (inclusive) Handout F Sebesta, chapters 11.4.2, 11.4.3 Sebesta, chapters 11.5.2, 11.5.3 |
Lab exercise: Worksheet #14 | |
2nd July 2007 | Exception Handling | #18: Exceptions | Sebesta, chapter 14 until 14.1 (inclusive) Sebesta, chapters 14.3 and 14.4 |
Worksheet #15 | |
3rd July 2007 |
|
||||
4th July 2007 | Independence day | ||||
5th July 2007 | Final Exam | All of the above |