• Class Number 3822
  • Term Code 3530
  • Class Info
  • Unit Value 6 units
  • Mode of Delivery In Person
  • COURSE CONVENER
    • Dr ALBERTO F. MARTIN
    • Dr Fabian Muehlboeck
  • Class Dates
  • Class Start Date 17/02/2025
  • Class End Date 23/05/2025
  • Census Date 31/03/2025
  • Last Date to Enrol 24/02/2025
SELT Survey Results

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.


The Advanced version of this course (COMP1140) covers these topics in more depth, allowing students to deepen their understanding and experience.

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

Examination Material or equipment

No materials permitted, except 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.

We recommend that the above recommended system requirements are satisfied with a laptop computer that can be brought to the workshops (BYOD). Recommended software for this course (also available in computer labs) consists of Java 23, a git client, a basic text editor, and IntelliJ Idea 2024.2 or newer (Community Edition is sufficient, but Ultimate Edition may be obtainable via a free student license).

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:

  • 3-5 hours of workshops per week (weeks 1-12)
  • 1 hour of participating in code walks every two weeks (weeks 4-12)
  • Students are expected to spend an average of 4-8 hours per week practicing programming
  • this includes work on assignments, practice exercises, online activities, independent research
  • this is mostly outside of scheduled labs, but in some instances may be during the 4.5 hours allocated for code walk labs every two weeks where no individual hour was scheduled for the code walk itself

ChatGPT

This course introduces fundamental concepts that could potentially be addressed by certain Generative AI tools (e.g., ChatGPT). Hence, the use of any Generative AI tools is not permitted in graded assessments within this course. Any use of AI tools in graded assessments will be considered a breach of academic integrity and handled accordingly.

Assignments

Students may individually assign natural numbers to assignment variables V1-V5, affecting individual assignment submission deadlines, under the condition that V1 + V2 + V3 + V4 + V5 is less than or equal to 3. Each variable is locked in on the Wednesday immediately following the corresponding base assignment deadline, though may later be reduced as a result of assignment extensions or ECAs at the discretion of the course conveners. Additionally, extension requests and ECAs that use an assignment due date different from the base assignment due date by use of assignment variables establish corresponding lower bounds on assignment variables, which are lifted only if the extension request is denied (i.e. by use of a different assignment due date in an extension request or ECA, students commit to using assignment variables accordingly). Assignment variables can only affect the base assignment deadline, and thus regular assignment deadlines cannot extend beyond the base assignment deadline (typically Friday, 15:00) + 72 hours (typically Monday, 15:00).

Students must actively register for code walks in order for their assignments to be graded. Registration for each set of code walks opens when the corresponding assignment is released, and closes three hours after the base assignment deadline (typically Friday, 18:00), which is unaffected by assignment variables or extensions.

The Meaning of "Distinction-Level Content"

25% of the course assessment is on designated distinction-level material, clearly marked as such. This is divided equally between the final exam, the mid-term test, and the assignments as a whole, but while each assignment contributes 6% of non-distinction-level marks, only the last three assignments contain distinction-level material. For each individual assessment item, students need to achieve 90% of the available marks on non-distinction-level content in order for any distinction-level content of that assessment item to be marked. For assignments, students have to explicitly request being code-walked on distinction-level content, and can only do so if they achieve 90% of the marks on automated tests on non-distinction-level content.

Class Schedule

Week/Session Summary of Activities Assessment
1 Workshops
  • Course Introduction
  • Basics of functional Java
Please bring your own device (BYOD) to workshops as workshops will work best if everyone has a mobile device such as a laptop.
2 Workshops
  • Basics of functional Java (continued)
Assignment U1 released.Registration for U1 Code Walks opens.
3 Workshops
  • Basics of functional Java (continued)
  • Recursion
Assignment U1 due.Registration for U1 Code Walks closes.
4 Workshops
  • Recursion (continued)
  • State
