Module 15519.1 (2004)

Syllabus page 2004/2005

06-15519
Fundamentals of Computer Science A

Level 1/C I

Martin Escardo
Eike Ritter
Eike Ritter (coordinator)
20 credits in Semester 1

Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus


The Module Description is a strict subset of this Syllabus Page. (The University module description has not yet been checked against the School's.)

Relevant Links

Additional Material for Programming Methodologies


Outline

The module will explore the fundamentals of computer science, both hardware and software. Topics will include: introduction to hardware, operating systems, networking; programming languages; the software lifecycle, stages of the lifecycle, case studies.


Aims

The aims of this module are to:

  • introduce some basic software engineering issues, including requirements, specification, design and testing
  • develop an appreciation of the difference between good and bad software design
  • introduce the main hardware components of a computer and their function
  • explain the role of an operating system and system software

Learning Outcomes

On successful completion of this module, the student should be able to: Assessed by:
1demonstrate knowledge of the fundamentals of computer hardware and software architecturesExamination
2explain the differences between software engineering models and the circumstances in which each model is appropriateExamination
3understand the role of requirements and specificationsExamination
4select a suitable design methodology for a given problemExamination
5understand the role of validation and verification and be able to evaluate and test simple programsExamination

Restrictions, Prerequisites and Corequisites

Restrictions:

None

Prerequisites:

None

Co-requisites:

06-15520 (Fundamentals of Computer Science B) (linked module)


Teaching

Teaching Methods:

4 hrs of lectures/tutorials per week

Contact Hours:

46


Assessment

  • Supplementary (where allowed): As the sessional assessment
  • 3 hr examination (100%), divided equally between this module and the linked module 06-15520 (Fundamentals of Computer Science B).

Recommended Books

TitleAuthor(s)Publisher, Date
Computer Science - a modern IntroductionL Goldschlager, A ListerPrentice Hall, 1988
Software Engineering - a practitioner's approachR PressmanMcGraw Hill,

Detailed Syllabus

  1. Introduction to Computer Science
    • A brief history of the development of the Stored-Program Digital Computer. The von Neumann computer.
    • Computer Hardware Organisation (Central Processing Unit, Primary and Secondary Memory, Input/Output devices).
    • Instruction sets (CISC, RISC); Instruction execution cycles; Memory addressing modes; Interrupts.
    • System Software (Compilers, Interpreters, Assemblers, Loaders)
    • Operating Systems basic functions (Device Management, Process Management, Memory Management)
    • Scheduling and Synchronization.
    • Networks (Topology, Security).
    • Computability, complexity and correctness.
  2. Programming Methodology
    • Importance of good Programming Methodology
    • Definition of Software Engineering
    • The Software Lifecycle
    • Requirements and Specification
    • Software Design
    • Design Methodologies
    • Verification and Testing

Last updated: 24 Sep 2004

Source file: /internal/modules/COMSCI/2004/xml/15519.xml

Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus