Module 06-21978 (2018)
ICY Introduction to Computer Science
Level 1/C I
Harish Tayyar Madabushi | Semester 1 | 10 credits |
Co-ordinator: Andrew Howes
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:
- Demonstrate knowledge of the fundamentals of computer hardware and software architectures
- Explain the relation between high level object-oriented code and low level execution
- 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
- Numbers.
- Memory.
- CPUs and stored programs.
- Subroutines and stacks.
- High and low level; compilers, interpreters.
- Java Virtual Machine (JVM) and bytecode.
- Objects in JVM.
- Instance invariants.
- Loop invariants.
- Reasoning with recursion.
- Computability and complexity.
Programmes containing this module
- BSc Year in Computer Science [5955]