Note that the schedule of the lectures and the lecture content is tentative and may change, particularly after the mid-semester break.
Week 1 (20th of Feb - 26th of Feb)#
Lectures:
- Lecture 1 (Monday): Intro to Programming, Variable Types and Course Admin (slides)
- Lecture 2 (Tuesday): Operators and Functions (slides)
Week 2 (27th of Feb - 5th of Mar)#
Lectures:
- Lecture 3 (Monday): Functions continued, Scope, The Stack (slides)
- Lecture 4 (Tuesday): Branching, Recursion and Iteration (slides)
Week 3 (6th of Mar - 12th of Mar)#
Lectures:
- Lecture 5 (Monday): Strings and Lists (slides)
- Lecture 6 (Tuesday): Lists continued and Dictionaries (slides)
Week 4 (13th of Mar - 19th of Mar)#
- No Monday lecture (Canberra Day).
- Lecture 7 (Tuesday): Abstraction, Dictionaries (slides)
Week 5 (20th of Mar - 26th of Mar)#
- Lecture 8 (Monday): Dictionaries and More Functions (slides)
- Lecture 9 (Tuesday): Modules and Classes (slides)
Week 6 (27th of Mar - 2nd of Apr)#
- Lecture 10 (Monday): Files and IO (slides)
- Lecture 11 (Tuesday): Code Best-Practices and Python goodies (slides)
Break#
Week 7 (17th of Apr - 23th of Apr)#
- Lecture 12 (Monday): Introduction to scientific libraries with Numpy (slides).
- Lecture 13 (Tuesday): Pandas
Code:
Week 8 (24th of Apr - 30th of Apr)#
- Lecture 14 (Monday): Data visualisation (and computational complexity 1) (slides).
- No Tuesday Lecture (ANZAC Day).
Code:
Week 9 (1st of May - 7th of May)#
- Lecture 15 (Monday): Computational complexity 2 (slides).
-
Lecture 16 (Tuesday): Algorithm Design Paradigms: Dynamic Programming (slides)
- Examples from the lecture on complexity
- Examples from the lecture on dynamic programming
- Examples from the lecture on dynamic programming
Reading guide:
- In Downey: Chapter 21 (“Analysis of Algorithms”, called Appendix B in the on-line editition) introduces complexity analysis of algorithms.
Week 10 (8th of May - 14th of May)#
- Lecture 17 (Monday): Data analysis (slides)
- Lecture 18 (Tuesday): Machine learning with scikit-learn (slides)
Code:
- Permutation test1
- Permutation test2
- Bootstrap
- Bootstrap data
- knn example
- scikit-learn example
- datasets (unzip to use)
Week 11 (15th of May - 21st of May)#
- Lecture 19 (Monday): Machine learning continued (lecture notes from last lecture)
- Lecture 20 (Tuesday): Error handling, testing and debugging (slides slides slides slides).
Code:
Reading guide:
- In Downey: “Appendix A” in the on-line edition, and section “Catching Exceptions” in Chapter 14.
Week 12 (22nd of May - 28th of May)#
- Lecture 21 (Monday): LLMs and design of scientific pipelines (slides)
- Lecture 22 (Tuesday): Exam details and revision (slides).
Code: