COMP1730/6730: Course content & Schedule
Note that the schedule of lectures is tentative and may change, particularly with respect to guest lecturer availability.
Week 1 (25 February - 3 March)
- Tuesday lecture: Introduction to the course and administrative matters (slides).
- Friday lecture: Functional abstraction (slides).
- Mortgage Repayment Calculator (lecture 1)
- The Robot (lecture 2)
- Stack Boxes Original (lecture 2)
- Stack Boxes Using Functions (lecture 2)
Week 2 (4 - 10 March)
- In Downey: Chapters 1, 2 and 3.
- In Punch & Enbody: Chapter 1 (excluding 1.10) and the beginning of Chapter 6, up to (not including) 6.3.3.
Week 3 (11 - 17 March)
- Note - Monday 11 March is a public holiday (Canberra Day)
- Tuesday lecture: Program control flow, part 1: Branching (slides).
- Friday lecture: Program control flow, part 2: Iteration (slides).
- Print Grade (lecture 5)
- Count Boxes (lecture 5)
- Interval Halving (lecture 5)
- Count Boxes (Again) (lecture 6)
- Function Solving (lecture 6)
- Falcon 9 Example (lecture 6)
- In Downey: Chapter 5, Chapter 6 up to (not including) section “More Recursion”, and Chapter 7.
- In Punch & Enbody: Chapter 2, except the parts about
forloops (for example, section 2.2.13).
Week 4 (18 - 24 March)
- Tuesday lecture: Code quality, testing and debugging (slides).
- Friday lecture: Sequence data types, part 1 (slides).
Both books begin with strings as the first sequence type. We will get to strings in Week 5. However, parts of the relevant chapters describe properties of strings that are in fact common to all sequence types, and can be read without worrying about character representation.
- In Downey: Chapter 8, up to (not including) section “String Methods”.
- In Punch & Enbody: Section 4.1 (sections 4.1.1 and 4.1.2 are specific to strings, and will become relevant in Week 5).
Downey’s book has a section on debugging in every chapter. The advice in the debugging sections of chapters 1 through 8 is all relevant and useful to debugging the kinds of programs we have written so far.
Week 5 (25 - 31 March)
Note: Sunday 31 March is Census data.
- Tuesday lecture: Strings (slides).
- Friday lecture: Floating point numbers (slides).
- In Downey: Chapter 8.
- In Punch & Enbody: Chapter 4. Section 4.4 and 4.7 on string formatting can be skipped.
- The python documentation has a section about floating-point numbers.
- http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html presents a very detailed, quite mathematical, look into floating point number representation and arithmetic.
- Here is a video of a very interesting talk: https://www.youtube.com/watch?v=aP0Y1uAA-2Y. The speaker discusses alternative number systems for representing and computing with fractional numbers. Maybe soon we will not be using floats at all!
Week 6 (1 - 7 April)
- Tuesday lecture: Exam Revision.
- Friday: Data Science (slides).
- There is no new recommended reading for this week.
Week 7 (22 - 28 April)
- Note: Monday 22 April is a public holiday (Easter Monday)
Note: Thursday 25 April is a public holiday (ANZAC Day)
- Tuesday lecture: Sequence data types, part 2 (slides).
- Friday lecture: More about functions.
- In Downey: Chapter 10 (lists). Chapters 3, 5 and 6, and section “Global variables” in Chapter 11 (functions and scope).
- In Punch & Enbody: Chapter 7, except 7.7 (lists). Note: Sections 7.5.2 and 7.9 contain examples that use file reading, which we have not covered yet. You can skip these sections, or just just copy-paste the file-reading code and not worry too much about it. Chapter 6, up to (not including) section 6.3.4; Section 8.1; Section 9.6 (functions and scope).
Week 8 (29 April - 5 May)
- Tuesday lecture: Files and I/O.
- Friday lecture: Dictionaries and Sets.
Week 9 (6 - 12 May)
- Tuesday lecture: Guest lecture TBC
- Friday lecture: Complexity.
Week 10 (13 - 19 May)
- Tuesday lecture: TBC.
- Friday lecture: Errors and exceptions.
Week 11 (20 - 26 May)
- Tuesday lecture: TBC.
- Friday lecture: Python modules and programs.
Week 12 (27 May - 2 June)
Note: Monday 27 May is a public holiday (Reconciliation Day)
- Tuesday lecture: TBC
- Friday lecture: TBC