This is an outline of the course schedule and content.
Lectures
Lab/tutorial slots
Introduction to programming via Karel the Robot
Conditionals and loops (LX)
Lab 1: Snap! and Karel the Robot.
Programming continued.
cultural lecture: different levels of abstractions (DP)
Lab 2: Snap and Karel MK II.
Data structures
(No Wed lecture, music guest lecture 8 May)
Lab 3: Make Snap! Sing and Talk.
Recursion
Recursion2 - binary tree, more recursion examples (LX)
Lab 4: Recursion.
Optimization, logistics, and solving sudoku
Optimization (Tommaso Urli)
Lab 5: Solving sudoku.
Computational biology and dynamic programming
Computational thinking in biology (Gavin Huttley)
Lab 6: Sequence alignment.
Computational social science, sentiment analysis, and hashing
Searching and sorting, notions of algorithm complexity (LX)
Dictionaries and hashtables (LX)
Lab 7: Sentiment analysis.
Computational thinking in the humanities (Terhi Nurmikko-Fuller);
(No Tue lecture, ANZAC day 25 Apr)
Intro to machine learning and data analytics (LX)
Lab 7 take 2: Sentiment analysis.
Data science, predictive analytics, and curing diseases
Decision trees (LX)
Digital Music and Live coding (Benjamin Swift)
Programming beyond snap! - A look at python
Introduction to the digital computer: Data representation
Continue work on Lab 8
Introduction to the digital computer: Logical functions and circuits
The digital computer, part 1.
The digital computer, part 2.
Lab 9: Simulating combinatorial circuits.
For this lab, we will be using Logisim, a tool that simulates computer hardware.
cultural/guest lecture Computing in the world, “Debate” AI and its impact (TBC)
The limits of computation: The Halting problem and NP-hardness (DP)
Quantum computing (TBC Elanor Huntington)