Assignment U2 released.Registration for U2 Code Walks opens.Code Walks for Assignment U1.
5 Workshops
  • State (continued)
  • Basics of object-oriented Java
Assignment U2 due.Registration for U2 Code Walks closes.
6 Workshops
  • Basics of object-oriented Java (continued)
Mid-term Test / Basic Competency Hurdle.Assignment U3 released (in teaching break).Registration for U3 Code Walks opens.Code Walks for Assignment U2.
7 Workshops
  • Object-oriented Java
  • Abstract Data Types & Algorithms
Assignment U3 due.Registration for U3 Code Walks closes.
8 Workshops
  • Object-oriented Java (continued)
  • Abstract Data Types & Algorithms (continued)
Assignment U4 released.Registration for U4 Code Walks opens.Code Walks for Assignment U3.
9 Workshops
  • Object-oriented Java (continued)
  • Abstract Data Types & Algorithms (continued)
Assignment U4 due.Registration for U4 Code Walks closes.
10 Workshops
  • Advanced programming topics (continued)
  • Abstract Data Types & Algorithms (continued)
Assignment U5 released.Registration for U5 Code Walks opens.Code Walks for Assignment U4.
11 Workshops
  • Advanced programming topics (continued)
  • Abstract Data Types & Algorithms (continued)
Assignment U5 due.Registration for U5 Code Walks closes.
12 Workshops
  • Exam revision
Code Walks for Assignment U5.

Tutorial Registration

ANU utilises MyTimetable to enable students to view the timetable for their enrolled courses, browse, then self-allocate to small teaching activities / tutorials so they can better plan their time. Find out more on the Timetable webpage.

Assessment Summary

Assessment task Value Return of assessment Learning Outcomes
Assignment U1 (Redeemable) 6 % 12/03/2025 1,4,5
Assignment U2 6 % 26/03/2025 1,2,4,5
Mid-Term Test (Redeemable, Hurdle) 20 % * 1,2,4
Basic Competency Hurdle 0 % * 1,2,4
Assignment U3 9 % 23/04/2025 1,2,3,4,5
Assignment U4 9 % 07/05/2025 1,2,3,4,5
Assignment U5 10 % 21/05/2025 1,2,3,4,5
Final Exam (Hurdle) 40 % * 1,2,3,4,5

* 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 ‘Wattle’ 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 workshops is essential and will be judged based on participation and performance in in-class activities, such as quizzes. Participation will be considered when calculating final marks, and depending on the level of participation may result in up to two bonus marks around certain grade boundaries.

While not required, please bring your own laptop (BYOD) to workshops in order to be able to participate in and follow along programming exercises on your own device.

Examination(s)

Mid-term test held in week 6, in computer labs in the same strict conditions as the final exam. The mid-term test provides early feedback for students prior to the Census date. The mid-term test marks are redeemable in the final exam, but the test also forms the basis for the basic competency hurdle assessment, in which redeemed marks do not count.

Final exam, in computer labs, no materials except for dictionaries with school approval in writing prior to the start of the exam. No or limited internet access. Hurdle assessment: students need to achieve 40% of available marks.

Assessment Task 1

Value: 6 %
Return of Assessment: 12/03/2025
Learning Outcomes: 1,4,5

Assignment U1 (Redeemable)

Assignment consists of:

  1. writing programs according to class standards and in response to assignment prompt (Week 3).
  2. registering for Code Walk (Week 3).
  3. presenting and explaining parts of the submitted code in a code walk (Week 4).
  4. answering questions about related course content in a code walk (Week 4).


1) The deadline for submitting code to GitLab is at 15:00 Canberra time on Friday of week 3, plus 24 hours times assignment variable V1.

