Metadata
Title
Programs and Courses
Category
courses
UUID
c64e38a0434842cb9b2e6bdd0b42a6af
Source URL
https://programsandcourses.anu.edu.au/course/COMP2100
Parent URL
https://programsandcourses.anu.edu.au/program/AACOM
Crawl Time
2026-03-11T02:23:45+00:00
Rendered Raw Markdown
# Programs and Courses

**Source**: https://programsandcourses.anu.edu.au/course/COMP2100
**Parent**: https://programsandcourses.anu.edu.au/program/AACOM

- Code
  [COMP2100](https://programsandcourses.anu.edu.au/2026/course/COMP2100)
- Unit Value
  6 units

- Offered by
  School of Computing
- ANU College
  ANU College of Systems and Society
- Course subject
  Computer Science
- Areas of interest
  Computer Science, Information Technology, Software Engineering, Software Development

- Academic career
  UGRD
- Course convener
  - AsPr Alex Potanin
  - Dr Charles Gretton
  - Dr Dylan Campbell
- Mode of delivery
  In Person
- Co-taught Course
  - [COMP6442](https://programsandcourses.anu.edu.au/course/COMP6442)
- Offered in

  First Semester 2026\

  Second Semester 2026\

  [See Future Offerings](#terms)
- STEM Course
- Graduate Attributes
  - Transdisciplinary

[Tweet](https://twitter.com/share)

var encodedUri = encodeURIComponent(location.href);

[Share on Facebook](#)

[Wattle Share](https://wattle.anu.edu.au/)

[Canvas](https://canvas.anu.edu.au)

[SELT Survey Results](http://unistats.anu.edu.au/internal/surveys/selt/learning/time-series/COMP2100_Time_Series_LRN.pdf)

Software Construction ([COMP2100](https://programsandcourses.anu.edu.au/2026/course/COMP2100))

- [Introduction](#introduction)
- [Learning Outcomes](#learning-outcomes)
- [Indicative Assessment](#indicative-assessment)
- [Workload](#workload)
- [Inherent Requirements](#inherent-requirements)
- [Requisite and Incompatibility](#incompatibility)
- [Prescribed Texts](#prescribed-texts)
- [Assumed Knowledge](#assumed-knowledge)
- [Fees](#fees)
- [Offerings and Dates](#terms)

This course extensively explores the fundamental principles and practices necessary for creating medium-scale software projects, with a specific focus on the object-oriented programming paradigm. By blending theoretical understanding with hands-on practice, students establish a robust foundation in software construction, drawing from their prior programming experience. Key topics, including programming techniques at large, life cycle models, data manipulation techniques, and GUI concepts, are highlighted to foster a comprehensive grasp of software development. Ultimately, the course empowers students with the skills to construct medium-scale software projects efficiently, ethically, and in alignment with industry standards.

## Learning Outcomes

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

1. Apply object-oriented programming concepts for medium-scale software projects
2. Understand the fundamentals of life cycle models for developing medium-scale software projects
3. Apply and Evaluate software construction principles across various life cycle stages in medium-scale software projects
4. Describe contractual specifications, analyse documentation and specifications against other’s code, develop, understand, test, and evolve substantial programs using a modern IDE, and  Understand fundamental concepts of GUIs and user interfaces
5. Understand basic concepts of intellectual property in software construction, considering ethical and social implications of technical decisions
6. Apply and Evaluate techniques for data manipulation in medium-scale software projects

## Indicative Assessment

1. Assignments (30) [LO 1,2,3,4,5,6]
2. Labs and Video Assignments (25) [LO 1,2,3,4,5,6]
3. Final Exam (45) [LO 1,2,3,4,5]

The ANU uses 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. While the use of Turnitin is not mandatory, the ANU highly recommends Turnitin is used by both teaching staff and students. For additional information regarding Turnitin please visit the [ANU Online](http://services.anu.edu.au/information-technology/software-systems/turnitin) website.

## Workload

Lectures and laboratory sessions plus self study to a total of 130 hours.

## Inherent Requirements

None

## Requisite and Incompatibility

To enrol in this course you must have successfully completed:
[COMP1110](https://programsandcourses.anu.edu.au/2026/course/COMP1110) or [COMP1140](https://programsandcourses.anu.edu.au/2026/course/COMP1140)
AND 6 units of 1000 level MATH.
You are not able to enrol in this course if you have completed [COMP6442](https://programsandcourses.anu.edu.au/2026/course/COMP6442).

## Prescribed Texts

No prescribed textbooks.

## Assumed Knowledge

Introductory programming, preferably in an object-oriented language, to design and implement programs with several classes, with simple inheritance.

## Fees

Tuition fees are for the academic year indicated at the top of the page.

**Commonwealth Support (CSP) Students**\
If you have been offered a Commonwealth supported place, your fees are set by the Australian Government for each course. At ANU 1 EFTSL is 48 units (normally 8 x 6-unit courses). More information about your student contribution amount for each course at **[Fees](https://www.anu.edu.au/students/program-administration/fees-payments/student-contributions)**. 

Student Contribution Band:
:   [2](https://students.anu.edu.au/fees/domestic/csp.php)

Unit value:
:   6 units

If you are a **domestic graduate coursework student** with a Domestic Tuition Fee (DTF) place**or international student** you will be required to pay course tuition fees (see below). Course tuition fees are indexed annually. Further information for domestic and international students about tuition and other fees can be found at **[Fees](http://students.anu.edu.au/fees/)**.

Where there is a unit range displayed for this course, not all unit options below may be available.

| Units | EFTSL |
| --- | --- |
| 6.00 | 0.12500 |

## Course fees

[Domestic](#indicative-fees__domestic)
[International](#indicative-fees__international)

Domestic fee paying students

| Year | Fee |
| --- | --- |
| 2026 | $5520 |

International fee paying students

| Year | Fee |
| --- | --- |
| 2026 | $7020 |

**Note:** Please note that fee information is for current year only.

\

## Offerings, Dates and Class Summary Links

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](https://www.anu.edu.au/students/program-administration/timetabling).

The list of offerings for future years is indicative only.
\

Class summaries, if available, can be accessed by clicking on the View link for the relevant class number.

[2026](#course-tab-1)

[2027](#course-tab-2)

### First Semester

| Class number | Class start date | Last day to enrol | Census date | Class end date | Mode Of Delivery | Class Summary |
| --- | --- | --- | --- | --- | --- | --- |
| 3699 | 23 Feb 2026 | 02 Mar 2026 | 31 Mar 2026 | 29 May 2026 | In Person | [View](https://programsandcourses.anu.edu.au/course/COMP2100/First%20Semester/3699) |

### Second Semester

| Class number | Class start date | Last day to enrol | Census date | Class end date | Mode Of Delivery | Class Summary |
| --- | --- | --- | --- | --- | --- | --- |
| 8676 | 27 Jul 2026 | 03 Aug 2026 | 31 Aug 2026 | 30 Oct 2026 | In Person | N/A |

### First Semester

| Class number | Class start date | Last day to enrol | Census date | Class end date | Mode Of Delivery | Class Summary |
| --- | --- | --- | --- | --- | --- | --- |
| 5103 | 22 Feb 2027 | 01 Mar 2027 | 31 Mar 2027 | 28 May 2027 | In Person | N/A |

### Second Semester

| Class number | Class start date | Last day to enrol | Census date | Class end date | Mode Of Delivery | Class Summary |
| --- | --- | --- | --- | --- | --- | --- |
| 10106 | 26 Jul 2027 | 02 Aug 2027 | 31 Aug 2027 | 29 Oct 2027 | In Person | N/A |