• Class Number 8672
  • Term Code 3660
  • Class Info
  • Unit Value 6 units
  • Mode of Delivery In Person
  • COURSE CONVENER
    • Dr Fabian Muehlboeck
  • Class Dates
  • Class Start Date 27/07/2026
  • Class End Date 30/10/2026
  • Census Date 31/08/2026
  • Last Date to Enrol 03/08/2026
SELT Survey Results

This course is an advanced variation of Structured Programming (COMP1110), and as such, teaches the same concepts in more depth, with corresponding additional content and assessment. 

This programming course teaches basic concepts in imperative and object-oriented programming and corresponding data structures.

Students will learn to use an industrial-strength object-oriented programming language and form basic mental models of how computer programs execute and interact with their environment. The course focuses on key aspects of solving programming problems: reasoning about a problem description to design appropriate data representations and function/method descriptions, to find examples, to write, test, debug, and otherwise evaluate the relevant code, and to present and defend their approach.

Students will learn to effectively use a large standard library and key standard data structures, including lists, trees, hash tables, and graphs. The course also introduces the basics of reasoning about the time and space complexity of algorithms, in particular as related to the above data structures.


Students can start in COMP1140 and then drop back to COMP1110 during the semester. You cannot change into COMP1140 after week 2.


This course is an Advanced Studies Extension Course (ASE), with the additional work required for an ASE built into the COMP1140 assessment.


Learning Outcomes

Upon successful completion, students will have the knowledge and skills to:

  1. Apply fundamental programming concepts, using an object-oriented programming language, to solve practical programming problems
  2. Implement, debug, and evaluate algorithms for solving substantial problems; implement an abstract data type
  3. Apply basic algorithmic analysis to simple algorithms; use appropriate algorithmic approaches to solve problems
  4. Design, implement, and test data structures and code
  5. Present, explain, evaluate, and defend choices in design and implementations of programs and algorithms
  6. Independently write programs that address given programming problems
  7. Understand their ethical responsibilities as a programmer with respect to Academic integrity, the use of Artificial Intelligence and authorship of code
  8. Recognize advanced corner cases, employ object-oriented language features and algorithms that address them; understand their low-level aspects

Examination Material or equipment

Dictionaries with written school approval only.

Please note, there are a variety of online platforms you will use to participate in your study program. These could include videos for lectures and other instruction, two-way video conferencing for interactive learning, email and other messaging tools for communication, interactive web apps for formative and collaborative activities, print and/or photo/scan for handwritten work and drawings, and home-based assessment.

ANU outlines recommended student system requirements to ensure you are able to participate fully in your learning. Other information is also available about the various Learning Platforms you may use.

Recommended software for this course (also available in computer labs) consists of a Java Development Kit (JDK) 25 or newer, a git client, a basic text editor, VSCode, and IntelliJ Idea 2026.1 or newer (Community Edition is sufficient, but Ultimate Edition may be obtainable via a free student license). VSCode will be the IDE used in the workshops in the first half of the course (imperative programming with Java), while IntelliJ idea will be the one used in the second half (i.e. OO Java).

A key resource for the course is the course website at https://comp.anu.edu.au/courses/comp1110/ .

Staff Feedback

Students will be given feedback in the following forms in this course:

  • written comments
  • verbal comments
  • feedback to whole class, groups, individuals, focus group etc

Student Feedback

ANU is committed to the demonstration of educational excellence and regularly seeks feedback from students. Students are encouraged to offer feedback directly to their Course Convener or through their College and Course representatives (if applicable). Feedback can also be provided to Course Conveners and teachers via the Student Experience of Learning & Teaching (SELT) feedback program. SELT surveys are confidential and also provide the Colleges and ANU Executive with opportunities to recognise excellent teaching, and opportunities for improvement.

Other Information

Workload

130 hours of student learning time across the semester includes:

  • An average of 3 hours of lectures per week (weeks 1-12; but no lectures in week 9)
  • A one-hour workshop in most weeks (3-8 and 10-12)
  • Two hours of drop-in in week 1
  • Two hours of labs per week (weeks 2-12)
  • An average of 5 hours per week of self study, which includes work on assignments, practice exercises, and reviewing course content.


Large Language Models / Agents / Generative A"I"

