- Course Code
- CS 2508
- Credit Points
- 15
- Course Coordinator
- Dr J R Lishman
Pre-requisites
Co-requisites
None
Notes
Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disability Co-ordinator.
Overview
Simple C Programming: data types, variables, operators and expressions, control structures (branching, looping, iteration), procedures and functions, input/output, arrays, pointers.
Data representation: bits, binary representation of integers and reals, character codes, Boolean algebra.
Register level machine: main functional parts of a computer - CPU, memory, I/O, buses; architecture of a simple CPU: registers, ALU, control unit; fetch/execute cycle, structure of instructions, instruction decoding; memory addressing: immediate, direct, register, indexing, etc. reference to binary machine code.
Special hardware support: floating point units, graphics.
Assembly language programming: relationship of symbolic instructions and memory addressing modes to the register level architecture; examples of simple assembly language programs.
Execution of C programs on the register level machine.
Memory: different types of memory - main, cache, backing.
I/O: transmission modes (serial/parallel, synchronous/asynchronous), DMA, interrupts.
Structure
12 week course - 2 one-hour lectures; one two-hour practical per week.
Assessment
1st Attempt: 1 two-hour written examination (75%) and in-course assessment (25%). In order to pass the course, candidates must obtain a pass mark in the examination and in the overall combination of examination and in-course assessment (with the above weights).
Resit: 75% from a two-hour written examination; 25% carried forward from original in-course assessment. Candidates must obtain a pass mark in the exam and the overall combination of exam and in-course assessment.