This course is a rigorous introduction to the design of digital circuits and computer architecture. It provides technical foundations for how a computer system is built from the bottom up and how the high-level programming languages you learn in other courses are translated into simple instructions the computer executes. The course introduces the different abstraction layers necessary to make a computer system work, and a key focus is the connection between hardware and software.
The course introduces the predominant stored-program computer paradigm and principles of digital design and computer architecture. Students build a fully functional general-purpose computer from simple logic circuits in a digital simulator. The course also demystifies assembly code, the machine language the processor speaks, and the mapping of assembly programs to higher levels of programming abstraction. The focus is on fundamental techniques employed in the design of modern microprocessors and their hardware/software interface.
This course will challenge your understanding of how computers work and what happens in them when we run a program. At the end of this course, you will be able to navigate between layers of abstraction in a computer system, from individual digital circuits to high-level software, and understand how low-level structures enable and enhance the abilities of a computer system.
This course covers topics such as combinational and sequential logic design, digital building blocks such as arithmetic/logic unit and random access memory, instruction set architectures and assembly programming, input/output systems, interrupt handling, single-cycle and pipelined processor design, out-of-order execution, and hardware speculation.
Learning Outcomes
Upon successful completion, students will have the knowledge and skills to:
- Understand the basics of digital circuits and principles of digital design.
- Learn how a modern computer works underneath from the bottom up.
- Design and implement a simple processor in a digital simulator following a principled approach.
- Evaluate tradeoffs of different designs and ideas.
- Debug complex systems systematically at different abstraction layers.
- Evaluate computer systems at abstraction levels from software to individual digital circuits and account for the implications of machine-level choices.
- Write programs in assembly language and explain the relationship between high-level and assembly languages, including function calls and basic control structures.
Other Information
Professional Skills Mapping:
Mapping of Learning Outcomes to Assessment and Professional Competencies
The course website for Computer Organisation and Program Execution
Indicative Assessment
- Quizzes (10) [LO 1,2,3,4,5,6,7]
- Practical Assignments (40) [LO 3,4,5,7]
- Final Exam (50) [LO 1,2,3,4,5,6,7]
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 website.
Workload
130 hours including lectures, tutorials, and laboratories and self study.
Inherent Requirements
None.
Requisite and Incompatibility
Prescribed Texts
- Digital Design and Computer Architecture: ARM Edition by David Harris and Sarah L. Harris, Morgan Kaufmann, ISBN-13: 978-0-12-800056-4 (free at https://dl.acm.org/doi/10.5555/2815529).
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.
- Student Contribution Band:
- 2
- 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.
Where there is a unit range displayed for this course, not all unit options below may be available.
Units | EFTSL |
---|---|
6.00 | 0.12500 |
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.
Class summaries, if available, can be accessed by clicking on the View link for the relevant class number.
First Semester
Class number | Class start date | Last day to enrol | Census date | Class end date | Mode Of Delivery | Class Summary |
---|---|---|---|---|---|---|
2242 | 23 Feb 2026 | 02 Mar 2026 | 31 Mar 2026 | 29 May 2026 | In Person | N/A |