This course introduces fundamental concepts that could potentially be addressed by certain tools based on Large Language Models (e.g. ChatGPT, Claude, Copilot). Hence, the use of any tooling or functionality based on Large Language Models is not permitted in any assessments and in the context of any activities involving assessments (including, but not limited to, lectures, workshops, and labs) within this course. Any use of AI tools in assessments will be considered a breach of academic integrity and handled accordingly. The use of large language models is also highly discouraged for any other use case in connection with this course, including translation, summarization, explanation, debugging, and in general replacing talking to other human beings (be it fellow students or course staff).

Switching to COMP1110

Students can switch to COMP1110 up to the census date without disadvantage (performance in Lecture Engagement, Lab Engagement, Lab Test, Homework 1, and the Week 5 Test will be translated to COMP1110 appropriately). They may further be allowed to switch to COMP1110 up to the last day of the teaching period. However, assessments in the second half of the teaching period do not correspond as closely to COMP1110 as those in the first half. Any Project-related marks do not translate to COMP1110; conversely, COMP1140 has no convertible equivalent to homeworks 2 and 3 in COMP1110. In order for students to be able to submit homework 2 and/or 3 for COMP1110, their switch needs to have been administratively completed (in the sense that the switch is visible in MyTimetable or the Conveners have been notified by the relevant professional staff that the switch has been completed) by the due date of the relevant homework, or they need to be able to show (by the due date of the assignment) that they submitted all relevant paperwork by the census date. A similar condition applies to the Week 10 Test, which will test additional material in more detail for COMP1140 vs. COMP1110. In order to take the COMP1110 test, a switch to COMP1110 needs to have been administratively completed (in the sense that the switch is visible in MyTimetable or the Conveners have been notified by the relevant professional staff that the switch has been completed) by 5pm Canberra time on the Thursday of week 7, or the student needs to be able to show by that same date that they have submitted all relevant paperwork by the census date. A student who takes the COMP1140 Week 10 Test and then switches to COMP1110 afterwards will have their COMP1140 test marks transferred without accounting for the difference in test design.

Class Schedule

Week/Session Summary of Activities Assessment
1 Lectures
  • Course Introduction
  • Basics of procedural programming in Java
Drop-Ins
Homework 1 releasedClass Engagement
2 Lectures
  • Basics of procedural programming in Java (continued)
  • Testing and specifications
  • Arrays and Enums
  • Searching
Labs and Drop-Ins
Class EngagementLab Engagement
3 Lectures
  • Reference Types and Heap vs Stack
  • Classes and Methods
  • Exceptions
  • Files and IO
Workshop
  • Sorting
Labs and Drop-Ins
Class EngagementLab Engagement
4 Lectures
  • Recursion and recursive data types
  • Week 5 Test preparation
Workshop
  • Sockets
Labs and Drop-Ins
Homework 1 dueClass EngagementWorkshop EngagementLab Engagement
5 Lectures
  • Recursion and recursive algorithms
  • Trees
  • Complexity and O-Notation
Workshop
  • RFCs
Labs and Drop-Ins
Practice Project releasedWeek 5 TestClass EngagementWorkshop EngagementLab Engagement
6 Lectures
  • Abstract data types, encapsulation
  • Subtyping and Inheritance
  • Design (contracts)
Workshop
  • Chat Protocol Design
Labs and Drop-Ins
Project Stage 1 releasedPractice Project dueClass EngagementWorkshop EngagementLab Engagement
7 Lectures
  • Advanced Testing
  • Generics
  • Hashing and Hash Tables
Workshop
  • Chat Client Interface Design
Labs and Drop-Ins
Project Stage 2 releasedProject Stage 1 dueClass EngagementWorkshop EngagementLab Engagement
8 Lectures
  • Hashing and Hash Tables
  • Week 10 Test preparation
Workshop
  • Multithreading
  • Synchronization
Labs and Drop-Ins
Project Stage 2 dueClass EngagementWorkshop EngagementLab Engagement
9 Labs and Drop-Ins Project Stage 3 releasedLab Engagement
10 Lectures
  • Advanced Collection Types
  • Graphs
  • Graph Search
Workshop
  • Extra Features Discussion
Labs and Drop-Ins
Week 10 TestProject Stage 3 Checkpoint dueClass EngagementWorkshop EngagementLab Engagement
11 Lectures
  • Advanced programming topics
  • Functional programming in Java
Workshop
  • Testing implementations/Project Discussion
Labs and Drop-Ins
Class EngagementWorkshop EngagementLab Engagement
12 Lectures
  • Exam revision
Workshop
  • Final Project Discussions
