Logo close icon
Section navigation
Main Baner Image

Computer Science BSc

Transform your computing expertise with this highly-ranked computer science degree. With specialist labs, regular workshops and simulations, get ready for a career in technology
September 2024
3 years full-time
4 years with placement
£9,250 (UK)*
£16,600 (INT)*
Course leader
Clifford De Raffaele

Why choose Computer Science BSc at Middlesex?

A computer science degree will open up opportunities for you across all sectors – from software development to systems engineering and everywhere in between.

You will work on projects and use laboratory simulations to understand and solve real-world problems. You'll be empowered to work at a pace which suits your own objectives.

And we are a Cisco Local Academy partnered with Arm, Opnet and Xilinx University so you'll benefit from valuable industry insights and career advice.

We'll also help you to develop the skills, knowledge and experience highly-valued by employers and help you achieve your computer-based career goals or projects.

What you will gain

You’ll have the opportunity to take a year-long, paid work experience placement as part of a four-year study path, where you'll be able to put your knowledge into action.

We’ll also give you access to industry professionals and work experience opportunities to help you further develop your professional skills.

We'll ensure you get the skills, knowledge and experience that will help you launch a successful computer-based career.

You'll have the chance to gain industry-recognised certifications, including Cisco's CCNA and CCNP.

Global experiences

We offer unique global experiences which could include studying part of your degree abroad and doing a placement or volunteering in another country, as well as many international opportunities in London. You'll build your cultural awareness and understanding and get a competitive edge in the job market. You may even qualify for grant funding under the Turing Scheme. Find out how studying at Middlesex will increase your global experience.

What you will learn

You’ll gain an understanding of the key principles of computer science while you develop your programming, system engineering, and project experience skills.

Your first year will be entirely project-led, ensuring you practice your skills from the very start. You’ll also get the support, encouragement and confidence to put your skills into practice through individual and group projects.

The computer science department has pioneered an approach to learning and developed its own tool to measure your performance. You will develop your learning by:

  • Being given a broad range of examples, challenges and mini-projects in the first year
  • Taking part in practical problem-led real-world situations and simulations
  • Using languages such as Racket and tools such as REPL to test your own learning
  • Allowing you to investigate and demonstrate your knowledge and skills at your own pace
  • Moving towards projects and specialisms that chime with your passions and skills

Taking a year-long, paid placement as part of a four-year study path, with further access to industry professionals and work experience opportunities.

Keep informed

Sign up to receive the latest information about studying at Middlesex University London.

Our communications are designed to support you in deciding your future and keep you up to date about student finance, employment opportunities and student activities available at Middlesex University.

What will you study on the BSc Computer Science?

All modules and labs are available through online teaching. We will supply year 1 robot labs with online simulation so students can test their programs.

Year 1

In the first year, you'll learn the foundations of computer science, including programming and systems and architecture. You'll also work on your own lab-based project.

Year 2

After developing more advanced skills during your second year, you'll 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.

