Computer Science
The aim of the course is to provide students with a wide understanding of Computer Science. The course is sufficiently general to give you an excellent background for a professional career in industrial or commercial organisations, and the required background in computer science to enable you to undertake further study leading to the specialisations needed for a research career. This MSc course is suitable for students with a wide range of previous experience. The aims are to:
- give an understanding of the theoretical basis of computer science, and its importance in software development, including formal methods.
- give an understanding of the underlying principles of computer systems, and the applications which run on them.
- give a foundation in professional standards of analysis, design, implementation, testing and documentation in software development.
- give experience in both team working and individual working.
- give an appreciation of the current state and future directions of technological advances in computer science.
Objectives
At the end of this course you should be able to:
- transfer skills from specific subject matter to related or unrelated projects.
- develop and use models to predict the behaviour of computer applications.
- match appropriate software development methods to given software problems.
- take a problem and implement an appropriate software solution to that problem.
- document the problem-solving process.
- demonstrate an appreciation of the advantages and problems of using computers as parts of larger systems.
Introductory units
The introductory units are studied in the first semester. At the end of this part of the course, you will be able to approach large-scale software engineering design in a professional manner. Emphasis is placed on formal design and management. An important integrating factor will be the use of case studies that draw on facets of the syllabus. The main thread is the design of large software systems, starting from the initial problem and proceeding through formal specification to a finished product. The main programming language used in the course is C.
Advanced Units
The advanced units are studied in the second semester. In this part of the course, you study, in depth, a selection of key topics in Computer Science. Having studied these topics, you will have the necessary background to begin work on your dissertations. Furthermore, you must be capable of managing all levels of computer systems in your future careers. These topics address the academic and professional requirements to meet these needs.
All Introductory and Advanced units are compulsory.
