Web, mobile and cloud technologies

This online module will provide you with an understanding and practical experience of cloud technology and the web technology which underpins it, as well as the role that these have in the provision of modern mobile applications. You will gain both a technical and business perspective of the advantages, problems and risks of using these technologies. A number of case studies demonstrate the application of the technology in different contexts, such as start-ups, established organisations and collaborations.

Read More

Algorithms, data structures and computability

The aim of this module is to help you become a computational thinker. Formulating a problem for efficient solution by computers is an extremely important skill. In this module, you will hone this skill: exploring a range of computing concepts; applying these to a variety of problems; and, in the process, becoming familiar with the popular Python programming language. This is the module for you if you are specialising in computing or if – whatever your field – you need to understand both the power and the limitations of computing. Though the focus is on the underlying ideas, you will also need to work with some mathematical concepts and notation.

Read More

Web technologies

The World Wide Web continues to provide a foundation for the development of a broad range of increasingly influential and strategic technologies, supporting a large variety of applications and services, both in the private and public sectors. There is a growing need for management and decision makers to gain a clearer understanding of the application development process, from planning through to deployment and maintenance. This module will give you an insight into architectures, protocols, standards, languages, tools and techniques; an understanding of approaches to more dynamic and mobile content; and demonstrate how you can analyse requirements, plan, design, implement and test a range of web applications.
Read More

Software development with Java

How do teams of professional software developers work together when creating complex software systems? How can the development process be partitioned to enable different people to work on different tasks, and what techniques can assist the individuals involved?

In this module you will be introduced to object-oriented approaches to software development that are widely applicable in the creation of software that meets the needs of its users: from small, simple systems to large, complex ones. These approaches take you from an analysis of what is required of a system through its specification, design and implementation. They include concepts such as use case design; the construction of structural and dynamic models; and the specification of classes. You will also be introduced to the role of user interface design within software development, and to some key aspects of testing software.Read More

Object-oriented Java programming

In the Object-oriented view of software, programs are considered to be collections of objects that interact by sending messages to one another and reacting to the answers to those messages. These ideas are at the forefront of modern software development.

The module takes an ‘objects first’ approach to teaching; you start seeing and interacting with graphical objects right from the very start. This is achieved by working within innovative and engaging micro worlds that allow you to learn basic object-oriented principles, before you attempt Java syntax or source code.Read More

BSc (Honours) Computing and IT – Learning outcomes

Learning outcomes

Knowledge and understanding

  • a broad critical understanding of the fundamental principles, concepts and techniques underlying computing and IT
  • an understanding of a range of models and languages to support the analysis and design of computing and IT systems
  • an understanding of the range of situations in which computing and IT systems are used, the ways in which people interact with them, and the possibilities and limitations of such systems
  • a critical awareness of the ethical, social and legal issues that can be associated with the development and deployment of computing and IT systems
  • an awareness of major trends in computing and IT and of the implications of these trends.

Cognitive skills

  • apply and critically evaluate key computing and IT concepts in a range of contexts
  • select and apply appropriate techniques and tools for abstracting, modelling, problem-solving, designing and testing computing and IT systems, and be aware of the limitations involved
  • compare, contrast, critically analyse and refine specifications and implementations of software systems and/or simple hardware systems
  • devise and carry out a project in computing and IT that applies and extends your knowledge and understanding, and critically reflect on the processes involved and the outcomes of your work.

Practical and/or professional skills

  • analyse, design, evaluate and/or test computing and IT systems, using appropriate simulation and modelling tools where appropriate
  • plan and organise yourself and your work appropriately, including keeping systematic records of work in progress and outcomes
  • demonstrate the ability to undertake ongoing learning in order to keep up to date with computing and IT
  • identify and address the ethical, social and legal issues that may arise during the development and use of Computing and IT systems
  • use appropriate professional tools to support your work.

Key skills

  • communicate information, arguments, ideas and issues clearly and in appropriate ways; bearing in mind the audience for and the purpose of your communication
  • work in a group, communicating effectively in a distance setting where the communication is computer-mediated
  • work independently, planning, monitoring, reflecting on and improving your own learning
  • find, assess and apply information from a variety of sources, using information technology where necessary
  • select and use accurately, appropriate numerical and analytical techniques to solve problems
  • recognise and understand a range of technological problems and select suitable techniques for solving them.

Discovering mathematics – MU123

Discovering mathematics

MU123 is intended to enrich mathematical knowledge and understanding and to provide techniques and strategies to tackle mathematical problems.

MU123 looks at a variety of mathematical topics such as numbers, statistics, graphs, algebra, trigonometry and associated techniques. It also introduces mathematical modelling and some problem-solving strategies. As well as ‘doing the maths’ you will learn how to interpret results in context and to explain your approach and conclusions.Read More

Technologies in practice – TM129

Technologies in practice

This module provides an opportunity to sample some of the key areas in computing and information technology. You will be introduced to three topics as tasters for your future studies and career: robotics, networking, and Linux. Studying these topics will enable you to develop essential skills for future employment in the computing and IT industry. You will be applying what you learn by developing a portfolio to demonstrate your skills and understanding in these areas. Read More

My digital life – TU100

 

My digital life

My digital life taken on a journey from the origins of information technology through to the familiar computers of today, and on to tomorrow’s radical technologies. Getting hands-on experience of programming and of how computing is changing. Also learning about the profound social and technological changes associated with information technology – changes that affect every one of us. Read More