This postgraduate degree is designed for graduates in subjects other than Computing who feel that a postgraduate degree in Applied Computing would be a relevant and marketable addition to their existing qualifications.
The degree aims to give students a firm grounding in the knowledge, skills and understanding of computing and software development to enable them to operate effectively in the application of computing to industry, commerce and research.
The course runs from 10 September 2018 until 9 September 2019.
It consists of six taught modules over two semesters, with an examination for each unit. Please note that (i) some of the modules in the programme are shared with other M.Sc. programmes and (ii) some of the teaching and resources may be shared with a B.Sc. programme. These joint classes offer a valuable opportunity to learn from, and discuss the material with, other groups of students with different backgrounds and perspectives.
In the first semester you will study Software Development and Database Systems, together with an optional module chosen from Technology Innovation Management, User Experience and Big Data Analysis. In the second semester you will study Software Engineering, Advanced Programming Techniques and Human Computer Interaction & Usability Engineering.
Students taking the MSc then do an individual project which runs from May to September.
AC51002 Software Development
The module discusses the fundamental issues involved in problem solving using the computer. In addition to introducing good programming principles in general, the module gives an introduction to object-oriented software development and the C++ programming language. The module will cover the basic features of the language and its implementation on a network of personal computers. The module material is discussed in lectures (three per week) and during the weekly computer laboratory sessions.
When you have finished the module you will have
1. A detailed appreciation of the essential steps in the software development process
2. A sound understanding of the principles of object-oriented programming
3. Good working knowledge of the C++ programming language and its implementation in a Windows environment
AC51003 Software Engineering
This module provides a through introduction to software engineering principles. Starting with an overview of the software life cycle and the importance of software quality, the importance of analysing user requirements and producing comprehensive software requirements is considered. The system modelling that accompanies software requirements definition and architectural design is examined using a computer aided software engineering (CASE) tool. The documentation that is required to support a software product through out the design, testing and maintenance phases of its life is considered. Software engineering activities which take place after implementation of the code are covered including verification and validation and software maintenance. Finally, software project management and management documentation are examined.
AC52001 Database Systems
This module aims to teach the fundamentals of database structure and good database design. The reasons for the ascendancy of the relational model will be covered, and the implications of this for database design will be explained, both at the theoretical and practical level. The database management system used for the practical laboratory sessions will be MS Access. Students will use MS Access to develop the initial database tables but will use SQL to develop queries and Visual Basic to construct a user interface for their system. Students by the end of the module should be able to build database applications which will work in the real world, and have an understanding of the basic theoretical underpinnings to effective database design and operation.
AC52002 Advanced Programming Techniques
The module continues on from AC51002 in further discussing the features of the C++ programming language and reinforcing the various stages involved in producing high quality software. More complex programming problems are then considered, involving the manipulation of fundamental data structures and more about the creation and use of classes. The programs are implemented on a network of PC's running the Windows operating system.
When you have finished the module you will have
1. A more detailed knowledge of the C++ programming language
2. A detailed knowledge of classes and common data structures
3. More experience of working with the Windows operating system
AC52013 Human Computer Interaction & Usability Engineering
"Increasingly with computer systems, the product is the user interface"
The importance of human computer interaction and good interface design is increasingly recognised as the key to the future of successful software development. The aim of this module is to provide you with a broad introduction to human-computer interaction through study of the components, both human and machine, which make up interfaces and the ways in which they interact, illustrating this with examples of good and bad practice. This module is based on lectures, discussion, practical project work and demonstrations. The introductory nature of the module will help you to acquire the skills and knowledge necessary to make judgements about further study and to begin to apply the techniques which are introduced in real-world settings.
When you have finished the module you will have a broad understanding of
1. Design criteria for good human-computer interfaces
2. Choice and evaluation of interface technology
3. Physical, sensory and cognitive capabilities
4. Interactive computing and usability engineering methods
5. Human-computer interface testing
6. Programming for graphical user interfaces
AC52010 MSc Project
The aim of the project is to give the student experience in carrying out an independent research-oriented project involving significant software development, which is the culmination of the year of study in Applied Computing. You will gain experience in:
1. Researching, analysing, specifying, designing, coding, testing and evaluating your own project.
2. Producing a practical solution to a real and unfamiliar research-based problem using a disciplined approach to software creation.
3. Working in a research environment
4. Independent organisation of your own work
5. Project planning
6. Time management
7. Report writing
8. Project meetings
9. Communication and presentation
For entry requirements and funding options please see the online prospectus page