Year 3

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 - Compulsory

    • Programming (30 credits)

      This module aims to provide you with an understanding of the foundations of programming. On completion of this module, you will be able to explain the key foundational concepts used to construct, analyse and debug small to medium sized programs for a variety of computing applications.

    • Systems and Architecture (30 credits)

      To provide you with an understanding of the organisation of computer-based systems from the small-scale (for example gates, processors and memory), through the medium-scale (for example personal computer organisation), to the large-scale (for example the Internet). On completion of this module, you will be able to describe a range of typical computer based systems in terms of their internal organisation of components and their system interfaces.

    • Foundations of Computer Science (30 credits)

      To provide you with an understanding of the foundations of Computer Science. On completion of this module, you will be able to explain the key concepts underpinning the discipline of Computer Science.

    • First Year Project (30 credits)

      To provide you with experience of a range of Computer Science projects that reinforce First Year teaching and learning and provide opportunities to apply this learning in a supported and structured environment.

  • Year 2 - Compulsory

    • Object-Oriented Programming (30 credits)

      This module aims to provide you with an understanding of the concepts involved with object-oriented programming. To this end, you will cover the fundamentals of objects, classes, inheritance, composition, encapsulation and polymorphism. In addition, the module will expose you to GUI frameworks, introduce some basic software engineering design principles and patterns, and provide a more abstracted view of system design in terms of layered software architectures. It is expected that on completion of this module, you will be able to design, implement and test non-trivial object-oriented programs.

    • Operating Systems and Computer Networks (30 credits)

      Part I of this module will provide you with an opportunity to gain practical level experience of Operating System management techniques in a realistic and flexible environment. Access is provided to a 64-bit Linux Enterprise system to promote active learning and reinforce lecture material.

      Part II of this module provides you with the basic skills needed to learn both the practical and conceptual skills that build the foundation for understanding basic networking.

      You will gain an understanding of the “layered” approach to networks by examining the OSI and TCP/IP models in detail as well as an introduction to switching and routing.

    • Software Engineering Management and Development (30 credits)

      This module builds on the programming fundamentals developed in the first year through the study of software development processes, software engineering tools and techniques, and the analysis of algorithms and data structures.

      This will enable the design, implementation, testing, profiling, and optimisation of software to be accurate, elegant and efficient implementations.

      Several software engineering tools and techniques will be introduced and utilised throughout this module, where you will get to implement design, management, testing, and profiling of software.

    • Web Applications and Databases (30 credits)

      This module will give you practical experience with the development of dynamic websites using HTML, CSS, PHP and JavaScript. You will learn how to store client-side data and get first-hand experience with the server-side storage of data using databases.

      You will also obtain a deeper understanding of the operation of large-scale websites, such as Facebook and Google, and the security, privacy and legal issues that affect web applications.

  • Placement Year - Optional

    • Industrial Placement (120 credits)

      The module aims to develop your employability skills by achieving the set of agreed learning outcomes using a Three Way Negotiated Learning Agreement. The module develops a range of skills specific to the individual workplace.

      This practical experience module provides the means for you to link academic work with the 'real world', facilitating the embedding of transferable and graduate skills necessary for future career paths and employment.

      You will reflect upon areas of knowledge relevant to the placement learning experience and develop personal knowledge through a review of your learning, with the opportunity to enhance your self-expression, communication, self-reliance and co-operation.

  • Year 3 - Compulsory

    • UG Individual Project (30 credits)

      This module provides you with the opportunity of choosing and working on a project that reflects your interests and aims and outcomes of your programme. It should constitute a practical problem-solving project relevant to your programme of study.

      The primary aim of the module is to consolidate and deepen your understanding of material taught on your programme, to exercise professional judgement, to undertake individual research and to conduct an investigation and/or develop a product, process or application relevant to the focus of your programme.

      It provides you with the opportunity of engaging in significant system development, the typical output of which represents the solution of a problem akin to those that you as a fledgling professional practitioner are likely to encounter in future employment.

      The module intends that your choice of individual project will provide you with a significant opportunity to reflect on your learning progress and to develop your learning for life-long and career development.

  • Year 3 - Optional

    • Testing and Verification (30 credits)

      Computer systems are almost never perfect, exhibiting errors, crashes and hangs whose implications range from benign to fatal. 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.

    • Business Intelligence (30 credits)

      This module aims to develop your understanding of the techniques and approaches used to capture, store and analyse data generated by organisations for purposes of business intelligence. In a digital age it is important for businesses to make use of data captured about its entities.  You will learn about information retrieval, data presentation, pattern recognition techniques and data models that can be used in business intelligence applications.  Descriptive data models can be used to gain a better understanding of overall organisation and predictive data models inform the decision making in all aspects of the business.

    • Web-Based Mobile App Development (30 credits)

      This module aims to develop a deep understanding of the latest web-based app programming techniques, frameworks, and methodologies used by the industry to develop the next generation software that can be deployed on any mobile devices (both Android and iOS).

      The module will investigate, develop, and deploy latest programming language standards that are fundamental to app development and currently being widely employed in industry.

      Modern programming frameworks will be introduced to provide the essential software architecture for large-scale software development and the ability to target either the Android or iOS platform.

      The module will cover the three most important components of a complete mobile app: front end, back end, and system administration.

    • Enterprise Networking and Automation (30 credits)

      This module is designed to equip you with the knowledge and skills related to designing, securing, operating, and troubleshooting enterprise networks.

      This module also covers wide area network (WAN) technologies, introduces software-defined networking, virtualisation, and automation concepts that support the digitalisation of networks.

      Extensive labs emphasise hands-on learning and practice to reinforce the skills to configure and troubleshoot enterprise networks.

      The module reflects the job skills and responsibilities that are associated with professional-level job roles such as network engineer, systems engineer, network support engineer, network administrator, and network consultant.

    • Digital Media Technology (30 credits)

      This module aims to equip you with the underlying concepts and theory in interactive media manipulation. In doing this, you will develop skills in synthesis and modification of media, hardware controllers, data visualisation and sonification.

      By understanding the relationship between cognitive psychology and our mathematical treatment of media data, you will develop a strong theoretical foundation with which to explore this area.

      You will be programming using a wide range of languages and explore a wide range of paradigms for completing various media-based tasks including the design and development of interactive artefacts.

      As we are dealing with media and its presentation, there are strong links to the digital arts and you are expected to explore their creative side in addition to the computing skills required.

      Background reading will provide you with a historical and philosophical context for reflecting on their own practice and that of their peers.

    • UX Design (30 credits)

      During this module, you will gain 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.

      The module also includes analysis of user experience, the characteristics of users and their tasks, and the technical, organisational and physical environment in which products or systems may operate.

    • Artificial Intelligence (30 credits)

      The aim of the module is to introduce you to a range of AI theories and techniques, including the most commonly used. You will also have the opportunity to implement these newly learnt techniques, and to extend your own development skills.

    • Designing Secure Systems (30 credits)

      Designing secure computer systems is a cross cutting discipline: from organisational policies, via programming languages and network protocols all the way down to physical layers, security controls need to be installed at all levels of a computer system.

      This course aims at giving you an overall appreciation of the meaning of security and privacy, teaching you standard techniques of designing, developing and assessing secure computer systems.

      At the end of the module, you will have acquired skills and knowledge in basic cryptology, security protocol design, threat analysis, security models and security engineering techniques.

    • Computer Graphics (30 credits)

      The aim of this module is to examine in depth the concepts and techniques needed in the construction of interactive graphics systems covering advanced graphics programming techniques. The module will cover theory and mathematics as required.

      You will gain practical experience via significant individual project work, developing computer graphics programs using an industry standard environment.

    • Novel Interaction Technologies (30 credits)

      Interactive technologies are developing continually, and new devices that offer novel ways of interacting with computer-based systems are constantly finding their way into our homes, workplaces and lives. In 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 therefore 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.

    • Advanced Web Development with Big Data (30 credits)

      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 you 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, you will have gained advanced skills with Java, JavaScript, web development and big data, which are highly sought after skills.

    • Teaching Computing in the Secondary School (30 credits)

      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 then start to apply your knowledge of computing to teaching practice.

      During this module, you will develop an understanding of the Teachers’ standards, therefore 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.

    • Systems Engineering for Robotics (30 credits)

      This module aims to develop understanding of the integration of modular robotic and sensor systems. It will enable students to acquire practical skills of robotic software/hardware integration and validation. In addition it aims to develop understanding of human robot interaction.

