This course aims to give students an understanding of how computer systems work, at the lowest level seen by the programmer, namely the interface between the computer hardware and software. Topics include: data representation, the development of computer architectures and Instruction Set Architecture (ISA), assembly language, assembly language programming, an introduction to elementary C syntax, the mapping of C programming language to an ISA and the mechanism of memory organization.
This course is our core Stage 2 computer systems course and is a pre-requisite for all of the computer systems courses offered in Stage 3:
- COMPSCI 313: Computer Architecture
- COMPSCI 315: Data Communications Technologies
- COMPSCI 316: Cyber Security
- COMPSCI 340: Operating Systems
Given that it introduces C programming, this course is also a pre-requisite for COMPSCI 373: Computer Graphics and Image Processing where C and C++ are used.