Skip to main content
Undergraduate study
Computer Science (with Foundation Year)

Computer Science (with Foundation Year)
BSc (Hons)

 
  • Clearing 2021: Apply now for 2021 entry.
  • International students: Due to high volumes, any international applications received after 25 June can't be considered for September 2021 entry. You are welcome to apply for the next available intake (details below).
 

Course overview

Computer scientists are integral to modern life, from automating production lines to being the brains behind our smart phones.

Computer science skills are in high demand across industries including financial organisations, software houses, communications companies, data warehouses, multinational companies, governmental agencies, computer games, manufacturing and healthcare.

You study programming, mobile development, network management, systems security, and artificial intelligence systems, and develop skills in data processing, storage, and data transmission.

This course includes a foundation year - ideal if you need additional preparation or if you don't have sufficient grades to join Year 1 of a degree.

Top reasons to study computer science at Teesside

  • Industry links: work on live industry briefs, competitions and hackathons with companies including Cisco, Cubic Transportation Systems, Sage, TUI, Atombank, HMRC and Waterstons.
  • State-of-the-art facilities: learn in industry-standard computing labs with specialist equipment used to undertake development projects and build innovative prototypes.
  • Career-ready: our ExpoSeries of events allow you to showcase your skills to industry professionals who are seeking to recruit new and rising talent.

Professional accreditation

bcs Accredited Degree This degree is accredited by British Computer Society (BCS), The Chartered Institute for IT, demonstrating a mark of assurance that the course meets the BCS standards. An accredited degree entitles you to professional membership of BCS, which is an important part of the criteria for achieving Chartered IT Professional status through the Institute. Some employers recruit preferentially from accredited degrees and an accredited degree is likely to be recognised internationally.

 
 

Course details

Course structure

Foundation year core modules

Agile Development Project

This module gives you the opportunity to undertake a programming project. Working in small teams, you design, develop and demonstrate a software solution that relates to an agreed requirements specification.

Computational Thinking

Algorithms are considered to be at the heart of computing and are critical to developing computer-driven applications. Designing algorithms requires you to think like a machine, using computational thinking to construct procedures to implement as computer programmes.

This module introduces you to the fundamental building blocks of algorithms through classic puzzles and recreational games. You develop your knowledge of design principles and your proficiency in creating algorithmic procedures by cultivating your ability to think computationally in solving puzzles and creating routines for playing simple, computer-enabled games.

Information Systems Development

This module introduces you to the analysis, design and development of simple information systems. You learn the tools, techniques and methods associated with information systems development, such as gathering requirements, modelling requirements, designing data models and implementing a solution.

Introduction to Mathematics

This module introduces the relevant mathematical notations and techniques if you are preparing to study a technical computing degree at undergraduate level. The emphasis is on developing the skills that enable you to understand technical specifications of computing devices.

Topics include the number systems prevalent in computing, algebraic manipulation and equation solving, and the concept of functions – both algebraic and graphical formulations.

The module is delivered through lecture and tutorial sessions. Worked examples illustrate how each mathematical technique is applied. Problem-solving tutorial exercises give you the opportunity to practise each skill or technique.

Introduction to Programming

This module is ideal if you have little or no experience of programming – it uses tools that are easily available, easy to use and familiar to anyone who has used a computer.

You learn how programming language constructs are applied to different problems of increasing complexity. All programming solutions are executed in a web browser although the module is not specifically targeting web development.

 

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.

Computational Problem Solving

You are introduced to the fundamental concepts that support 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.

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.

Networks and Security

This module provides you with an understanding of the role of computer networks to fully appreciate and utilise within modern web-applications. Specific network design solutions are introduced and explored. You get hands on experience using key network devices for wired and wireless network.

Security threads, hazards and issues are explored along with security risk assessment and management. Relevant protocols and hardware technologies are introduced along with the role of legal requirements, social and ethical issues.

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

Agile Developer

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.

Functional Programming

We introduce you to functional programming and its underlying fundamental concepts. You use a functional programming language, such as Haskell, to solve real-world problems. The mathematical nature of functional programs allows you to apply mathematical reasoning to your programs, so as to prove that they are correct.

This module:

  • introduce you to functional programming and its underlying fundamental concepts
  • enables you to solve real-world problems using a functional programming language
  • enables you to apply mathematical reasoning to programs, so as to prove that a program is correct.

