## 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 (22 - 26 July)

Lectures:

• Tuesday lecture: Introduction to the course and administrative matters
• Wednesday lecture: Functional abstraction

## Week 2 (29 July - 2 August)

Lectures:

• Tuesday lecture: Values, types and expressions
• Wednesday lecture: Functions

• 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 (5 - 9 August)

Lectures:

• Tuesday lecture: Program control flow, part 1: Branching
• Wednesday lecture: Program control flow, part 2: Iteration

• 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 (12 - 16 August)

• Tuesday lecture: Code quality, testing and debugging
• Wednesday lecture: Sequence data types, part 1

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 (19 - 23 August)

• Tuesday lecture: Strings
• Wednesday lecture: TBD

• In Downey: Chapter 8.
• In Punch & Enbody: Chapter 4. Section 4.4 and 4.7 on string formatting can be skipped.

## Week 6 (26 - 30 August)

• Note: Saturday the 31st of August is the Census date.

• Tuesday lecture: Data Science
• Wednesday lecture: TBD

• There is no new recommended reading for this week.

## Week 7 (16 - 20 September)

• Tuesday lecture: Sequence data types, part 2
• Wednesday 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 (23 - 27 September)

• Tuesday lecture: Files and I/O
• Wednesday lecture: Dictionaries and Sets

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

## Week 9 (30 September - 4 October)

• Tuesday lecture: TBD
• Wednesday lecture: TBD

## Week 10 (7 - 11 October)

• Note: Monday the 7th is a public holiday.

• Tuesday lecture: TBD
• Wednesday lecture: TBD

## Week 11 (14 - 18 October)

• Tuesday lecture: TBD
• Wednesday lecture: TBD

## Week 12 (21 - 25 October)

• Tuesday lecture: TBD
• Wednesday lecture: Exam revision

Updated:  28 Jun 2019/ Responsible Officer:  Head of School/ Page Contact:  Patrik Haslum