Module 06-21978 (2013)
ICY Introduction to Computer Science
Level 1/C I
|Andrew Howes||Semester 1||10 credits|
The module will explore the broader context of programming, in particular in Java, at both lower levels (hardware and software) and higher (logical). Topics will include: introduction to computer architecture and low level code, programming by contract and invariants.
The aims of this module are to:
- Introduce the fundamentals of stored program computing
- Introduce the reasoning principles for object-oriented computing
On successful completion of this module, the student should be able to:
1 Demonstrate knowledge of the fundamentals of computer hardware and software architectures
2 Explain the relation between high level and low level code
3 Explain and apply basic principles for reasoning about high level code
- 06-21933 - Fundamentals: Intro to Computer Science
2 hrs lectures/tutorials per week
Contact Hours: 24
Sessional: 1.5 hour examination (80%), continuous assessment (20%)
Supplementary (where allowed): 1.5 hour examination (100%)
- A brief history of the development of the Stored-Program Digital Computer. The von Neumann computer.
- Computer Hardware Organisation (Central Processing Unit, Primary and Secondary Memory, Input/Output devices).
- Instruction sets (CISC, RISC); Instruction execution cycles; Memory addressing modes; Interrupts.
- System Software (Compilers, Interpreters, Assemblers, Loaders)
- Operating Systems basic functions (Device Management, Process Management, Memory Management)
- Scheduling and Synchronization.
- Networks (Topology, Security).
- Computability, complexity and correctness.