"Middlesex University has helped me broaden my horizons and I am now able to consider a wider range of projects in the IT industry, or even a PhD."Reg Goodwin, BSc Business Information Systems graduate
A computer science degree is the basis for a wide range of computer-based industry careers including roles as IT specialists, software developers and systems architects. Our course provides you with an understanding of the key principles of computer science, including computer systems design, implementation and usage, alongside the practical skills to develop programmed systems.
Our BSc in Computer Science will provide you with a thorough understanding of the key principles of computer science and provide you with highly sought after skills such as programming, system engineering, and project experience, which you will gain when working on both individual and group projects. We recognise the skills that employers are looking for and ensure you are equipped with the knowledge and experience to embark on a successful computer-based career.
In the first year you will develop a thorough grounding in the foundations of computer science through the use of project-led laboratory-based activities. Each project is carefully designed to allow you to learn at your own pace and to build important skills in a carefully-designed and progressive way.
In the second year, your foundation skills are complemented with knowledge and practical skills in systems engineering techniques typically used in industry.
After your second year you will have the opportunity to take an optional placement year in a computer-based industry. To support you financially while you benefit from industry experience, we will cover your tuition fees for the year.
In the final year of your degree, you'll be able to choose from a wide range of specialist topics in computer science, in addition to completing an individual project with a project supervisor who is a leader in their field.
You can find out more about this course in the programme specification.
In the first year of Computer Science, there are no modules or courses and all the activities run across various sessions during the week. The idea is that by employing a problem-driven approach you will gain the confidence needed to study independently. Each week consists of the following structured sessions: lecture, design workshop, programming workshop, physical computing workshop, synoptic workshop.
The module provides a firm basis for planning, programming and running distributed systems: how to design communicating processes using simple specification and graphical animation, and how to program concurrent programs. You will gain knowledge of the main concepts of distributed systems like processes, communication, and synchronisation and their central properties like fault tolerance and security. You will understand typical problems with distributed applications like deadlocks and mutual exclusion and will know the principles of networks and how distributed systems run on them.
This module provides the core notions required to develop, with confidence, software for real applications that you are likely to meet in your placement year. The module covers the whole software development process from requirements elicitation, to analysis and design, development as testing, documentation, maintenance, and quality assurance. In addition, through group work, this module offers the opportunity to develop a range of professional skills needed to work successfully as a member of a project team. You will learn to appreciate the importance of ethical, legal, organisational and environmental issues and business principles. Upon completion of this module, you will have practical knowledge of a number of tools to support all the steps involved in software development, project planning and project management. You will be able to assess the suitability of a range of solutions to contribute effectively to the planning, development, and evaluation of software systems.
There are now a wide range of programming technologies associated with the web, creating a more interactive experience with cross platform capabilities. These applications allow access to backend resources from databases to media content. As the internet has increased in speed and accessibility, the software technologies have been developed to enable dynamic applications to be deployed. This module provides experience in the development of such software artifacts and an understanding of the technologies and model behind the web.
This module provides you with the opportunity to demonstrate the theoretical knowledge and practical skills you have developed whilst studying this degree by undertaking a substantial piece of individual project work. The project will involve the production of a system that is expected to be of considerably greater scope than any of the coursework encountered in the taught part of the programme and demonstrates a significant level of scholarship.
The aim of this module is to introduce a range of AI theories and techniques, including the most commonly used. This will extend to the ability to implement these techniques, and you will extend your own development skills.
The aim of this module is to examine the concepts and techniques needed in the construction of interactive graphics and visualisation systems covering advanced graphics programming techniques. It will cover theory and mathematics as required and it aims to provide you with practical experience via significant individual project work developing 2D and 3D programs using an industry standard environment.
This module aims to give you an understanding of underpinning concepts and practical techniques relevant when considering humans, both in the organisation of design and design processes, and as a way of incorporating a user perspective in the design of products and services.
Interactive technologies are continually developing, and new devices that offer novel ways of interacting with computer-based systems are constantly finding their way into our homes, workplaces and lives. On this module, you will encounter and study a range of innovative and emerging interaction technologies. The module affords an opportunity to become familiar with the technologies and devices themselves as well as ways of analysing their applicability for particular uses and situations, and approaches evaluating their use.
By understanding how computing devices and products are used and studying the ways that usage changes over time, you will gain a critical awareness of the processes by which interactive products gain in popularity and become successful. After completing the module, you will be better equipped to anticipate and select the successful interaction technologies of the future, analyse situations of use and potential users, design using the latest interaction technology, and evaluate novel and innovative designs.
The aim of this module is to develop an appreciation and understanding of system modelling and analysis techniques in three different, yet related areas in computer science. This topic provides you with an opportunity to study some of these techniques, evaluate their effectiveness and make the comparison between classical and quantum information processing. You will have an opportunity to apply model checking techniques in a practical setting, evaluate their effectiveness and prepare them for industry or further study. You will also study the application of quantum information processing to security by introducing quantum key distribution as well as the application of model checking to quantum security protocols.
The aim of this module is to learn the underlying theories for Social Network Analysis (SNA) and Visual Analytics (VA). You will then apply this theory to produce analysis on Social Media, such as Consumer Generated Websites, Information in Organisations, e.g. email, and information related to criminal and digital investigations.
The aim of this module is to understand and appreciate the ethical implications and social impact of current technologies, to have a working knowledge of the legislation that applies in this area, and to apply expertise in a professional way. This module will encourage you to develop an awareness of your role in the implementation of new technologies, and the knowledge and skills necessary for a professional approach. The module will take an ethical perspective to computer technology, focusing on UK legislation and standards as they relate to IS practice and will include considerations for design and the responsibilities and requirements of the IT profession.
This module aims to introduce the Open Source software ecosystem. A range of issues involving Open Source will be discussed, both technical (the Open Source development model) and non-technical (legal, ethical and political issues). In order to gain hands-on experience, you will also participate in an existing Open Source project.
The central theme of this module is to equip you with the skills necessary to design and implement network infrastructures to support industrial communication, and to integrate Industry 4.0 enabled machines to facilitate a Cyber-Physical Factory. In doing so, you will embrace the practice of setting up TCP/IP communication between modules, IP-address design and allocation, secure wireless LAN communication, switching and routing services to support communication, deploy VPN for remote services, and to explore the integration of the CP Factory with the Internet of Things.
This module will examine the different notions of correctness relevant to computer systems, and how these are applied to the different parts of a computer system. Automatic and user-guided methods that attempt to find possible problems within systems will be covered and demonstrated on practical examples. Also, methods for ensuring that no problems can possibly exist within a system design will be examined and applied.
This module aims to teach you software design of the sub-systems of robots and how to integrate them into a reliable and efficient robotic system, via a series of closely connected projects. You will develop the practical capability to design a robot system for real application. Within the lab sessions, you will gain experiential understanding of the effects the sub-system design could have on the whole system.
This module aims to teach the fundamentals of computing combined with analytical (logical) skills applied to conceptual issues originating in theoretical and applied computer science. By locating computing devices in their structural and historical evolution and by learning the epistemic and ontological principles that define Computer Science, you will gain critical awareness of the processes by which computing has become an essential aspect of our lives and will understand how this subject is located with respect to other sciences.
This module aims to introduce software of MATLAB to perform basic tasks of image processing, including enhancement, segmentation, and measurement. In addition, this module will have a focus on image search, classification and retrieval as well as on applications to a number of medical imaging modalities, including x-ray, computerised tomography (CT), magnetic resonance (MR), echocardiography (ultrasound video images) and retinal imaging.
This module aims to provide an overview of the fundamental principles used in the emerging area of Ubiquitous Computing. These fundamental concepts will be illustrated with examples and small projects. You will be requested to write essays and develop small projects proposals to show your understanding of the module.
We're taking a new, innovative approach to teaching Computer Science at Middlesex, which uses practical, problem-led sessions to reflect the way Computer Science occurs in the real world.
Programming is integrated throughout the year, and you will attend lectures, workshops and tutorials. You will also learn through practical experience during supervised laboratory work, as well as your own guided research.
In your final year, you will be encouraged and helped to apply for work placements, and given help with your CV and interview technique. The School runs sessions in conjunction with a number of employers on the opportunities available.
You will be assessed through exams, practical demonstrations, essays, reports, presentations, individual and group work and online quizzes.
Typical offers for this course:
A Levels minimum two, maximum three subjects
Edexcel BTEC Level 3 Extended Diploma minimum two, maximum three subjects
Access to HE Diploma
Overall pass: must include 45 credits at Level 3 , of which all 45 must be at Merit or higher
If you are unable to meet the entry requirements for this course you may still be eligible for our Foundation year course. This is an extra year of study to prepare you for the full degree. For more information see our Computing and Engineering foundation page.
The UCAS Tariff has changed for courses starting in September 2017. The points awarded to each qualification have been lowered in comparison to the previous UCAS Tariff. Our entry requirements are displayed as the grades you will require, however if you wish to find out the equivalent tariff points please use the UCAS calculator.
UK/EU and International students are eligible to apply for this course.
If you have achieved a qualification such as a foundation degree or HND, or have gained credit at another university, you may be able to enter a Middlesex University course in year three. For further information please visit our Transfer students page.
If you have relevant work experience, academic credit may be awarded towards your Middlesex University qualification. For further information please visit our Accreditation of Prior Learning page.
We accept the equivalent of the above qualifications from a recognised overseas qualification. To find out more about the qualifications we accept from your country please visit the relevant Support in your country page.
If you are unsure about the suitability of your qualifications or would like help with your application, please contact your nearest Regional office for support.
You will not need a visa to study in the UK if you are a citizen of the European Union, Iceland, Liechtenstein, Norway or Switzerland. If you are a national of any other country you may need a visa to study in the UK. Please see our Visas and immigration page for further information.
You must have competence in English language to study with us. The most commonly accepted evidence of English language ability is IELTS 6.0 (with minimum 5.5 in all four components). Visit our English language requirements page for a full list of accepted English tests and qualifications. If you don't meet our minimum English language requirements, we offer an intensive Pre-sessional English course.
Entry onto this course does not require an interview, entrance test, portfolio or audition.
Our BSc Computer Science degree prepares you for a wide range of IT-based careers. Career prospects and the range of potential employers will be vast across the private, public and not-for-profit sectors. The average full-time salary for graduates from this group was £24,000. Based on data from the respondents of the 2009-10 Destination of Leavers in Higher Education survey, six months after graduating 75% Computing and Multimedia Technology graduates were in employment or further study.
Work placements are proven to increase your success in the job market – as well as being a fantastic experience. You can further develop your interpersonal skills, build your confidence, and make contact with industry leaders. By making a good impression during your placement year, you greatly increase your chances of securing a job with the company after graduation. Research shows that 70% of placements result in a graduate job offer.
We are seeking BCS (British Computer Society) accreditation for this course and you will be eligible for BCS membership retrospectively when it is awarded.
"I have a passion for IT and Business and I was convinced that this was the exact path for me. In my third year, I opted for a placement at Investec Investment Bank in the Asset Management Application Development and Support team. This experience really helped me to kick-start my career in the right direction. I currently work at Dresdner Kleinwort investment bank and hope to purse a masters degree in Computing Science in the near future. In five years time, I see myself owning my own IT consulting company."
"The skills I developed during my degree were excellent preparation for my current job as a human computer interaction researcher at Middlesex University. This includes interpersonal and communication skills needed for organising interviews and usability trials, Java programming for prototype development, report writing and web design skills to present and share our findings. Middlesex University has helped me broaden my horizons considerably in the last few years, and I am now able to consider a wider range of projects in the IT industry, or even a PhD."