2) Students need to separately register their intent to participate in the code walk before 18:00 Canberra time on Friday of week 3. This is not affected by assignment variable V1.


  • Assignment will be marked with 0 if statement of originality has not been submitted, or if student does not register for or does not attend scheduled code walk.
  • Scheduled code walk will be cancelled if student does not submit something sufficiently assessable. The "return of assessment date" indicates when this determination is made and students are notified accordingly. All other parts of assessment feedback are given during the scheduled code walk, where applicable.
  • This assignment is redeemable against the non-distinction parts of the final exam (i.e. 75% of the total marks on the final exam are allocated to non-distinction tasks, those 75% correspond to 100% of this assignment when calculating the redeemed result, and marks from distinction tasks on the final exam are not considered), i.e. its final marks are either the code walk marks or the marks of the non-distinction parts of the final exam scaled to the assignment, whichever is greater.

Assessment Task 2

Value: 6 %
Return of Assessment: 26/03/2025
Learning Outcomes: 1,2,4,5

Assignment U2

Assignment consists of:

  1. writing programs according to class standards and in response to assignment prompt (Week 5).
  2. register to participate in Code Walk (Week 5).
  3. presenting and explaining parts of the submitted code in a code walk (Week 6).
  4. answering questions about related course content in a code walk (Week 6).


1) The deadline for submitting code to GitLab is at 15:00 Canberra time on Friday of week 5, plus 24 hours times assignment variable V2.

2) Students need to separately register their intent to participate in the code walk, held in week 6, before 18:00 Canberra time on Friday of week 5. This is not affected by assignment variable V2.


  • Assignment will be marked with 0 if statement of originality has not been submitted, or if student does not register for or does not attend scheduled code walk.
  • Scheduled code walk will be cancelled if student does not submit something sufficiently assessable. The "return of assessment date" indicates when this determination is made and students are notified accordingly. All other parts of assessment feedback are given during the scheduled code walk, where applicable.

Assessment Task 3

Value: 20 %
Learning Outcomes: 1,2,4

Mid-Term Test (Redeemable, Hurdle)

A programming test under strict exam-like conditions.

  • This assessment is redeemable against the final exam, i.e. its final marks are either whatever was achieved on the mid-term test or half of the final exam marks, whichever is greater (based on total marks on the exam without comparing distinction or non-distinction-level content separately, i.e. each exam retains its own 90%-on-non-distinction-level-content barrier in order for distinction-level content to be assessed, and the total resulting marks are used in the final calculation of potentially redeemed marks).
  • This assessment has 25% distinction-level content. In order for distinction-level content to be assessed, students need to achieve 90% of the marks on non-distinction-level content.
  • This assessment has a hurdle component (see Assessment Task 4 below)

Assessment Task 4

Value: 0 %
Learning Outcomes: 1,2,4

Basic Competency Hurdle

This hurdle is a component of the mid-term test. Students need to achieve at least 25% of the marks (including marks reserved for distinction-level content, but not counting marks gained through redeemability) on the mid-term test. Because of redeemability, no deferrals, alternate assessments, or weighting changes will be granted for the mid-term test, but the basic competency hurdle can be cleared through alternate assessment obtained through the ECA process.

Assessment Task 5

Value: 9 %
Return of Assessment: 23/04/2025
Learning Outcomes: 1,2,3,4,5

Assignment U3

Assignment consists of:

  1. writing programs according to class standards and in response to assignment prompt (Week 7).
  2. register to participate in Code Walk (Week 7).
  3. presenting and explaining parts of the submitted code in a code walk (Week 8).
  4. answering questions about related course content in a code walk (Week 8).


1) The deadline for submitting code to GitLab is at 15:00 Canberra time on the Friday of week 7, plus 24 hours times assignment variable V3.

2) Students need to separately register their intent to participate in the code walk, held in week 8, before 18:00 Canberra time on the Friday of week 7. This is not affected by assignment variable V3.


  • Assignment will be marked with 0 if statement of originality has not been submitted, or if student does not register for or does not attend scheduled code walk.
  • Scheduled code walk will be cancelled if student does not submit something sufficiently assessable. The "return of assessment date" indicates when this determination is made and students are notified accordingly. All other parts of assessment feedback are given during the scheduled code walk, where applicable.
  • This assessment has 1/3 distinction-level content. In order to be eligible for the distinction-level content to be assessed in the code walk, students need to achieve 90% of the marks in automated tests on non-distinction-level content and actively elect to be evaluated on distinction-level content.

