School of Computer Science

Module 06-21933 (2014)

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, program structure, algorithms, data structures and their analysis.


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
  4. Explain the main principles of object-oriented programming

Restrictions

None


Taught with

  • 06-21978 - ICY Introduction 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 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