Course pages 2014–15
Computer Fundamentals
Principal lecturer: Dr Robert Harle
Taken by: Part IA CST, Part IA NST, Part I PBS
Computer Fundamentals is an optional lecture course that covers important core concepts and ideas in Computer Science. It is intended to help anyone with limited experience with Computer Science.
Lectures are on Thursdays in Lecture Theatre 1 at the Computer Laboratory, at 3pm and 4pm (the latter is a straight repeat of the former for those that could not come to it).
Lecture 1 (16/10/14): Bits, Bytes and Number Systems
- The significance of the bit and powers of 2
- Data quantities (B, kB, MB, GB, etc)
- Number systems (decimal, binary, octal , hexadecimal)
- Representing negative numbers (sign-magnitude, 1s' complement, 2’s complement)
- Binary addition (carries, overflows)
- Binary subtraction
Annotated slides here
Lecture 2 (23/10/14): How Modern Computers Work
- Stored program models (Von-Neumann, Harvard)
- Simple model of a CPU
- The Fetch Execute Cycle
- Machine code vs assembly vs higher languages
- Compilers vs Interpreters
- Software libraries
Annotated slides here
Lecture 3 (30/10/14): Operating Systems and Concurrency
- The roles of the Operating System (kernel, timeslicing, scheduling)
- The notion of threads
- Concurrency and its problems
- Multi-core processors
- Virtual machines
Annotated slides here
Lecture 4 (05/11/14): Hardware and Peripherals
- CPUs in more detail
- Motherboards, buses, peripherals
- Memory hierarchy
- (S)RAM cells
- Spinning HDDs
- Flash and SSDs
- Graphics Cards and GPUs
- RISC and CISC
Annotated slides here