• Computer Science

BSc (Hons) Computer Science

UCAS code: G400 BSc/CpS

Choosing computer science here at Teesside University gives you the chance to study a number of subjects from programming, mobile development, artificial intelligence, cloud and web services through to embedded systems and software architecture.

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

  • Student profile
  • 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.

This degree gives you the opportunity to choose your speciality through themes, which are based on traditional areas of computer science. You also take part in a business project - an opportunity to undertake a industry-relevant development work.

There are a number of subject areas to select from including:

  • programming
  • networks and computer security
  • systems design and databases
  • artificial intelligence
  • embedded systems
  • software architecture

Modules

Year 1 core modules

Algorithms and Data Structures

We introduce you to problem-solving using an informal yet rigorous approach. Recreational problems, like games and puzzles, are used to convey important algorithmic concepts. The module introduces a variety of algorithmic techniques and provides an appreciation of the use and importance of data structures. It introduces the idea of 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 so that it becomes clear which representations are appropriate under which circumstances. An understanding of the basic skills needed in algorithmic design and the interaction between algorithm and data structure in creating efficient code is emphasised. This module enjoys a close relationship with the module Java Programming.

Computer Systems

Java Programming

We introduce you to the Java programming language, event driven systems and the principles of object oriented (OO) software development. Your knowledge of fundamental object oriented concepts includes classes, objects, methods, inheritance, polymorphism and encapsulation. You acquire practical problem solving skills required to implement complex graphical user interfaces (GUIs) using the Java programming language. This includes using a professional source code editor and an integrated development environment (IDE).

The module is delivered so that it provides the essential foundations that can be applied to solving problems through programming.

Mathematics for Computing

You develop your mathematical ability and gain the mathematical skills required in computer games and graphics programming.

You begin with material on vectors and parametric forms for lines. This is followed with a thorough review of differential and integral calculus leading up to the solution of simple differential equations.
The final block is concerned with matrix algebra and its application to solving systems of linear equations, along with topics in discrete mathematics which form the basis of the notation used in the specification of software.

You are assessed by three open book tests during the academic year.

Systems Design and Databases

You are introduced to the concepts and techniques of systems analysis and design. Industry standard approaches are studied (UML). The design and implementation of relational databases and the supporting data description and manipulation language (SQL) is also be covered.

 

Year 2 core modules

Artificial Intelligence Programming

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

The module primarily uses 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.

Enterprise Project

You gain valuable experience working on and managing a substantial, collaborative project. Working in small teams, with industry-specific tools, you prepare a fully documented product that satisfies a realistic brief, then ‘sell’ that product to a panel of academics and/or industry experts.

You analyse the technical problem presented to you and design a detailed solution. You produce a high-quality product and present and defend your wok in a professional manner, based on established industry-practice.

This module uses group, individual and peer assessment.

Information Systems Security

You cover a range of issues in computer security and information security. These include access control, technologies used to implement security measures, models of security and cryptography.

You also cover how security systems fail along with related areas such as the legal and ethical background and physical security.

This module:

  • introduces you to a range of security definitions, problems and technologies
  • identifes issues and state best practice in security management
  • applies security concepts and practices and evaluate their effectiveness
  • explains and justify system designs to account for security issues
  • identifies ethical and legal issues in security.

 

Computer Science theme

Advanced Java Programming and Cloud and Web Services

You cover a number of advanced topics relevant to software construction including concurrency, design patterns, the development and coordination of software agents and high level object oriented (OO) concepts.

Throughout this module, emphasis is on the agile/extreme approach to software construction.

This module:

  • gives you knowledge of advanced object oriented concepts (illustrated using the Java programming language), including generics and interfaces
  • introduces you to concurrent programming and the implementation of multi-threaded Java applications
  • exposes you to the concept of software agents and the architecture of multi-agent systems (MAS)
  • gives you an awareness of the set of generalised repeatable solutions to common programming problems commonly known as design patterns
  • increases your familiarity with the use of an integrated development environment (IDE).

 

Networks theme

Networks and Communications and Networks and Systems Administration

You are introduced to the fundamentals of data communications, examining the characteristics of modern network transmission media. You explore modern computer network design concepts and associated performance issues; The functionality and services offered by network protocols are examined and applied to the delivery of specific network requirements; Network Simulators are used to analyse and test network design architectures.

 

Final-year core modules

Advanced Database Systems

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

You 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 are undertaken in a number of areas including data warehouses, integrating legacy data, data management and approaches that support the modelling and visualisation of data for a range of use views.

