Module 06995.2 (2002)
Syllabus page 2002/2003
06-06995
Fundamentals of Computer Science
Level 4/M C
exr
jry
Eike Ritter (coordinator)
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
For more information on the material taught by Dr Kwiatkowska in
part i: Introduction to Computer
Science see the module web page at
http://www.cs.bham.ac.uk/~mzk/courses/IntroCS/.
Additional Material for part ii: 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; data types and algorithms.
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
- give an overview of fundamental data structures and algorithms
Learning Outcomes
| On successful completion of this module, the student should be able to: | Assessed by: | |
| 1 | demonstrate knowledge of the fundamentals of computer hardware and software architectures | Examination |
| 2 | explain the differences between software engineering models and the circumstances in which each model is appropriate | Examination |
| 3 | understand the role of requirements and specifications | Examination |
| 4 | select a suitable design methodology for a given problem | Examination |
| 5 | understand the role of validation and verification and be able to evaluate and test simple programs | Examination |
| 6 | understand and be able to select from a range of data structure and associated algorithms | Examination |
| 7 | appreciate differences between basic complexity classes of algorithms | Examination |
Restrictions, Prerequisites and Corequisites
Restrictions:
None
Prerequisites:
None
Co-requisites:
None
Teaching
Teaching Methods:
4 hrs of lectures/tutorials per week in Semester 1 and 2 hrs of lectures/tutorial per week in Semester 2
Contact Hours:
Assessment
- Supplementary (where allowed): As the sessional assessment
- 3 hr examination (100%).
Recommended Books
| Title | Author(s) | Publisher, Date |
| Computer Science - a modern Introduction | L Goldschlager, A Lister | Prentice Hall, 1988 |
| Software Engineering - a practitioner's approach | R Pressman | McGraw Hill, |
| Data Structures and Algorithms in Java, 2nd Edition | M Goodrich | Wiley, 2000 |
Detailed Syllabus
-
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.
- Programming Methodology
- Importance of good Programming Methodology
- Definition of Software Engineering
- The Software Lifecycle
- Requirements and Specification
- Software Design
- Design Methodologies
- Verification and Testing
- Data Structures and Algorithms
- What is a Data Type?
- Specification and reprenstation of Abstract Data Types
- Lists
- Index lists
- Stacks and Queues
- Sets as abstract data types
- Trees as abstract data types
- Graphs as abstract data types
Last updated: 24 September 2001
Source file: /internal/modules/COMSCI/2002/xml/06995.xml
Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus