Programming 1 (41039) — Summary

Programming 1 is an introductory subject teaching fundamental imperative and object-oriented programming concepts using Java and Python (dual instruction is new this year based on student feedback). No prior experience is required — just enthusiasm.

Delivery & structure: Lectures are online (live or recorded). Workshops are face-to-face and run through the Ed platform, which is the main hub for the subject. Workshop material (excluding assessments) can be accessed anytime after release. You're expected to watch lectures before the following week's workshop and put in roughly 6 hours of independent practice per week (2:1 ratio to class time).

Communication: Questions should go on the Ed discussion board first so everyone benefits. Email is reserved for personal/health matters or appointments — include your subject code and student number. The subject coordinator is Dr Luke Mathieson; tutors are contactable via Ed but not outside class.

Key advice for success: Hands-on practice is essential — not just writing code but reading and debugging it. If you fall behind, talk to staff early. Weekly feedback comes through workshops and assessed exercises, with one-on-one discussion available in class.

Resources: A computer with internet is all you need (Ed runs in-browser, even on tablets/phones in a pinch). Optional textbooks are listed, and the library has plenty — any intro Java/Python text works, though watch out for pre-Java 5, pre-Python 2.4, and Python 2.x vs 3.x differences. Online platforms like Codecademy, TopCoder, and HackerRank are also useful for extra practice.