Note that the schedule of lectures is tentative and may change, particularly with respect to guest lecturer availability.

Week 1 (25 February - 3 March)#

Lectures:

  • Tuesday lecture: Introduction to the course and administrative matters (slides).
  • Friday lecture: Functional abstraction (slides).

Code:

Week 2 (4 - 10 March)#

Lectures:

  • Tuesday lecture: Values, types and expressions (slides).
  • Friday lecture: Functions (slides).

Code:

Reading guide:

  • 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)

Lectures:

  • Tuesday lecture: Program control flow, part 1: Branching (slides).
  • Friday lecture: Program control flow, part 2: Iteration (slides).

Code:

Reading guide:

  • 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 for loops (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).

Reading guide:

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).

Reading guide:

Week 6 (1 - 7 April)#

  • Tuesday lecture: Exam Revision.
  • Friday: Data Science (slides).

Reading guide:

  • There is no new recommended reading for this week.

Break#

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 (slides).

Reading guide:

  • 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 (slides).
  • Friday lecture: Dictionaries and Sets (slides).

Reading guide:

  • In Downey: Chapter 14, up to section 14.4 “Catching Exceptions” (files), though the remainder of the chapter is useful reading if you want to do more complex file operations. Chapter 11 up to section 11.6 and section 19.5 (the rest of chapter 19 as about other things we will not cover in this course).
  • In Punch & Enbody: Chapter 5, up to (not including) section 5.6 (files) and Chapter 9 up to (not including) section 9.6.

Code

Week 9 (6 - 12 May)#

  • Tuesday lecture: No Lecture
  • Friday lecture: Testing and Debugging (slides).

Code

Week 10 (13 - 19 May)#

  • Tuesday lecture: Complexity (slides).
  • Friday lecture: Errors and exceptions (slides).

Week 11 (20 - 26 May)#

  • Tuesday lecture: Python modules and programs (slides).
  • Friday lecture: Organisation and design (slides).

Week 12 (27 May - 2 June)#

  • Note: Monday 27 May is a public holiday (Reconciliation Day)

  • Tuesday lecture: Recap
  • Friday lecture: Exam questions
bars search times arrow-up