Labs and Drop-Ins
Project Stage 3 dueClass EngagementWorkshop EngagementLab Engagement

Tutorial Registration

https://mytimetable.anu.edu.au/even/student

Assessment Summary

Assessment task Value Due Date Return of assessment Learning Outcomes
Class Engagement 5 % * * 1,2,3,4,5,7
Workshop Engagement 5 % * * 1,2,3,4,5,7,8
Lab Engagement 5 % * * 1,2,3,4,5,7
Homework 1 0 % 19/08/2026 28/08/2026 1,2,4,5,7
Practice Project 0 % 02/09/2026 * 1,2,3,4,5,7,8
Week 5 Test (Redeemable) 10 % * 28/08/2026 1,4,6
Course Project 15 % * * 1,2,3,4,5,7,8
Week 10 Test (Redeemable) 10 % * * 1,2,3,4,5,6
Final Exam (Hurdle Assessment) 50 % * * 1,2,3,4,5,6,8

* If the Due Date and Return of Assessment date are blank, see the Assessment Tab for specific Assessment Task details

Policies

ANU has educational policies, procedures and guidelines , which are designed to ensure that staff and students are aware of the University’s academic standards, and implement them. Students are expected to have read the Academic Integrity Rule before the commencement of their course. Other key policies and guidelines include:

Assessment Requirements

The ANU is using Turnitin to enhance student citation and referencing techniques, and to assess assignment submissions as a component of the University's approach to managing Academic Integrity. For additional information regarding Turnitin please visit the Academic Skills website. In rare cases where online submission using Turnitin software is not technically possible; or where not using Turnitin software has been justified by the Course Convener and approved by the Associate Dean (Education) on the basis of the teaching model being employed; students shall submit assessment online via ‘Canvas’ outside of Turnitin, or failing that in hard copy, or through a combination of submission methods as approved by the Associate Dean (Education). The submission method is detailed below.

Moderation of Assessment

Marks that are allocated during Semester are to be considered provisional until formalised by the College examiners meeting at the end of each Semester. If appropriate, some moderation of marks might be applied prior to final results being released.

Participation

Participation in lectures is essential and will be judged based on in-lecture quizzes. To participate in quizzes, bring a device that has an internet connection and a modern browser to the lectures.

Participation in workshops is essential and will be judged based on engagement with the lecturer and peers, participation in discussion, and insightful questions and comments across the semester.

Participation in labs is essential and will be judged based on participation and engagement with your tutor, who will ask you questions during the lab.

Examination(s)

During the semester, tests are held in weeks 5 and 10, in computer labs in the same strict conditions as the final exam.

The first mid-term test in week 5 provides early feedback for students prior to the Census date. The mid-term test marks (for weeks 5 and 10) are redeemable in the final exam.

The final exam is held in computer labs with no materials allowed other than any documentation provided on the lab machines, and, where applicable, dictionaries with school approval only.

Assessment Task 1

Value: 5 %
Learning Outcomes: 1,2,3,4,5,7

Class Engagement

Many lectures will feature in-class quizzes, mostly consisting of one or more course-content-related in-class polls marked as "quiz-polls". At least one lecture each week (except for week 9, where there are no lectures) will feature such a quiz, and at least 16 lectures overall. Marks on the assessment are based on the best 8 quiz results.

Assessment Task 2

Value: 5 %
Learning Outcomes: 1,2,3,4,5,7,8

Workshop Engagement

Workshops serve to teach extra course content required for the course project, and as the primary discussion venue to decide together on common protocols and interfaces, discuss ambiguities, corner cases, extensions, and related issues. It is critical for all students to fully engage in these sessions and contribute to the project design. Marks come from weekly engaged participation in the workshops, and substantive contributions (e.g. relevant questions, contributions, ideas, etc.) across the semester.

Assessment Task 3

Value: 5 %
Learning Outcomes: 1,2,3,4,5,7

Lab Engagement

Engagement marks are gained in the weekly labs, starting from week 3 (no engagement marks are awarded for labs in week 2 or drop-ins in week 1); students get up to two marks for each week that they attend and participate in a lab class (based on their level of participation), one mark for submission of genuine attempts at each set of lab exercises, and up to one more mark based on the quality of their attempt.

Assessment Task 4

Value: 0 %
Due Date: 19/08/2026
Return of Assessment: 28/08/2026
Learning Outcomes: 1,2,4,5,7

Homework 1

