School of Computer Science

Module 06-21978 (2015)

ICY Introduction to Computer Science

Level 1/C I

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 software architectures
  2. Explain the relation between high level object-oriented code and low level execution
  3. Explain and apply basic principles for reasoning about high level object-oriented code.

Restrictions

None


Taught with

  • 06-21933 - Fundamentals Intro 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 (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