• Computing

BSc (Hons) Computing

UCAS code: G402 BSc/COMP

Computer technology touches many parts of our lives from the way we shop and the cars we drive to our interaction with governments. It drives innovation in the sciences, engineering, business, entertainment and education.

A degree in computing can offer you excellent job prospects. Whether you like solving problems, are keen to develop and build new systems or want to work in digital media, we help you gain the skills to do it. Here we provide flexibility for you to build a degree on your preferences and needs. You have a wide range of subjects to select from so that you can tailor your learning to match your own specific requirements.

You can build your own degree from the range of modules listed on the right hand side of this page.

Modules

Year 1 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.

C++ programming

This is an introductory course to programming with an emphasis on the learning, development and application of algorithms and data structures in a computer game context. You learn to think, design and program using object-oriented methods.

You are required to demonstrate conceptual understanding and practical competence at programming by designing and developing solutions to specific programming problems and the development of a relevant application.

Computer and Mobile Technologies

We introduce the inner workings of a wide range of current digital devices. Areas of study include the major components of personal computers, mobile phones, game consoles, MP3 players, digital cameras and other relevant peripherals. You examine the various components making up these devices and develop your practical understanding of common unifying features.

We also teach you the theoretical and practical skills required for hardware performance optimisation where possible. Theoretical concepts are reinforced by practical hands-on experience.

This module:

  • introduces you to the various components present in a wide range of digital devices and systems
  • identifies common features among these devices and systems, such as processors, memory, and displays
  • provides an awareness of new and emerging developments within the field of digital technology.

Digital Forensics Practical Investigations

The major focus of this module is on group work. You tackle problem-based learning, introduced by an employer in the field of digital electronics, ensuring you investigate relevant case studies. Your teamworking skills are developed as you apply your theoretical knowledge to practical investigations

Games Middleware

You learn how to create a 3D interactive environment using industry-standard game middleware and use a game engine to develop your own 3D game.

This module covers the set of programming techniques and concepts related to the creation of a modern computer game using industry-standard middleware products. You are introduced to game programming skills in general and illustrate game middleware components and their utilisation.

This module covers the game production pipeline and the issues faced when using industry-standard middleware.

Interactive Animation

You study design and development principles and theory to enable the production of interactive multimedia applications such as 2D animations, flash games and AIR apps for both targeted and multi-platform deployment.

The assessment requires you to design and develop a number of different artefacts including apps, animation and games with appropriate documentation. At identified milestones in the module delivery, presentations of artefacts facilitate formative feedback and peer critiques, which nform further design changes and reflective practice.

Interface and Digital Content Design

We give you an understanding of design for web and multimedia. This involves the production and manipulation of different digital media such as typography and graphics, to produce usable yet creative and visually appealing interfaces.

You are introduced to the design and creation of multimedia content and interfaces. You use a range of software applications to design, create, edit and manipulate different media types.
The focus of the module is on web-based applications, but the approaches and techniques introduced could be applied to the development of other computer interfaces.

Key design issues such as the fundamentals of 'good' design, creatively generating ideas and the relationship between the user and the media provide the theoretical content for designing multimedia content. Technical design considerations including file formats, file size, compression, quality and compatibility are introduced but emphasis is on the practical aspects of using multimedia technology and applications.

The module is assessed through an ICA in two components.

Introduction to Networks and Computer Security

You gain a thorough understanding of the role of Computer Networks in modern society. Network design principles are introduced; current trends in network usage are explored, including the increased demand for bandwidth, the demand for mobile and wireless solutions and the bandwidth divide. This also includes hands on experience using key network devices including cabling, switches and routers on a wired and wireless network.

Network and computer security issues are explored, examining operations security; continuity and recovery; the role of risk assessment; legal requirements; ethical issues; security threats; how policies can be applied to mitigate risk; as well as investigating relevant protocols and hardware technologies.

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.

Music, Sound and Video

You are introduced to digital music, sound effects, dialogue and video and develop the necessary techniques involved in their creation and manipulation. You look at the peripherals required to capture and create audio and video and the software needed to effect the capture and manipulate them. You become familiar with popular commercial software and use the software to create your own soundtracks, sound effects and video.