More involved programming tasks, intended to aid students in preparing for the mid-session tests and the final exam. These will be predominantly automatically assessed, and separate from the lab exercises. Any manually-assessed feedback will be made available to students digitally as soon after their submission as practicable.


This is a formative assessment for COMP1140. It corresponds to Homework 1 in COMP1110. For students who change their enrolment from COMP1110 to COMP1140 after this assignment is due, it will be converted into a summative assessment with an associated mark value for COMP1110. In these cases, please be aware of the following information for COMP1110:

> Pursuant to Section 11 (4) of the Assessment Rule (2016), a student may be required to undertake a further assessment to ensure that the academic performance of the student in the coursework is adequately and fairly assessed. The further assessment may be oral, written or practical. We may in particular require such an additional assessment if there are large discrepancies between a student's performance on this assessment and the relevant parts of the final exam. This explicit statement of intent is not to indicate that there are any specific restrictions on the applicability of Section 11 (4) to the rest of the course.

Assessment Task 5

Value: 0 %
Due Date: 02/09/2026
Learning Outcomes: 1,2,3,4,5,7,8

Practice Project

Students will implement a very basic networking application based on an established protocol. This serves to gain a preview of the larger course project in the second half of the course, and should inform students' decisions about whether to continue in COMP1140 or switch to COMP1110.

Assessment Task 6

Value: 10 %
Return of Assessment: 28/08/2026
Learning Outcomes: 1,4,6

Week 5 Test (Redeemable)

Conducted in computer labs with limited internet access and no materials except for documentation provided on the lab computers and, where applicable dictionaries with school approval only. Students need to solve a number of programming problems covering different combinations of course topics and answer a small number of knowledge questions related to course content. For programming problems, marks will only be awarded for code that compiles and runs, based on automated tests.


This test is redeemable against the final exam, i.e. if re-weighting this assessment to 0 and allocating its marks to the final exam results in a better overall course result, such a re-weighting takes effect.

Assessment Task 7

Value: 15 %
Learning Outcomes: 1,2,3,4,5,7,8

Course Project

This is a substantial project consisting of several stages, producing several artifacts:

Stage 1:

  • A request for comments (RFC) on a proposed specification for a communication protocol between a chat server and its clients

Stage 2:

  • A request for comments (RFC) on a proposed specification for an interface between a chat client library implementing the above protocol and a UI application providing chat client functionality to a user

Stage 3:

  • Checkpoint 1: test suites based on the ultimately chosen RFCs to be implemented by the whole group
  • Final Submission: implementations of the server, client library, and client UI application

In addition to these artifacts, students will attend a final interview during the final exam period, where they will demonstrate their implementation and be asked questions about their code and related course content. Artifacts and interview will be marked separately, the marks on the assignment are based on the product of the artifact and interview mark.

Assessment Task 8

Value: 10 %
Learning Outcomes: 1,2,3,4,5,6

Week 10 Test (Redeemable)

Conducted in computer labs with limited internet access and no materials except for documentation provided on the lab computers and, where applicable dictionaries with school approval only. Students need to solve a number of programming problems covering different combinations of course topics and answer a small number of knowledge questions related to course content. For programming problems, marks will only be awarded for code that compiles and runs, based on automated tests.


This test is redeemable against the final exam, i.e. if re-weighting this assessment to 0 and allocating its marks to the final exam results in a better overall course result, such a re-weighting takes effect.

Assessment Task 9

Value: 50 %
Learning Outcomes: 1,2,3,4,5,6,8

Final Exam (Hurdle Assessment)

Conducted in computer labs with limited internet access and no materials except for documentation provided on the lab computers and, where applicable dictionaries with school approval only. Students need to solve a number of programming problems covering different combinations of course topics and answer a small number of knowledge questions related to course content. For programming problems, marks will only be awarded for code that compiles and runs, based on automated tests.


The final exam is a hurdle assessment.

Students need to achieve at least 40% of the marks on this exam to pass the hurdle.

Academic Integrity

Academic integrity is a core part of the ANU culture as a community of scholars. The University’s students are an integral part of that community. The academic integrity principle commits all students to engage in academic work in ways that are consistent with, and actively support, academic integrity, and to uphold this commitment by behaving honestly, responsibly and ethically, and with respect and fairness, in scholarly practice.


The University expects all staff and students to be familiar with the academic integrity principle, the Academic Integrity Rule 2021, the Policy: Student Academic Integrity and Procedure: Student Academic Integrity, and to uphold high standards of academic integrity to ensure the quality and value of our qualifications.


