CECS Professional Skills Mapping

COMP2300 — Computer Organisation and Program Execution

code: COMP2300
name: Computer Organisation and Program Execution
unit value: 6
description: This course lays the foundations for the understanding of CPU architectures, networking and operating systems. Additionally, it introduces topics which cut across many computer systems, such as cross-layer communication and basic concurrency (as well as basic ideas of virtualization and efficiency through proximity).

CPU architectures are discussed from first principles (digital logic) and are expanded into current day designs. This also involves assembler level programming to connect hardware circuits to the world of software. Representations of data types and high-level code at the machine level will be made clear by keeping the relations between high-level and machine-level code throughout the course. It will also look at how concurrent software constructs can or cannot be translated into parallel hardware operations.

This course will cover a wide range of topics such as digital logic: transistors, gates, and combinatorial circuits; clocks; registers and register banks; arithmetic-logic units; data representation: big-endian and littleendian integers; ones and twos complement arithmetic; signed and unsigned values; Von-Neumann architecture and bottleneck; instruction sets; RISC and CISC designs; instruction pipelines and stalls; rearranging code; memory and address spaces; physical and virtual memory; interleaving; page tables; memory caches; bus architecture; polling and interrupts; DMA; device programming; assembly language; optimizations; concurrency and parallelism; and data pipelining.

Knowledge of the principles of networking and operating systems (as well as their relation to computer hardware) are essential for every computer scientist and this course will provide those foundations.

The relation of assembler level building blocks (macros) to constructs in direct compiled language is demonstrated throughout the course.

While this course provides the above foundations (which stand on their own), it also prepares students for the follow-up course COMP2310 Systems, Networks and Concurrency, which rounds off the knowledge about concurrency in current computer systems of any scale, as well as expands the knowledge in networking and operating systems.
P&C: https://programsandcourses.anu.edu.au/course/COMP2300
course learning outcomes:
  1. Describe the layers of architectures in computer systems from digital logic to networks and explain how the major components of a CPU are composed (in terms of digital logic) and work together (including how data is represented on a computer).
  2. Design, implement and analyse programs in assembly language, including synchronization, I/O and interrupt techniques and describe the relationship between high-level languages and assembly languages, including function calls and basic control structures.
  3. Demonstrate foundational knowledge about operating systems and networks.
  4. Demonstrate the ability to migrate between all essential abstraction levels when discussing computer systems design, ranging from a software oriented view all the way through to individual digital circuits and conceptually connect hardware and software aspects of computer systems.
  5. Demonstrate a well founded understanding of the implications of machine level choices on efficiency and predictability in the context of the hardware architectures covered in the course.
assessment:
  1. Assignment 1 (15%)
  2. Assignment 2 (17%)
  3. Assignment 3 (17%)
  4. Hurdle Lab (1%)
  5. Mid semester exam (20%)
  6. Final Exam (30%)

Mapped learning outcomes

learning outcome1. KNOWLEDGE AND SKILL BASE2. ENGINEERING APPLICATION ABILITY3. PROFESSIONAL AND PERSONAL ATTRIBUTESassessment tasks
1.11.21.31.41.51.62.12.22.32.43.13.23.33.43.53.6123456
  1. Describe the layers of architectures in computer systems from digital logic to networks and explain how the major components of a CPU are composed (in terms of digital logic) and work together (including how data is represented on a computer).
  1. Design, implement and analyse programs in assembly language, including synchronization, I/O and interrupt techniques and describe the relationship between high-level languages and assembly languages, including function calls and basic control structures.
  1. Demonstrate foundational knowledge about operating systems and networks.
  1. Demonstrate the ability to migrate between all essential abstraction levels when discussing computer systems design, ranging from a software oriented view all the way through to individual digital circuits and conceptually connect hardware and software aspects of computer systems.
  1. Demonstrate a well founded understanding of the implications of machine level choices on efficiency and predictability in the context of the hardware architectures covered in the course.

Course contribution towards the Engineers Australia Stage 1 Competency Standard

This table depicts the relative contribution of this course towards the Engineers Australia Stage 1 Competency Standard. Note that this illustration is indicative only, and may not take into account any recent changes to the course. You are advised to review the official course page on P&C for current information..

1. KNOWLEDGE AND SKILL BASE
1.1
 
1.2
 
1.3
 
1.4
1.5
 
1.6
2. ENGINEERING APPLICATION ABILITY
2.1
 
2.2
 
2.3
2.4
3. PROFESSIONAL AND PERSONAL ATTRIBUTES
3.1
3.2
 
3.3
 
3.4
3.5
3.6

Engineers Australia Stage 1 Competency Standard — summary

1. KNOWLEDGE AND SKILL BASE
1.1Comprehensive, theory based understanding of the underpinning natural and physical sciences and the engineering fundamentals applicable to the engineering discipline.
1.2Conceptual understanding of the, mathematics, numerical analysis, statistics, and computer and information sciences which underpin the engineering discipline.
1.3In depth understanding of specialist bodies of knowledge within the engineering discipline.
1.4Discernment of knowledge development and research directions within the engineering discipline.
1.5Knowledge of contextual factors impacting the engineering discipline.
1.6Understanding of the scope, principles, norms, accountabilities and bounds of contemporary engineering practice in the engineering discipline.
2. ENGINEERING APPLICATION ABILITY
2.1Application of established engineering methods to complex engineering problem solving.
2.2Fluent application of engineering techniques, tools and resources.
2.3Application of systematic engineering synthesis and design processes.
2.4Application of systematic approaches to the conduct and management of engineering projects.
3. PROFESSIONAL AND PERSONAL ATTRIBUTES
3.1Ethical conduct and professional accountability.
3.2Effective oral and written communication in professional and lay domains.
3.3Creative, innovative and pro-active demeanour.
3.4Professional use and management of information.
3.5Orderly management of self, and professional conduct.
3.6Effective team membership and team leadership.

Updated:  18 February 2021/ Responsible Officer:  Dean, CECS/ Page Contact:  CECS Academic Education Services