School of Computer Science

Module 06-21933 (2017)

Fundamentals Intro to Computer Science

Level 4/M C

Steven Vickers Semester 1 10 credits
Co-ordinator: Steven Vickers
Reviewer: Uday Reddy

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

Outline

The module will explore some of the fundamentals of computer science. Topics will include: introduction to number systems, the relationship between software and hardware, reasoning about programs.


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 architectures
  2. Explain the relation between high level object-oriented code and low level code execution.
  3. Explain and apply basic principles for reasoning about high level object-oriented code.
  4. Reflect on the significance of computer science in other disciplines.

Restrictions

None


Taught with

  • 06-21978 - ICY Introduction to Computer Science

Teaching methods

2 hrs lectures/tutorials per week

Contact Hours: 23


Assessment

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

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


Detailed Syllabus

  1. Numbers.
  2. Memory.
  3. CPUs and stored programs.
  4. Subroutines and stacks.
  5. High and low level; compilers, interpreters.
  6. Java Virtual Machine (JVM) and bytecode.
  7. Objects in JVM.
  8. Instance invariants.
  9. Loop invariants.
  10. Reasoning with recursion.
  11. Computability and complexity.

Programmes containing this module