Computer Systems (20 credits)
Computer systems examines the underlying fundamentals of computer systems’ operations, including the number systems they use, how computer processors operate at a simple level and the relationship between different hardware components.
The Computing Professional (20 credits)
This module introduces you to the variety of roles there are in computing and some of the key skills required to work in those areas. You will also start to think about the ethical issues in the field of computing and start to develop your own ideas of appropriate responses to these. You will also start to look at some of the non technical skills that are involved in computing such as team work, presentation and research.
ECommerce and Web Development (20 credits)
One area of computing that has grown enormously in the last fifteen years is that of ecommerce. Both business to business and business to consumer sales and marketing is now often done electronically using web sites and systems. This module looks at the concepts of e commerce systems and looks at development of web sites using HTML 5/CSS and the use of content management systems (CMS) to produce end user informational websites.
Principles of Software Development (20 credits)
We look at the basic ideas of software engineering – the processes that should be followed to go through to develop software solutions. You will also study the basic concepts of standard algorithms and data storage and the mathematics required to support this area.
Introduction to Programming (20 credits)
This is the first module of programming in the degree and teaches students who may have no prior programming experience some of the fundamental concepts in the area. You will work with two different programming languages – for example to develop Android apps using MIT App Inventor and traditional applications in the C# programming language.
Application Development (20 credits)
This module continues on from introduction to programming and develops your programming skills in the main development language, e.g. the C# programming language. You will develop graphical user interface applications that run in the Windows operating system. A strong emphasis is placed on high quality development that provides a strong foundation for future more advanced software development skills.
Computer Law and Ethics (20 credits)
You will look at the laws that apply especially to computer systems and their users. A largely UK centred approach is taken looking at such laws as the Data Protection Act and the Computer Misuse Act how these have been applied in practice and how they might apply in the future.
Developing Database Systems with SQL (20 credits)
This module looks at the concepts and theories behind the use the relational database model and how this is practically implemented in the Oracle Relational Database Management System using the SQL language. Oracle is the world’s most popular database management system by market share.
Interactive Web Programming (20 credits)
Object Oriented Programming (20 credits)
Objectoriented programming continues the software programming stream from year 1 by looking at a way of thinking about problems and development of solutions – using the class and object model. Continuing the use of the main programming language from year 1 (typically C#) the module deepens your knowledge of how to use the power of this development language.
Software Engineering (20 credits)
This module deepens the knowledge and understanding of how we go about building software in a controlled and measured way. At the end of the module you will have produced a fully articulated project proposal for your third year Individual Project, which forms a compulsory part of year three.
Advanced Database Development with Oracle (20 credits)
This module deepens your knowledge of database development, following on from Developing Database Systems with SQL, giving you a greater understanding in order to maximize the benefits of using a database management system.
Advanced Programming (20 credits)
Advanced Programming looks at some very modern and complex techniques used in computer programming. You may be exposed to other programming languages in order to experience the full range of methods for software development. You can expect to look at a number of programming ‘patterns’ and study such areas as serialisation of objects to persistently store them and the use of reflection.
Individual Project (20 or 40 credits)
The individual project allows you to create a substantial software development using elements of your learning so far. You choose your own particular topic area, with guidance from academic staff. You work largely on your own, again with guidance and some input from a supervising member of academic staff.
Likely optional modules
Computer Networks (20 credits)
The computer networks module introduces you to the theories and practical deployment of computer networks to enable more than one computer to communicate to share both data and processing. Students will be introduced to the OSI and TCP/IP models of network operation.
Computer Security (20 credits)
This module introduces you to the concepts, practices and issues of ensuring computer systems are kept secure. You will be introduced to the common approaches to attacking systems and some mechanisms that help protect them.
Research Methods (20 credits)
Research methods looks at how we can research new areas in computing. You will study a range of tools to glean data, such as interviews, questionnaires and experimentation. You will also be given the analysis tools to make sense of the data collected, such qualitative and quantitative statistics. By the end of the module you will have produced a fully articulated research proposal.
Cryptology (20 credits)
Cryptology is the study of codes and ciphers. These are highly important in the computer environment to protect information from malicious attack or unintended release. You will study the operation of modern computerbased ciphers and other cryptographic mechanisms, which when combined can form protective protocols for a number of computer and everyday problems.
Distributed Architectures & Web Programming (20 credits)
This modules deepens the work started in Interactive Web Programming to look at larger scale developments and processing that is split between different systems can be effectively designed and deployed. The Java programming language is used in order to do this alongside the PHP programming language learned in the previous module.
Ethical and Professional Computing (20 credits)
This module deepens the understanding of how ethics and professional codes of conduct may affect what a computing professional will do and how they approach it. You will look at a number of issues and use an evidencebased approach to consider the alternative choices that would be open to a person working in the computing field.
Human Computer Interaction (20 credits)
HumanComputer Interaction looks at the interplay between the human user of a computer system and the computer system itself in order to maximise its effectiveness. You will study a number of theories of good design of computer systems and will deploy these in the design of your own interfaces. Further, once designed or implemented you will learn techniques for evaluating the effectiveness of the interfaces in order to improve them.
Mobile App Development (20 credits)
This module looks at the development of apps under the Android operating system using the Javalike Android development language and libraries. You will also be introduced to the networking concepts required to develop such applications so that they may interact over mobile or wireless networks.
Operating Systems (20 credits)
This module looks at the operation and underlying operations of the operating system in the use of modern, largescale computer systems. You will gain an understanding of how resources are managed by the operating system by looking at these in theory and the actual operation in systems such as Windows and Linux.
Placement in Industry or Commerce (20 credits)
The placement module is a flexible module that allows you to gain experience and put your knowledge into practice outside the university classroom setting. This can be done over the summer before your third year of study as a block of work; during your third year on a given number of hours each week; or some combination in agreement with the organisation and University.
You will be required to pass all your second year modules of study at first attempt; have a good overall average and must gain your placement place to be eligible to take this module. You will be given assistance in identifying and applying for placements.
Recent Advances in Computer Networks (20 credits)
(Requires Computer Networks to be chosen in Year 2)
This module deepens your understanding of computer networking by looking at a number of more recent mechanisms for computer networking, such as mobile networks and the latest versions of the TCP/IP protocols. This will enable you to make the most effective use of networking hardware to create distributed systems.