The Academic Integrity Rule 2021 is a legal document that the University uses to promote academic integrity, and manage breaches of the academic integrity principle. The Policy and Procedure support the Rule by outlining overarching principles, responsibilities and processes. The Academic Integrity Rule 2021 commences on 1 December 2021 and applies to courses commencing on or after that date, as well as to research conduct occurring on or after that date. Prior to this, the Academic Misconduct Rule 2015 applies.

 

The University commits to assisting all students to understand how to engage in academic work in ways that are consistent with, and actively support academic integrity. All coursework students must complete the online Academic Integrity Module (Epigeum), and Higher Degree Research (HDR) students are required to complete research integrity training. The Academic Integrity website provides information about services available to assist students with their assignments, examinations and other learning activities, as well as understanding and upholding academic integrity.

Online Submission

You will be required to electronically sign a declaration as part of the submission of your assignment. Please keep a copy of the assignment for your records. Assignment submission is through GitLab and other web-based course infrastructure (see course website).

Hardcopy Submission

For some forms of assessment (hand written assignments, art works, laboratory notes, etc.) hard copy submission is appropriate when approved by the Associate Dean (Education). Hard copy submissions must utilise the Assignment Cover Sheet. Please keep a copy of tasks completed for your records.

Late Submission

Late submission not permitted. For assessment tasks that are submitted after the due date without an extension, a mark of 0 will be awarded.

Referencing Requirements

The Academic Skills website has information to assist you with your writing and assessments. The website includes information about Academic Integrity including referencing requirements for different disciplines. There is also information on Plagiarism and different ways to use source material. Any use of artificial intelligence must be properly referenced. Failure to properly cite use of Generative AI will be considered a breach of academic integrity.

Extensions and Penalties

Extensions and late submission of assessment pieces are covered by the Student Assessment (Coursework) Policy and Procedure. Extensions may be granted for assessment pieces that are not examinations or take-home examinations. If you need an extension, you must request an extension in writing on or before the due date. If you have documented and appropriate medical evidence that demonstrates you were not able to request an extension on or before the due date, you may be able to request it after the due date.

Resubmission of Assignments

No assignment resubmissions.

Privacy Notice

The ANU has made a number of third party, online, databases available for students to use. Use of each online database is conditional on student end users first agreeing to the database licensor’s terms of service and/or privacy policy. Students should read these carefully. In some cases student end users will be required to register an account with the database licensor and submit personal information, including their: first name; last name; ANU email address; and other information.
In cases where student end users are asked to submit ‘content’ to a database, such as an assignment or short answers, the database licensor may only use the student’s ‘content’ in accordance with the terms of service – including any (copyright) licence the student grants to the database licensor. Any personal information or content a student submits may be stored by the licensor, potentially offshore, and will be used to process the database service in accordance with the licensors terms of service and/or privacy policy.
If any student chooses not to agree to the database licensor’s terms of service or privacy policy, the student will not be able to access and use the database. In these circumstances students should contact their lecturer to enquire about alternative arrangements that are available.

Distribution of grades policy

Academic Quality Assurance Committee monitors the performance of students, including attrition, further study and employment rates and grade distribution, and College reports on quality assurance processes for assessment activities, including alignment with national and international disciplinary and interdisciplinary standards, as well as qualification type learning outcomes.

Since first semester 1994, ANU uses a grading scale for all courses. This grading scale is used by all academic areas of the University.

Support for students

The University offers students support through several different services. You may contact the services listed below directly or seek advice from your Course Convener, Student Administrators, or your College and Course representatives (if applicable).

  • ANU Health, safety & wellbeing for medical services, counselling, mental health and spiritual support
  • ANU Accessibility for students with a disability or ongoing or chronic illness
  • ANU Dean of Students for confidential, impartial advice and help to resolve problems between students and the academic or administrative areas of the University
  • ANU Academic Skills supports you make your own decisions about how you learn and manage your workload.
  • ANU Counselling promotes, supports and enhances mental health and wellbeing within the University student community.
  • ANUSA supports and represents all ANU students
Dr Fabian Muehlboeck
comp1110@anu.edu.au

Research Interests


Programming Language Design

Dr Fabian Muehlboeck

By Appointment

Responsible Officer: Registrar, Student Administration / Page Contact: Website Administrator / Frequently Asked Questions