General information#

  • Dr. Dan Andrews is your lecturer in the 1st half of the semester.
  • Dr. Brian Parker is your lecturer in the 2nd half of the semester.
  • Lectures twice a week: Monday, 1-2PM & Tuesday, 10AM-11PM.
  • All lectures take place in the Copland Lecture Theatre.
  • Links to PDFs of the lecture slides and associated Python codes will be available (at the latest) after each lecture.
  • Livestream lectures and recordings available on echo360, see the link on Course Wattle page.

Schedule#

Links to slides and code will be available on the lecturing dates.

Week Date/Time Lecture Topic and Slides 4-pages Code
1 19/02/24 1 Intro to programming (and COMP1730/6730) 4up code
20/02/24 2 Variable types and operators 4up code
2 26/02/24 3 Functions 4up code
27/02/24 4 Functional abstraction 4up code
3 04/03/24 5 Branching 4up code
05/03/24 6 Iteration 4up code
4 11/03/24 - No Lecture: Canberra Day holiday - -
12/03/24 7 Coding Best Practices & Sequences:Strings 4up code
5 18/03/24 8 Sequences: Strings 4up code
19/03/24 9 Sequences: Lists 4up code
6 25/03/24 10 Files and IO 4up code
26/03/24 11 Modules and classes 4up code
Teaching break
7 15/04/24 12 Introduction to scientific libraries with Numpy 4up code
16/04/24 13 Data analysis with Pandas and visualisation 4up code
8 22/04/24 14 Debugging and testing 4up code
23/04/24 15 Dictionaries and sets 4up code
9 29/04/24 16 Previous lectures continued. 4up code
30/04/24 17 Errors and exceptions 4up code
10 06/05/24 18 Computational Complexity 4up code
07/05/24 19 Algorithm design paradigms: Dynamic programming 4up code
11 13/05/24 20 Computational methods in science and engineering:scikit-learn 4up code
14/05/24 21 Computational methods in science and engineering:scikit-learn2 4up code
12 20/05/24 22 Design and review 4up code
21/05/24 23 Design and review2 4up code

Find below some recommended readings if you want to come better prepared to the lectures and/or reinforce your understanding afterwards.

Week Recommended readings
1 Downey’s book, chapters 1-2. Sundnes’s book, Sects. 2.1-2.2 and 4.1-4.3, 4.5-4.7
2 Downey’s book, chapters 3, 4 and 6. Sundnes’s book, chapter 4. docs.python.org Sections 4.7 & 4.8
3 Downey’s book, chapters 5 and 7. Sundnes’s book, Sects. 3.1, 3.2, 3.4, 4.4. docs.python.org, 4.1 to 4.5
4 Downey’s book, chapter 8.
5 Downey’s book, chapter 8, 10, 11 and 12. Sundnes’s book, Section 3.3, 3.6, 7.1 and 7.4. docs.python.org, 3.1, 5.1.0, 5.1.1, 5.1.2, 5.3 and 5.5
6 Downey’s book, chapter 14. docs.python.org, 6.0, 6.1, 7.2, 9.3
7 Sundnes’s book, chapter 6. (excluding section 6.4)
8 Downey’s book, chapter 7 and parts of 13. Sundnes’s book, Section 4.7 (test functions) 7.1, 7.2, 7.3. docs.python.org, 5.4 and 5.5
9 Downey’s book, chapter 20 (called “Appendix A” in the on-line edition), chapter 14 section “Catching Exceptions”. Sundnes’s book, Section 5.5
10 Downey’s book, chapter 21 (“Analysis of Algorithms”, called Appendix B in the on-line edition) introduces complexity analysis of algorithms.
11 Downey’s book, 18.7 covers class inheritance. Sundnes’s book, Section 9.1 covers class inheritance
12 Downey’s book, 3.10 briefly covers pure functions (strangely referred to using the non-standard name “fruitful” functions).
bars search times arrow-up