File types and sizes for audio and video are also be covered, together with compression techniques and a discussion of the size/quality trade-off. Emphasis is given to the practical aspects of capturing, editing, manipulating and embedding of audio and video.

Rapid Development Tools

You are introduced to the concept of rapid development applications, either without programming, or with minimal programming. You gain experience of analysing, designing and building database driven applications using a tools-driven approach. A range of rapid application development tools are used, such as Microsoft LightSwitch, Mendix, Zoho Creator.

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.

Web Development

You learn how to develop websites utilising HTML5 and CSS3. You are introduced to a web development life cycle, showing how web-based analysis and design techniques can be used early in the life cycle and how project management and quality assurance/quality control techniques can be applied throughout the web cycle. You look at a website development package and testing, including the concepts of usability and accessibility.

The focus of the module is developing key skills required for other modules on the programme. Emphasis is placed on reaching a minimum level of competency and this is achieved through continuous assessment and feedback within the practical sessions. You undertake tutorial activities that enable you to produce responsive multiplatform websites. Assessment is continuous and involves the production of a portfolio of work via worksheets. It also includes some group work at the end of the module for evaluation and testing purposes.

Web Industry Skills

You gain key skills needed for studying at University level and are prepared for studying web and multimedia design and development. You develop your research, communication, technical and team working skills alongside the other modules that are studied in the first year as well as through studying the context of and future developments in web and multimedia design and development. This module integrates with the other first year modules and delivers ‘just-in-time’ support for tasks set in other modules (e.g. presentation skills prior to delivering a presentation on another module).

 

Year 2 modules

Advanced Java Programming

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

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.

Client-server Technologies

You develop key skills in the design and implementation of web applications that consume and create content on a web server. You build on your existing skill set in terms of markup and CSS by combining these with an embedded serverside language on an open source platform. You learn how to write PHP to interact with a MYSQL database. In addition, this provides an opportunity to be at the forefront of developments, especially using cloud based API’s AJAX and JQuery. The module adapts to new trends in terms of internet technology.

Cloud and Web Services

In this module we cover the design of service oriented web applications. We adopt a service oriented architecture approach to enable you to analyse and design a web application that is loosely coupled to a set of web services.

You also study the role of web services and develop applications that build and consume web services.

This module aims to:

  • explore the advantages and disadvantages of a web services approach
  • explain the use of service oriented architectures
  • show how to mix different language approaches to the development and use of web services
  • explore the use of web service security
  • explore the use of web services enhancements.

Following an initial presentation of an aspect of the course each week, you are expected to work primarily in small groups, with the worksheets provided. Your response to the activities and exercises on the worksheets allow us to monitor your progress.

Assessment
For the individual assessment you plan the development of a medium-sized web services based application. Then you define a project plan, clearly showing which parts of the application you will implement.

You are expected to develop those parts of the application and will be provided with some existing classes we expect you to use with the application.

You also write a short report of 1,000 words.

Conceptual Design and Creativity

You look at the principal discipline of the creative process and design strategies such as typography, branding, grids and go on to explore their use in the creative output of individual influential artists and designers who have and are still working in areas such as filmmaking, video, graphics, advertising, photography music and sound multimedia and web design.

It help you pursue your own design strategies and to develop your own style within a conceptual framework. For example composition, graphic design (traditional, hand-drawn and digital), uses of colour culturally and trends, found objects and sounds and text and the discipline of photography are all considered from a more abstract perspective.

The focus is developing a style through techniques primarily through exposure to the creative process of artists and artisans and the exploration of professional techniques. You are encouraged to engage critically with existing work, selecting elements as appropriate to your own overall design concept.

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.

Game Jam

You gain an intensive and immersive game-studio experience, relying on the Scrum development method, in the form of a four weeks full-time group project.? You develop the skills and knowledge required in the development of a computer game, including important key transferable skills such as the ability to work in a team of programmers, the ability to follow a game design specification and the ability to adapt to change.

