School of Computer Science

Module 06-21978 (2013)

ICY Introduction to Computer Science

Level 1/C I

Andrew Howes Semester 1 10 credits
Co-ordinator: Andrew Howes
Reviewer: John Barnden

The Module Description is a strict subset of this Syllabus Page.

Outline

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.


Aims

The aims of this module are to:

  • Introduce the fundamentals of stored program computing
  • Introduce the reasoning principles for object-oriented computing

Learning Outcomes

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


Restrictions


Taught with

  • 06-21933 - Fundamentals: Intro to Computer Science

Teaching methods

2 hrs lectures/tutorials per week

Contact Hours: 24


Assessment

Sessional: 1.5 hour examination (80%), continuous assessment (20%)

Supplementary (where allowed): 1.5 hour examination (100%)


Detailed Syllabus

  1. A brief history of the development of the Stored-Program Digital Computer. The von Neumann computer.
  2. Computer Hardware Organisation (Central Processing Unit, Primary and Secondary Memory, Input/Output devices).
  3. Instruction sets (CISC, RISC); Instruction execution cycles; Memory addressing modes; Interrupts.
  4. System Software (Compilers, Interpreters, Assemblers, Loaders)
  5. Operating Systems basic functions (Device Management, Process Management, Memory Management)
  6. Scheduling and Synchronization.
  7. Networks (Topology, Security).
  8. Computability, complexity and correctness.

Programmes containing this module