Computer Science BSc | Middlesex University London
Section navigation
Main Baner Image

Computer Science BSc

Learn about the course below
October 2019
EU/International induction: September 2019
3 years full-time
4 years with placement
£9,250 (UK/EU) *
£13,500 (INT) *
Course leader
Florian Kammueller

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.

Why study BSc Computer Science* at Middlesex University?

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.

*Please note this course is subject to review.

Course highlights

  • This is a multidisciplinary course, with exciting work experience placements in Year 2
  • We have an outstanding student satisfaction rating of 94% (KIS, 2013)
  • Our computer science degree is a basis for a wide range of computer-based industry careers, putting you in an excellent position upon graduation
  • We are seeking BCS (British Computer Society) accreditation; you will be eligible for BCS membership retrospectively when it is awarded
  • As a student of this course you'll receive a free electronic textbook for every module

Find out more

Sign up now to receive more information about studying at Middlesex University London.

What will you study on the BSc Computer Science?

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. Your foundation skills will be 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.


  • Year 1

    • Year 1 studies

      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.

      You will work on three projects in your first year; the first one involves building a mixed software/hardware system using Arduino; the second project involves building a video game with a graphical interface; and the third project involves controlling a robot over the network to perform several tasks, such as line following and maze exploration. Optionally, you can choose to work on an independent project, such as building an autonomous robot for the Eurobot competition.

      Each week consists of the following structured sessions: lecture, design workshop, programming workshop, physical computing workshop, synoptic workshop.

  • Year 2

    • Distributed Systems and Networking (30 credits) - Compulsory

      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 synchronization 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.

    • Web Applications and Databases (30 credits) - Compulsory

      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.

    • Software Development Projects (60 credits) - Compulsory

      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.

  • Year 3

    • Computer Science Project (30 credits) - Compulsory

      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.

    • Artificial Intelligence (30 credits) - Optional

      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.

    • Graphics and Visualization (30 credits) - Optional

      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.

    • Human Factors in Design (30 credits) - Optional

      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.

    • Novel Interaction Technologies (30 credits) - Optional

      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.

    • Quantum Information Processing, Verification, and Security (30 credits) - Optional

      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.

    • Social Network Analysis and Visual Analytics (30 credits) - Optional

      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.

    • Social, Professional and Ethical Issues in Information Systems (30 credits) - Optional

      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.

    • Open Source Software (30 credits) - Optional

      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.

    • Correctness in Computer Systems (30 credits) - Optional

      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.

    • History and Philosophy of Computing (30 credits) - Optional

      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.

    • Image Processing with MATLAB (30 credits) - Optional

      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.

    • Industrial Networking (30 credits) - Optional

      The central theme of this module is to equip students 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, students 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.

    • Introduction to Ubiquitous Computing (30 credits) - Optional

      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.

    • Systems Engineering for Robotics (30 credits) - Optional

      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.

    • Computation, Algorithms, and Complexity (30 credits) - Optional

      Computer Science has developed to be an academic discipline with an essential impact industrially, commercially and in everyday life. Students on this module will learn of the fundamentals and origination of computation combined with analytical (logical) skills applied to conceptual issues originating in theoretical and applied computer science. The second part of the module introduces students to algorithms through the lens of the resources they take up, such as time and space. Students will be able to compare two algorithms for the same problem and understand probable barriers to efficient algorithms through a gentle introduction to Turing Machines and completeness for non-deterministic polynomial time (NP).

    • Advanced Web Development with Big Data (30 credits) - Optional

      Many modern websites store and process large amounts of data. Typical examples are property search websites, price comparison websites and financial websites. This module aims to give students the ability to download, store and process large quantities of data and build websites based on this data using advanced JavaScript frameworks. At the end of the module successful students will have gained advanced skills with Java, JavaScript, web development and big data, which are highly sought after in industry.

    • Teaching Computer Science in the Secondary School (30 credits) - Optional

      The module will focus on the teaching of computer science within the secondary school (age 11-16) setting. You will observe, analyse and prepare materials for teaching practice. You will start to apply your knowledge of computing to teaching practice.  You will develop an understanding of the Teachers’ standards, thus supporting your preparation for application of initial teacher training courses.  You will complete reading on education pedagogy to critically analyse practice. The module will also support your development of public speaking.

You can find more information about this course in the programme specification. Optional modules are usually available at levels 5 and 6, although optional modules are not offered on every course. Where optional modules are available, you will be asked to make your choice during the previous academic year. If we have insufficient numbers of students interested in an optional module, or there are staffing changes which affect the teaching, it may not be offered. If an optional module will not run, we will advise you after the module selection period when numbers are confirmed, or at the earliest time that the programme team make the decision not to run the module, and help you choose an alternative module.

  1. Overview
  2. Teaching and learning
  3. Assessment and feedback
  1. UK & EU
  2. International
  3. How to apply
  1. UK & EU
  2. International
  3. Additional costs

How can the BSc Computer Science support your career?

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.

Professional accreditation

We are seeking BCS (British Computer Society) accreditation for this course and you will be eligible for BCS membership retrospectively when it is awarded.

  • Lola Aworanti

    BSc Business Information Systems graduate (2007)

    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.

  • Reg Goodwin

    BSc Business Information Systems graduate (2006)

    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.

Other courses

Business Information Systems BSc Honours

Start: January 2019 for Year 3 entry only, October 2019 for full degree, EU/International induction: September 2019

Duration: 3 years full-time, 4 years with placement, Usually 5 years part-time

Code: G522

Mathematics with Computing BSc/MSci

Start: Autumn 2019

Duration: BSc: 3 years full-time, 4 years with placement, 6 years part-time, MSci: 4 years part-time, 5 years with placement, 8 years part-time

Code: BSc: G111, MSci: G11A

Computer Forensics BSc Honours

Start: October 2019, EU/International induction: September 2019

Duration: 3 years full-time, 4 years with placement, Usually 5 years part-time

Code: I900

KIS information

Back to top