To find out more about this award-winning course, please download the Computer Science BSc specification (PDF).

  1. Teaching and independent learning
  2. Coursework and assessment


Facilities include internetworking labs equipped with Cisco units, blade servers and high-end simulation software, as well as state-of-the-art telecommunications equipment.

Student plugging wires into a wall of computer equipment

Student support

We offer lots of support to help you while you're studying including financial advice, wellbeing, mental health and disability support.

Additional needs

We'll support you if you have additional needs such as sensory impairment or dyslexia. And if you want to find out whether Middlesex is the right place for you before you apply, get in touch with our Disability and Dyslexia team.


Our specialist teams will support your mental health. We have free individual counselling sessions, workshops, support groups and useful guides.

Work while you study

Our Middlesex Unitemps branch will help you find work that fits around uni and your other commitments. We have hundreds of student jobs on campus that pay the London Living Wage and above.

Financial support

You can apply for scholarships and bursaries and our MDX Student Starter Kit to help with up to £1,000 of goods, including a new laptop or iPad.

We have also reduced the costs of studying with free laptop loans, free learning resources and discounts to save money on everyday things. Check out our guide to student life on a budget.

How can the Computer Science BSc 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.

Graduate job roles

Computing is a growing careers sector with extensive roles available from a software engineer to a systems analyst.


