Undergraduate study
Computing & Web

MComp (Hons) Computer Science

UCAS code: I400 MComp/CS

This integrated master’s programme covers all the essential material required by a computer science graduate. It is a four-year course with an optional placement year in industry between Years 2 and 3 – it combines study at bachelor’s level (BSc) with study at master’s level (MComp).

Course information

Full-time

  • Length: 4 or 5 years dependent on whether you undertake the placement year.

More full-time details

Part-time

  • Not available part-time

Contact details

Further information

  • Facilities

    Computing and Web

    Teesside has fantastic state-of-the-art facilities for web and computing students including a wide range of web, multimedia, network and programming studios. This environment prepares students for work in industry by promoting team work and the use of case studies, problem solving and methods such as peer programming.

 

Note: this course is for Year 1 entry only in 2017. We currently operate a different structure for entry to Year 2 and final year. Please contact scm-enquiries@tees.ac.uk for more information..

You study a curriculum designed in conjunction with industry that will equip you with skills that are in great demand. You gain a sound, in-depth grasp of core areas in computer science and undertake a major independent project. The fourth year allows you to build on the main themes studied in the BSc (Hons) Computer Science.

You can specialise in cutting-edge areas that include Artificial Intelligence and Complex Systems, Advanced Cloud-based Services and Big Data.

This course prepares you for a wide range of careers in varied industries including software development, financial services, management and games companies.

Recent graduates have found employment with top firms including IBM, Amazon, Schlumberger, Ordnance Survey, Codemasters and Npower. Our School of Computing has well-equipped state-of-the-art computing laboratories and facilities, including specialised equipment that you can use to undertake development projects and build innovative prototypes.

All four years of the course are eligible for the prevailing undergraduate student financial arrangements covering fees, loans and bursaries.

Course structure

Year 1 core modules

Algorithms and Data Structures

You develop intricate programmes to solve complex problems, using data structures and appropriate algorithms. You study a variety of algorithmic techniques and the use and importance of data structures. You are introduced to classifying data according to its abstract behaviour, as distinct from its representation.

A range of well-established data structures are examined and their properties are described. You gain an understanding of the basic skills needed in algorithmic design and the interaction between algorithm and data structure in creating efficient code.

Internet Architecture and Security

You study a range of issues in computer security and information security, including access control, technologies used to implement security measures, models of security and cryptography, management of security issues, and the design of systems. How security systems fail is covered, along with related areas such as the legal and ethical background and physical security.

Java Applications Development

You study the syntax of Java programming language and the Java API, as well as object-oriented concepts including inheritance, abstraction and polymorphism. The emphasis is on problem solving, design and documentation adopted in Java Programming.

You gain an understanding of professional practice, codes of conduct and copyright/licencing.

Java Programming

You are introduced to the fundamental concepts of software development through Java programming language. You study key aspects of the software development process, including designing solutions, writing application code, developing documentation, and formal approaches to testing.

Mathematics and Problem Solving

You are introduced to the mathematics supporting computer science, including number bases, statistical methods, matrix algebra, and discrete mathematics.

You study topics in discrete mathematics which form the basis of the notation used in software specification. Statistical methods, including probability, are covered at an introductory level, preparing you for growing areas of computer science applications such as big data.

You are introduced to problem-solving using recreational problems, including games and puzzles, to convey algorithmic concepts.

Systems Design and Databases

Successful, robust and user-friendly systems or applications begin with a requirements analysis and detailed design. You are introduced to the concepts and techniques of systems analysis and design, enabling you to break down and simplify complex systems and represent them visually using industry-standard approaches such as Unified Modelling Language (UML). In industry, the resulting models are used to communicate designs to developers and stakeholders prior to implementation.

You learn to design and implement fully normalised relational databases as part of an information system. Using data modelling techniques you define how the system stores data and interacts with it. You implement your design using Structured Query Language (SQL): Data Definition Language for creating tables, and Data Manipulation Language for accessing the data.

You develop professional practice and transferrable skills essential for industry, including project management."

 

Year 2 core modules

Advanced Java Programming

A number of advanced topics in software construction will be explored. You will study object oriented design and examine a number of design principles that lead to better quality code, and a set of design patterns that solve commonly occurring software problems. In the second half of the module, you will be introduced to concurrency, middleware and software architecture. This is a very practical module that will encourage you to adopt agile software development methods.