Assessment Task 6

Value: 9 %
Return of Assessment: 07/05/2025
Learning Outcomes: 1,2,3,4,5

Assignment U4

Assignment consists of:

  1. writing programs according to class standards and in response to assignment prompt (Week 9).
  2. register to participate in Code Walk (Week 9).
  3. presenting and explaining parts of the submitted code in a code walk (Week 10).
  4. answering questions about related course content in a code walk (Week10).


1) The deadline for submitting code to GitLab is at 15:00 Canberra time on Friday of week 9, plus 24 hours times assignment variable V4.

2) Students need to separately register their intent to participate in the code walk, held in week 10, before 18:00 Canberra time on Friday of week 9. This is not affected by assignment variable V4.


  • Assignment will be marked with 0 if statement of originality has not been submitted, or if student does not register for or does not attend scheduled code walk.
  • Scheduled code walk will be cancelled if student does not submit something sufficiently assessable. The "return of assessment date" indicates when this determination is made and students are notified accordingly. All other parts of assessment feedback are given during the scheduled code walk, where applicable.
  • This assessment has 1/3 distinction-level content. In order to be eligible for the distinction-level content to be assessed in the code walk, students need to achieve 90% of the marks in automated tests on non-distinction-level content and actively elect to be evaluated on distinction-level content.

Assessment Task 7

Value: 10 %
Return of Assessment: 21/05/2025
Learning Outcomes: 1,2,3,4,5

Assignment U5

Assignment consists of:

  1. writing programs according to class standards and in response to assignment prompt (Week 11).
  2. register to participate in Code Walk (Week 11).
  3. presenting and explaining parts of the submitted code in a code walk (Week 12).
  4. answering questions about related course content in a code walk (Week 12).


1) The deadline for submitting code to GitLab is at 15:00 Canberra time on Friday of week 11, plus 24 hours times assignment variable V5.

2) Students need to separately register their intent to participate in the code walk, held in week 12, before 18:00 Canberra time on Friday of week 11. This is not affected by assignment variable V5.

  • Assignment will be marked with 0 if statement of originality has not been submitted, or if student does not register for or does not attend scheduled code walk.
  • Scheduled code walk will be cancelled if student does not submit something sufficiently assessable. The "return of assessment date" indicates when this determination is made and students are notified accordingly. All other parts of assessment feedback are given during the scheduled code walk, where applicable.
  • This assignment has 40% distinction-level content. In order to be eligible for the distinction-level content to be assessed in the code walk, students need to achieve 90% of the marks in automated tests on non-distinction-level content and actively elect to be evaluated on distinction-level content.

Assessment Task 8

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

Final Exam (Hurdle)

Conducted in computer labs with limited internet access and no materials except dictionaries which require School approval in writing prior to the exam.

The final exam is a hurdle assessment.

Students need to achieve at least 40% of the marks on this exam (including marks reserved for distinction-level content) to pass the hurdle.

This exam has 25% distinction-level content. In order for distinction-level content to be assessed, students need to achieve 90% of the marks on non-distinction-level content.

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.

Returning Assignments

For assignments U1-U5, Students will be marked and get feedback directly in code walks, and will also be provided with the results of automated tests used to evaluate their submitted code. Further information to be provided on course site.

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 ALBERTO F. MARTIN
comp1110@anu.edu.au

Research Interests


Dr ALBERTO F. MARTIN

Sunday
Dr Fabian Muehlboeck
U1125208@anu.edu.au

Research Interests


Programming Language Design / Gradual Typing / Parsing

Dr Fabian Muehlboeck

By Appointment

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