Computing Project

The Computing Project is a large scale piece of work, undertaken by you under the supervision of a member of the academic staff. The project involves the production of a substantial artefact related to the computing field and culminates in the writing of a report and a viva consisting of the 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.


Embedded Systems

You are introduced to the large and diverse area of embedded system applications. The design and programming of larger-scale embedded systems is considered first, including lab work on real-time programming. Secondly, you study the detail of smaller scale embedded applications and this includes hands-on development using a hardware platform for embedded prototyping.

 

Computer Science theme

Artificial Intelligence Applications

Artificial Intelligence is concerned with the science and engineering of intelligent machines. It is a cross disciplinary subject considering aspects of cognitive psychology, linguistics and philosophy but with an emphasis on computer science.

More recently the computing focus of AI has become increasingly interested in 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 used to engineer intelligent systems (agent-based and other) and undergo an in-depth study of key research and application areas of intelligent systems.

Software Architecture

We explain the purpose of, and need for, an architectural view of a software system. Software systems are built from interacting components that can be assembled in a variety of ways. You examine component construction and the ways in which components can be assembled to form high quality, robust systems.

This module:

  • defines the meaning of software architecture
  • examines component development, component interfaces and execution environments (runtime systems)
  • analysis different software architectures
  • debates why architectural perspectives and abstractions are needed
  • appraises the role different parts of each architecture plays.

There is one lecture a week to describe the theoretical and practical knowledge needed for the subsequent lab session. In the lab session you construct, assemble, investigate and evaluate architectural components. Background research is required for you to make best use of the lecture and lab sessions. Instruction in the practical sessions is from electronic workbooks.

 

Networks theme

Advanced Networks

The modern world is increasingly dependent on networks. Networks support global communications, business support, automation, social activities and much more. The skills and knowledge to support them is increasingly diverse, requiring not just technical ability but also an awareness of their role within a business. This module continues to develop your understanding of networking in a business environment.

Network design issues are considered in depth, including measures to provide availability and manageability. The use of redundancy and design is covered, examining the role of topologies, network protocols and devices. Technologies such as routers, IPv4 and IPv6, network attached storage, voice over IP (VOIP) and long fat networks are addressed. Network security policy and issues are covered from the design stage throughout the infrastructrure.

Network performance is covered in the broadest sense, with an emphasis on availability of resources. Factors affecting the performance of a network, from the users to technical and legal issues will be considered.

ICT Service Management

The recognition of the close relationship between business and an ICT infrastructure has led to the rise of a service led approach to ICT management. This approach improves the service offered to the business by the infrastructure through improved design and management methods. Service delivery is a standard approach used in commercial and industrial environments for delivering network services. It is defined in the IT Infrastructure Library (ITIL).

It approaches the network in terms of the end-to-end service that it delivers to the end user. In other words it is a user/business centred approach to design, implementing and managing networks. Networks are critical to the commercial activities of most organisations and anyone working in network services is almost certain to come into contact with some, if not all, of the subject areas covered here.

This module:

  • enables you to design a network infrastructure to meet specific business requirements
  • explores the role of service delivery in the management of an infrastructure
  • examines the content and role and service level agreements (SLA) and operational level agreements used for infrastructure management
  • develops your knowledge of configuration management and the configuration management database
  • develops your knowledge of change control in an infrastructure
  • explores the role of the service desk and the relationships between incident, configuration and change management
  • investigates relevant legislation and explore the requirement for compliance in a networked infrastructure
  • enables you to measure the performance of networked computer systems effectively, identify faults and bottlenecks and propose effective solutions
  • appreciates the social and legal contexts in which networked computer systems operate and the usefulness of written policies and procedures for network users and managers.

We use a variety of different approaches to the scheduled sessions to encourage you to take part and meet key learning outcomes. This includes lectures, self-managed study and reading, online research, and consultation and feedback sessions. We introduce variety to help keep you motivated and help you develop your independent learning abilities and confidence in them.

Practical sessions employ a mix of practical and theoretical work. The work includes the use of case studies and presentation. We use peer review exercises to support research exercises.

 

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.

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.

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.

The degree also provides an excellent basis for postgraduate study and research.

Entry requirements

Call us on 01642 342639 about our entry requirements

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

What is KIS?

How to understand the Key Information Set

Course information

  • Length: 3 years full-time study or 4 years with work placement
  • Not available part-time

2014 entry

Contact details

Open days

Request a prospectus

If you would like more information about our courses or the University, please register with us.