Agile Developer

You will plan, design and build a mobile app for a smartphone or tablet device within a small software development team. The module explores the frameworks, libraries, patterns and industry-standard development tools used to build today’s mobile apps. It requires a professional approach, informed by current industry practice, to plan a successful software development project.

Assessment is via an in-course assignment requiring the team-based planning, design, development and presentation of a mobile app, followed by individual reflection upon personal actions, contribution and growth.

Relational and NoSQL Databases

You will develop your ability to design and implement database applications to meet business needs. A case study is used to follow the system development life cycle, and you will develop a server database application from inception to implementation for a real world scenario.

The module will investigate the issues and technologies associated with implementing and supporting databases and the services that are needed to maintain and access a repository of data. Investigations will be undertaken in a number of areas including data modelling, data management and approaches that support the modelling and visualisation of data for a range of use views.

Symbolic Computation

The practicalities of building AI systems to solve problems, specify inference mechanisms and drive behaviours form this module. It builds on earlier study of programming and algorithms to introduce the functional programming and symbolic computation paradigms, bridging the gap between theoretical understanding and implementation.

The module primarily uses the Clojure dialect of Lisp (taking an approach that explores the semantics of the language rather than concentrating on its syntax) but may also make some use of a graphics and simulation environment (NetLogo) and in-house software.

Web Apps and Services

You will design and construct web applications and web services, and understand the role that they play in the architecture of enterprise-style software systems. Web applications serve dynamic content or fully asynchronous single-page applications, bringing the web alive in comparison to traditional static sites. Web services use industry-standardised interfaces to make their capabilities reusable by third-parties, especially apps running on mobile devices. Together, these technologies are the cornerstone of the modern web.

This module explores the underlying technologies of how the web works, and investigates how to use professional tools to construct web apps and web services. You study the principles, patterns, libraries, frameworks and techniques used to engineer good-quality software components ready to participate in enterprise-style software system architectures. The module builds upon and extends previous programming experience and knowledge, and understanding of data modelling and persistence.

 

Year 3 core modules

Artificial Intelligence

Artificial Intelligence (AI) is the science and engineering of intelligent machines. It is a cross disciplinary subject where you consider cognitive psychology, linguistics and philosophy with an emphasis on computer science. You explore the computing focus of AI with an emphasis on building “intelligent agents” – independent entities that perceive their environment and take actions to maximise the chances of achieving their goals.
You examine the tools and techniques to engineer intelligent systems and present an in-depth study of key research and application areas of intelligent systems.

Cloud System DevOps

You explore how cloud computing enables companies to avoid the infrastructure and maintenance costs associated with buying and running their own dedicated hardware and software platforms. Software’s move to the cloud, and the need to utilise third-party infrastructure and platforms, creates new challenges and new opportunities for software developers. You explore the extent of cloud computing, cloud-capable software architectures, and study the professional DevOps practices used to develop and deploy complete software systems.

Computing Project

You complete a large scale piece of work, under the supervision of an academic staff member. You produce a substantial artefact relating to the computing field, and complete your report and viva consisting of a presentation, demonstration and discussion of the artefact.

You are guided to develop an appropriate sense of work-discipline coupled with a professional outlook. You take responsibility for the planning and execution of an extended piece of work including the consideration of associated legal, social, ethical and professional issues. You are able to explore in depth a chosen subject area, and thereby demonstrate your ability to analyse, synthesise, and creatively apply what has already been studied on the programme while demonstrating critical and evaluative skills and professional awareness.


Internet of Things

The Internet of Things (IoT) incorporates a number of technologies, including wireless sensor networks, embedded systems, pervasive computing, machine learning, context awareness and distributed systems. IoT has been successfully applied to environmental monitoring, smart homes, industrial controls and digital cities.
You cover a mixture of theoretical and practical topics such as coverage of the range of IoT-enabled devices, low power communications, and processing data gained from the IoT. You also gain experience of practical skills required for the programming of IoT devices.

Software Reliability

Society is increasingly dependent on complex software systems that pose difficult challenges in terms of reliability and security. Building software systems that are safe and reliable is a difficult and expensive task. You examine the methods and tools used to build reliable software systems and an in-depth study of key research in the area of formal methods for software engineering.

 

Year 4 core modules

Agent-based Modelling

