Welcome to Structured Programming 2020!

You should find all the information you need on this web site, and on the Piazza forum, which you’ll be invited to join in Week One.

Remote Study for Students Impacted by Travel Restrictions
I am aware of a large number of students who are currently unable to attend campus due to travel restrictions in response to novel coronavirus. If you are unable to travel to Australia, please inform CECS Student Services so that they can offer you the best support.
For this semester, any student who cannot attend campus will be able to study COMP1110 online. This will include online labs, lab tests, and assignment groups, but all students will be required to attend the final exam in person once they are able to return to campus. I will publish more details on the class forum soon; for now, please enrol in COMP1110 as usual. For more details on the University's response, please see ANU coronavirus advice.

This course has three broad foci:

  • core computer science, such as data structures, programming language fundamentals, complexity, as well as some history;
  • software development skills, including learning the Java programming language, learning to use a distributed version control system and an integrated development environment;
  • software engineering, including classic concepts in software engineering and exposure to current practice.

The course is fast-paced, particularly during the first five weeks; please carefully read the notes on Week One below. However, I hope that you find this course to be very rewarding. Each student who completes this course should walk away with a great sense of satisfaction in completing a major project, having learned a lot, and having mastered some important software development skills along the way.


Our lectures are scheduled as follows:

I will make core lecture content available ahead of time. During allotted lecture times I will work through the material, focusing heavily on problem solving and practical use of the tools that you are expected to master. I will also ask very simple quiz questions in lectures throughout the semester via Piazza. At each lecture, you will have the opportunity to see concepts translated to practice in the same environment that you are expected to use, and will have an opportunity to engage through simple quiz questions. The live lectures will also be recorded and made available to you on this web page alongside the other material.

It is up to you to make the most of the resources I am delivering to you. Unless you engage well with this material, you will struggle. The best approach is to be an active participant in the lectures.

Assessment and Administrative Overview

The course’s administrative overview is available here.

Individual Assignment

Early in the semester, you will complete a small individual assignment. All students should be able to complete four out of five parts of the assignment. The fifth part is more advanced. You should not feel disappointed if you decide not to spend time on the fifth stage.

Group Assignment

At the centre of the course is a large group project, which you will complete in groups of three. The lecture and lab materials are paced to ensure you have the skills to complete the project on schedule.

Mid-Semester Exam

There will be a one-hour mid-semester exam on Tuesday Week 6 at 18:15. The exam will be electronic. Details will be available in Week 5.


This class depends entirely on engagement from you. You will profit because you’ll enjoy the class a great deal more, and you’ll undoubtedly see your engagement reflected in your final mark. Some students need a nudge, and in deference to them, this course has 5% of the marks attached to class engagement (this comes from participation in your lab, engagement on the Piazza forum and engagement in in-lecture quizzes).

Practitioner Cameos

In this class, you will have the opportunity to meet and interact with guest lecturers. Make the most of these opportunities.

Week One

Week one is particularly important in this course. Please be sure to complete the following:

  • Attend both lectures
  • Browse this web site. Be sure to read policies on deadlines, academic integrity and email.
  • Enrol in a lab class (enrolment will be open from 09:00 Monday 24 February).
  • Sign up to the Piazza forum.
  • Attend at least one lab session in N115/N116 (in Week One, you may attend any session):
    • Tuesday 10:00-12:00
    • Tuesday 12:00-14:00
    • Tuesday 14:00-16:00
    • Tuesday 16:00-18:00
    • Wednesday 10:00-12:00
    • Wednesday 12:00-14:00
    • Wednesday 14:00-16:00
  • Complete Lab 1 on a lab computer, and get it marked off at one of the scheduled labs.
  • Complete Lab 1 on your own computer, and get it marked off at one of the scheduled labs (if you plan to use your own computer during the semester).

A step-by-step video shows you how to complete lab 1.

Updated:  09 Feb 2020/ Responsible Officer:  Head of School/ Page Contact:  Josh Milthorpe