NOTE: I initially created this site while still at University, and stopped updating it several years ago. I'm leaving it here as most of the stuff here is probably still true, but please note that most is almost certainly out of date.

I've started making an up-to-date CV at

 Education :: Degree > Specification
This page contains the Programme Specification for my Computing degree.
The BSc (Honours) Computer Science programme reflects a view of Computer Science grounded in an understanding of its methodologies. It stems from a pragmatic approach to Computer Science, providing a strong theoretical foundation, and building this into the practice of Computer Science so that theory and practice are fully integrated. The prgoramme leads into advanced and emerging areas of Computer Science, encouraging students to apply foundational work to the experimental.
In the first two years of the BSc (Hons) Computer Science programme vertical "streams" of compulsory units build upon one another to provide subject depth.
One stream focuses on the foundational aspects of Computer Science, presenting the mathematical underpinning, semantics, logic, formal specification and algorithmic analysis.
A second stream builds up the students' knowledge of program development and programming techniques, built on the underpinning of emphasis on correct specification, design, evaluation and testing.
The third stream examines software development from a software engineering perspective, introducing lifecycle issues and emphasising the use of appropriate techniques for model-biulding throughout the lifecycle, culminating in a software project.
A fourth stream provides understanding of computer hardware architectures, low-level software layers and low-level software construction.
This sound foundation sets the scene for wider student choice in the final year, allowing students to expand their knowledge within a stream or apply their knowledge in areas related to the research interests of academic members of the Department.
The final year Project Preparation and Project units allow students to demonstrate the knowledge they have gained and apply it to new areas of work.
  • to provide a stimulating environment which encourages students to be critically receptive and responsive to new ideas and to attain their full academic potential
  • to provide a strong conceptual and theoretical understanding that will enable students to evaluate, adopt and utilise new methods and techniques in the face of changing technology
  • to develop in students the ability to evaluate, select and apply appropriate technologies in the comprehension, manipulation and development of complex systems
  • to expose students to emerging technologies that take them towards the edge of current knowledge
  • to develop critical, analytical and interpersonal skills that prepares students to become active professionals and contribute to the intellictual life of society
Knowledge and Understanding
  • To recognise and distinguish between selected canonical forms of computer hardware architecture and examples of operating system technology, and understand how hardware and software are integrated to create computer systems
  • To identify the lifecycle of software development and recognise the need for management techniques to control the software development process
  • To understand the mathematical and theoretical underpinnings of computing, computability and computer languages, and its importance in rigorous software development
  • To identify the importance of the human and system interface at all levels of computing - systems, information and presentation
Intellectual Skills
  • To be able to demonstrate an understanding of essential facts, concepts, principles and theories relating to Computer Science and their relationship to one another
  • The ability to capture models of existing systems and devise models of new computer-based systems for the purpose of comprehension, communication and prediction
  • The application of formal and rigorous methods of expression to the specification, documentation, implementation and verification of systems
Professional Practical Skills
  • To be able to contribute to all areas of the system developmental lifecycle in the production of usable, reliable and timely solutions
  • To be able to consider alternative models of problems and apply practical and theoretical understanding to select appropriate solutions
  • The ability to succinctly present rational and reasoned arguments that address a given systems problem
  • The ability to select and utilise appropriate techniques and tools for the construction, documentation and validation of computer applications
Transferable and Key Skills
  • The communication of complex ideas and concepts through the application of appropriate analysis and design techniques
  • The ability to manage small-medium sized projects with resource and itme constraints
  • The ability to learn independently and transfer knowledge into unfamiliar situations in a spirit of critical enquiry
  • The ability to evaluate systems in terms of general and specific quality attributes and the possible trade-offs within a given problem

Last updated: 6 Nov 2005

Site design: Dale Lane

valid CSS used in this sitevalid HTML used on this page
 Education :: Degree > Specification

Home | Contact Details | CV | Technical | Training & Development
Community | Education | Employment