You investigate how to develop computer models and software simulations of the many naturally occurring systems that act in unexpected ways. You explore systems producing large-scale behaviours that are not predictable from their component parts; those ecosystems, human social organisations and financial markets which generate novel, emergent phenomena that are not easily explained by traditional computing methods.

You gain a theoretical understanding of these systems and strong practical skills in implementing models and simulations in NetLogo. You follow a research based approach where you undertake a significant amount of self-directed investigation and use a variety of appropriate resources.

Big Data Group Project

You undertake a big-data project, taking into consideration appropriate legal, ethical and professional issues. Working in a small team, you determine the project aims, objectives, roles, tasks, schedules, and documentation requirements. You critically evaluate your major deliverable, comparing it to state-of-the-art research work, which includes obtaining third-party evaluation where appropriate.

Computer Science Individual Project

You undertake a major, in-depth, individual study in an aspect of your course, this could be drawn from commercial, industrial or research-based problem areas. The project involves you researching and investigating aspects of your area of study, you then produce a prototype or proof of concept (such as software package or tool, design, web-site, research findings). The emphasis is on your ability for systematic acquisition, understanding and analysis of knowledge in your subject area of choice.

Software Architecture

You explore both the overarching software architecture design that is required to successfully develop large software systems and the smaller scale use of software patterns to develop robust, reusable components that fit within one.
You gain the conceptual knowledge and practical experience necessary to participate effectively in the building of high-quality, extendable, scalable, maintainable and robust software systems. You also further develop your use of industry-standard software development tools and cloud platforms, and explore the academic and industry publications associated with the latest thinking on software architectures.

Statistics and Research Methods for Computing

You gain the knowledge and skills to understand the research process in computing and digital media, and develop the necessary skills to undertake your individual project. You learn how to use and critically evaluate previous academic research, and to generate good evidence material to justify your professional practice. This involves learning about different research strategies and data generation methods and how they fit into the development lifecycle and the evaluation of the user experience, the use of the academic research literature, and research ethics.

 

Modules offered may vary.

How you learn

You attend a combination of lectures and practical sessions for each module. Lectures concentrate on teaching the principles while practical sessions allow you to put these principles into practice in purpose built labs. Throughout your practical sessions you receive feedback on your work and progress. You often work on a piece of work for several weeks building a deeper understanding of the subject as you work. The feedback you receive will help you to get the most out of your learning.

In your final year you also undertake a personal project which integrates much of the work you have studied in previous years.

How you are assessed

A variety of assessment methods are used. Your assessments are designed to build on the work you undertake in class, because your learning continues through the assessment period. An in-course assessment often consists of a practical exercise and an associated report helping you to develop both technical and business skills.


Our Disability Services team helps students with additional needs resulting from disabilities such as sensory impairment or learning difficulties such as dyslexia
Find out more about our disability services

Find out more about financial support
Find out more about our course related costs

Career opportunities

Our computing students go into a wide range of careers, both nationally and globally. Graduates have gone on to work in the power industry, avionics and the pharmaceutical industry. Having a master’s level qualification will give you a significant advantage in the employment market for computer scientists.

Professional placement
During your degree we advertise a variety of paid placement opportunities (subject to availability). You can apply for a year-long supervised work placement between your second and final year. A placement gives you a valuable opportunity to improve your employment prospects by developing new skills and deepening your understanding of your subject.

Student selection is carried out by the employers through competitive interviews and often skills tests. Placements are not compulsory but are assessed and contribute to your final degree award.

Our placements team gives you help and support throughout the placement process, including guidance on applications and interviews, to help you get a placement that suits you.

Our students have been placed in organisations such as IBM, Microsoft, SABIC Petrochemicals and Thomson Reuters.

Entry requirements

A typical offer is 104-120 tariff points from at least two A levels (or equivalent). You're expected to come for an interview.

For additional information please see the entry requirements in our admissions section

International applicants can find out what qualifications they need by visiting Your Country


You can gain considerable knowledge from work, volunteering and life. Under recognition of prior learning (RPL) you may be awarded credit for this which can be credited towards the course you want to study.
Find out more about RPL

What is KIS?

How to understand the Key Information Set

Course information

Full-time

  • Length: 4 or 5 years dependent on whether you undertake the placement year.

More full-time details

Part-time

  • Not available part-time

Contact details

Further information