Our Careers and Employability Service, MDXworks will launch you into the world of work from the beginning of your course, with placements, projects and networking opportunities through our 1000+ links with industry and big-name employers in London and globally.

Our dedicated lifetime career support, like our business start-up support programme and funding for entrepreneurs, has been recognized with the following awards:

  • The top 20 UK universities for business leaders and entrepreneurs – Business Money, 2023 
  • A top 10 university for producing CEOs  – Novuana, 2023

MDXcelerator Student Start-Up Support

Want to be your own boss? You'll have the chance to pitch your business to gain mentoring and grants of up to £15,000.

Global network

You’ll study with students from 122 countries who’ll hopefully become part of your global network. And after you graduate, we'll still support you through our alumni network to help you progress in your chosen career.

Work placements

Our work placements will increase your opportunities for securing a job after graduation.

And help you put what you’ve learned into practice in a real work setting.

We’ll help you make a great impression with tips and support, which will substantially increase your chances of securing a job with the company after graduation.

You’ll develop your interpersonal and practical skills, confidence in your subject and build a valuable network of contacts.

Did you know? Over 70% of placements result in a graduate job offer according to recent research.

Our specialist employability service will help you find placement opportunities.

  1. UK entry
  2. International entry
  3. How to apply

The fees below are for the 2024/25 academic year:

UK students1

Full-time: £9,250

Part-time: £77 per taught credit

International students2

Full-time students: £16,600

Part-time students: £138 per taught credit

Additional costs

The following study tools are included in your fees:

  • Free access to the resources, learning materials and software you need to succeed on your course
  • Free laptop loans for up to 24 hours
  • Free printing for academic paperwork
  • Free online training with LinkedIn Learning.

Scholarships and bursaries

To help make uni affordable, we do everything we can to support you including our:

  • MDX Excellence Scholarship offers grants of up to £2,000 per year for UK students
  • Regional or International Merit Awards which reward International students with up to £2,000 towards course fees
  • Our MDX Student Starter Kit to help with up to £1,000 of goods, including a new laptop or iPad.

Find out more about undergraduate funding and all of our scholarships and bursaries.

Fees disclaimers

1. UK fees: The university reserves the right to increase undergraduate tuition fees in line with changes to legislation, regulation and any government guidance or decisions. The tuition fees for part-time UK study are subject to annual review and we reserve the right to increase the fees each academic year by no more than the level of inflation.

2. International fees: Tuition fees are subject to annual review and we reserve the right to increase the fees each academic year by no more than the level of inflation.

Any annual increase in tuition fees as provided for above will be notified to students at the earliest opportunity in advance of the academic year to which any applicable inflationary rise may apply.

We’ll carefully manage any future changes to courses, or the support and other services available to you, if these are necessary because of things like changes to government health and safety advice, or any changes to the law.

Any decisions will be taken in line with both external advice and the University’s Regulations which include information on this.

Our priority will always be to maintain academic standards and quality so that your learning outcomes are not affected by any adjustments that we may have to make.

At all times we’ll aim to keep you well informed of how we may need to respond to changing circumstances, and about support that we’ll provide to you.

Other courses

Business Computing Data Analytics BSc

Start: September 2024

Duration: 3 years full-time, 4 years with placement

Code: I213

Computer Networks and Security BSc

Start: September 2024

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

Code: I124

Computer Science MSc

Start: September 2024

Duration: 1 year full-time, 2 years part-time

Code: PGG404

Back to top