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
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.
E-Commerce and Web Development
One area of computing that has grown enormously in the last fifteen years is that of e-commerce. 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
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
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.
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.
COMBINED HONOURS (TBC. We are looking to remove the combined honours programme from our portfolio. The alternative to the current model has not yet been approved and may be subject to change. The previous model of delivery is not allowed under semesterisation.)
- Introduction to Programming
- Principles of Software Development
- Application Development or ECommerce and Web Development
Computer Law and Ethics
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
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
Object-oriented 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.
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.
Likely optional modules
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.
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 looks at how we can research new areas in computing. You will be given 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.
Combined Honours (TBC. We are currently looking to remove the combined honours programme from the portfolio. The Current the model of delivery cannot be semesterised)
Optional modules (between 2-4 of)
- ObjectOriented Programming (Application Development pre-requisite)
- Interactive Web Programming (*E-commerce &Web Dev pre-requisite)
- Computer Security
- Developing Database Systems with SQL
- Computer Law and Ethics
- Software Engineering
- Research Methods
Advanced Database Development with Oracle
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 looks at some very modern and complex techniques used in computer programming. Again, you will use the C# language, but will also 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 ‘patterns’ and study such areas as serialisation of objects to persistently store them and the use of reflection.
Individual Project (20 or 40 credit) - To be Confirmed – may be only 20 credit available
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
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 computer-based ciphers and other cryptographic mechanisms, which when combined can form protective protocols for a number of computer and everyday problems.
Distributed Architectures & Web Programming
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
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 evidence-based approach to consider the alternative choices that would be open to a person working in the computing field.
Human-Computer 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
This module looks at the development of apps under the Android operating system using the Java-like 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.
This module looks at the operation and underlying operations of the operating system in the use of modern, large-scale 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
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 (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.
Combined Honours Options
2, 3 or 4 modules from the list below, in combination with your other subject. Subject to limits based on modules studied in year two:
Advanced Programming (Requires OO programming in year two)
Advanced Database Development with Oracle (Requires Developing Database Systems with SQL in year 2)
Individual Project (Requires Software Engineering in Year 2) OR Individual Study (Requires Research Methods in year two)
Recent Advances in Computer Networks (Required Computer Networks in year two)
Current Issues in Web Technology