Lectures are supported by laboratory-based practicals. Lectures include on-line, interactive demonstrations. The IT laboratory sessions are used to implement and test solutions to given exercises. An electronic discussion forum is provided for you to discuss questions you may not have asked in class, and an electronic notice board is used to keep you informed about the module. You have weekly exercises to complete and group work is encouraged; you are expected to demonstrate your completed exercises during the laboratory classes. You are required to use your freelance time to complete your work or reinforce your understanding of a particular topic.

Relational and NoSQL Databases

You 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 develop a server database application from inception to implementation for a real world scenario.

The module investigates 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 are 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.

Software Design Patterns

You 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 are be introduced to concurrency, middleware and software architecture. This is a very practical module that encourages you to adopt agile software development methods.

Web Apps and Services

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

 

Final-year core modules

Applied Machine Learning

Machine learning is an important topic in the area of artificial intelligence. The methodology involves building a model of a given task based on observations to make predictions about unseen data. Such techniques are useful when the desired output is known - but an algorithm is unknown, or when a system needs to adapt to unforeseen circumstances. Machine learning draws significantly from statistics and probability theory as (though the applications are many and various) the fundamental task is to make inferences from data samples. The contribution from other areas of computer science is also essential for efficient task representation, learning algorithms, and inferences procedures. You also gain an exposure to a breadth of tasks and techniques in machine learning.

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.

 

Modules offered may vary.

 

How you learn

You learn through lectures, seminars and practical sessions.

How you are assessed

You are assessed through coursework assignments, project reports and formal exams.


Our Disability Services team provide an inclusive and empowering learning environment and have specialist staff to support disabled students access any additional tailored resources needed. If you have a specific learning difficulty, mental health condition, autism, sensory impairment, chronic health condition or any other disability please contact a Disability Services as early as possible.
Find out more about our disability services

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

 
 

Entry requirements

Entry requirements

Any combination of level 3 qualifications. Each application is considered on a case-by-case basis.

We may also be able to help you meet the entry requirements through our Summer University short courses.

For general information please see our overview of entry requirements

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

 

Employability

Career opportunities

There are varied job roles available to computer science graduates including IT consultant, information systems manager, multimedia programmer, systems analyst, software developer, computer network architect, web developer, and IT project manager.

Our graduates have secured jobs in organisations including IBM, Amazon, Schlumberger, Ordnance Survey, Codemasters, npower, Cisco, HMRC, NHS, Traceco and Clicksco.

The optional work placement year allows you to keep up-to-date with the latest technical developments and techniques. Our students have been placed in organisations such as Dupont, Accenture, General Electric, Nissan, Nicander, Red Embedded, Microsoft, Intel, Thomson Reuters, Glaxo Smith Kline and GCHQ.

 

Information for international applicants

Qualifications

International applicants - find out what qualifications you need by selecting your country below.

Select your country:

  
 

Useful information

Visit our international pages for useful information for non-UK students and applicants.

Talk to us

Talk to an international student enrolment adviser

 
 

Full-time

Entry to 2021/22 academic year

Fee for UK applicants
£9,250 a year

More details about our fees

Fee for international applicants
£13,000 a year

More details about our fees for international applicants


What is included in your tuition fee?

  • Length: 4 years (or 5 with a work placement)
  • UCAS code: G404 BSc/CpSFY
  • Start date: September
  • Semester dates
  • Typical offer: Offers tailored to individual circumstances

Apply now (full-time)

Apply now

Please choose the relevant option below:

2021 entry

UK applicants
International applicants

2022 entry

Apply online (full-time) through UCAS

 

Part-time

  • Not available part-time
 

Choose Teesside

  • Student and graduate profiles
     
  • News

    Dr The Anh Han, Senior Lecturer in Computer Science. Link to View the pictures. University awarded prestigious grant to investigate the AI race
    Teesside University has secured a prestigious grant from the Future of Life Institute to study the current bidding war for artificial intelligence (AI) excellence.

    Read the full story

     
  • On video

    Mohamed Roshan BSc Computer Science

    Hear BSc Computer Science student Mohamed Roshan talk about his experience at Teesside and how his course has given him the opportunity to work in many different fields and industries. He also talks about his final year project that enables a computer mouse to be controlled via head movements and eye blinks, and how exhibiting his project at ExpoTees helped him get a job offer before he had even graduated.

     
 
 
 

ExpoTalent 2019

ExpoTalent is a unique opportunity to meet businesses to secure placements, internships and future employment opportunities.

 

Get in touch

Telephone

01642 335005

International students

International enquiries