As a team, you create a game demo in collaboration with a game designer providing assets and game design documents.

Previous to the start of the project, lectures cover a variety of relevant topics to prepare you for planning and managing your project and to equip you with gameplay programming techniques.

Games Engine Construction

You gain an in-depth view into the design of core computer game architectures and their implementation using industry standard Application Programming Interface (API) and object oriented programming.

You develop your own basic computer game engine. This involves implementing and integrating computer game engine core components. A further emphasis covers the integration of scripting systems (e.g. Lua). Also the module includes the development of an Artificial Intelligence (AI) sub-component including real-time agent based simulation through the implementation of basic path-planning and finite-state machines.

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.

Multimodal Interfaces for Games

You are introduced to the principles of Human-Computer Interaction and explore advanced multimodal interaction techniques, with an emphasis on their current and future use in computer games.
You cover topics such as perception, human factors, usability and experience design, along with GUI design and implementation with a practical application to a games programming tool or game design. You examine the changing aspect of user experience in modern games design – serious gaming, gameification and casual gaming.

We also provide a research-informed component, exploring technologies and implementations related to the future of interaction (especially in games and using console hardware), with an emphasis on multimodal and mixed reality applications.

Multiplatform Applications

In the current computing age users expect to access their information and social applications on a variety of platforms and devices. You investigate the platforms available and different methods of developing for these platforms.

Using industry standard software and applications, you explore the design and development of native, hybrid, desktop and web based apps and games. It extends your skills using a variety of different design and development tools. The user experience is key to all development and design decisions. You have an opportunity to build a number of apps for a range of devices.

Networks and Communications

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.

Networks and Systems Administration

We introduce you to the key aspects of network and systems administration. This includes a study of current network filing systems, user account issues including account setting up (bulk and individual), generating IDs and passwords, password policies account administration, suspending accounts, changing quotas and passwords and issues associated with wireless networks.

The importance of secure storage and backup of user data is addressed, along with other maintenance issues, network management issues and network performance monitoring.

The significance of licenses and legality (or otherwise) of user software is investigated, as are policies on network and account security, viruses, and attack by hackers (D.O.S.) and spammers. Finally, some of the ethical and moral concerns surrounding account privacy are investigated.

Open Source Web Design

You gain a theoretical and practical perspective of designing and developing content rich websites using an open source development platform such as Wordpress. You start with design and development using a cloud-based host, before moving on to self hosting and manipulation of the back-end structure of open source content management systems. You gain an understanding of the wide range of open source content management systems, benefit from engaging with the online community and learn how to develop custom applications and distinct interfaces.

Rapid Development Systems

You explore the development of information systems. You take a tools-driven approach to advanced application development while considering the use of web services and plug-in application components. A range of development platforms is explored.

You work on web-based and desktop applications with rich user interfaces by means of visually-orientated tools such as Visual Studio. This allows you to create data driven information systems with a minimal programming approach via code generation tools

 

Final-year modules

Accessibility and User Experience

You develop expertise in the design and development of accessible and adaptable digital and mobile applications. You examine accessibility and adaptability of digital media for web, mobile and software applications, and gain a thorough understanding of legislation, guidelines and standards related to accessibility.

Informed by current and on-going research by the teaching team, you develop skills in creating accessible and adaptable apps, gadgets and widgets and a thorough grounding in the skills required for making websites accessible and usable.

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.

Advanced Games Development

You gain the experience of working as a member of a games development team that is as close to industrial practise as possible. We simulate the working criteria and mix of development skills that are required to produce a computer game.

The assessment is a group assignment in which team members develop a working game, product specification and individual report. This will consist of two components weighted at 70/30.

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.

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.

Artificial Intelligence for Games

You gain an integrated view of Artificial Intelligence (AI) and its application in Computer Games, building on the core AI concepts introduced previously such as AI scripting, finite state machines and basic path planning.

We bring you up to date with the exploration of advanced AI techniques within Computer Games.

This module:

  • introduces and discusses the latest AI techniques involved in computer games including planning for path finding, planning for virtual agents' behaviour definition and learning for real-time environments accounting for users involvement
  • develops your knowledge and understanding of current research progress and important research topics in the domain of AI applied to computer games
  • analyses, discusses and presents a particular topic using references to appropriate academic research papers.

Client Focused Business Solutions

Consultancy is widely used within industry. Close collaboration between the client and the consultants allows the design and implementation of projects to be made based on informed decisions. You gain an understanding of the role of the consultant and how to advise, influence or simply help clients to do things differently when it comes to their IT projects.

You also decide what data to collect in order to have the right information set to diagnose a problem. You then present a solution to a problem you have diagnosed.

As part of a mini company (team) you are involved in the management of a client’s project from beginning to end. You are introduced to an industry standard project management methodology called PRINCE2® and its associated documentation.

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.


Conceptual Design Futures and Portfolio

Drawing on design principles and personal work that you have developed in the predecessor module, this module centres on the concept of quality – in design, in production, presentation and in strategy.

Encouraging you to research the work of artists and designers in your field and concentrate on the techniques employed in producing quality and excellence for the purpose of final display. This can take the form of a portfolio, an exhibition or preparation for, and final launch of a piece of interactive media or a film.

During the module you undertake evaluation and reflection on your professional portfolio with particular emphasis on its’ suitability as a vehicle for self promotion. A culture of peer review and critiquing is employed to facilitate the development of professional individual portfolios.

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.

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.

IT Law

We introduce you to the key legal issues that students anticipating a career in the IT industry (in its broadest definition) should be aware of. Key topics include introduction to the English Legal system, intellectual property rights, computer crime, computer contracts and liability, and privacy and data protection. You are encouraged to apply the legal principles studied to realistic scenarios and case studies from the real world.

Mobile Games Programming

You explore the technologies and tools available to develop professional mobile games. Emphasis is on the development of location-aware, mixed reality games rather than games which merely run on a mobile device.

After completing the module, you will be able to research and select appropriate technologies and techniques to implement a mobile game prototype using suitable hardware and software platforms. The module primarily examines development on the iOS and Android platforms.

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.

Web Optimisation Strategy

Web Optimization Strategies provides you with a greater understanding of the need to develop for search engines as well as human users. We demonstrate how web marketing techniques, web analytics to evaluate performance and SEO strategy, when implemented through coding and content optimisation solutions, can improve website performance – building more traffic, converting users to customers and improving search engine visibility.

You apply your knowledge and skills through a case study that involves the creation of a marketing strategy to optimise the performance of a web application. The strategy includes defining business goals, analysis of goals via metrics, designing a search engine friendly content and navigation strategy, and evaluating its effectiveness.

You are assessed by an individual in-course assessment that comprises of two components. Component one requires the creation of the marketing strategy and a web application developed in HTML5 and CSS3. Component two allows you to evaluate your web application against the web marketing strategy.

 

Modules offered may vary.

How you learn

You are taught by a combination of lectures and practical sessions in each module. Lectures concentrate on teaching the principles while practical sessions allow you to put these principles into practice. In your final year you undertake a major piece of work in the form of the Final Year Project. This supervised project allows you to explore an area of interest in much greater depth and is an ideal opportunity to build knowledge and skills that will help you on your way to a career.

How you are assessed

Assessment across the modules includes a range of examinations, in-course assessments and teamwork. All assessments are designed to suit the requirements of the module and include case studies and technical exercises. Assessments are designed to build on the work you undertake in your modules and contribute to the development of knowledge and skills in a given subject area.

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 Accenture, Cisco, James Cook Hospital and Simpson Group.

Career opportunities

The flexibility of the course in allowing you to build your own pathway means that a very wide range of careers is potentially available. The career path you take will be influenced by the choices made during your studies.

By choosing appropriate modules and selecting your final year project carefully, you could open career paths as disparate as web designers, programmers, systems analysts, games programmers, multimedia developers and network support.

70% of students were in work/study six months after finishing this course (HESA Destinations of Leavers from Higher Education Survey 2012).

Entry requirements

A typical offer is 280 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

What is KIS?

How to understand the Key Information Set

Course information

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.