This module aims to show you how to work with data in your computer programs. You will learn how to use SQL and NoSQL databases to store tabular data and documents. You will learn about the ethics of gathering and processing data and why it is important to consider issues around data security. You will learn about open data resources, and how you can access them from your computer programs. You will learn about audio and video data, and the challenges of working with this kind of data.
Advanced Web Development teaches you how to build dynamic, data-driven websites using databases, front-end frameworks and server-side programming. You'll develop the skills needed for full stack web development work and develop a web developer skillset, enabling you to build and deploy complete, data-driven websites. You'll consider different technologies for client-side web development such as HTML, CSS, JavaScript and templates. You'll explore methods for developing server-side web applications, by building web-accessible wrappers around databases, consider scalability issues and learn about web app configuration and deployment.
Studying this module will introduce the technology involved in the development and programming of hardware devices that can sense and act in the environment. It explains and demonstrates how the environment, which is inherently continuous, can be monitored by analogue electrical and mechanical sensors, then captured and analysed using a computer, which is a discrete system. A focus of this module is the interface between the digital and the analogue. You'll learn basic physics, electronics, programming and software engineering. The module's practical objective is the development of the skills needed for designing and building interactive physical devices.
In this module, you'll examine the notion of ‘interaction with technology'. You will focus on the concepts behind modern UX design and production and gain a solid grasp and practical experience of the process which allows the creation of interactive systems. This process involves specification, design, prototyping and evaluation. You'll examine several design approaches and techniques and consider how they enable usability engineering. You'll learn how to evaluate interactive systems against criteria such as efficiency and usability. You'll examine accessibility issues from the perspective of different populations.
Studying Intelligent Signal Processing will provide a broad experience of digital signal processing techniques and applications. You will study how programs can capture and process audio and video signals. You'll learn about time domain and frequency domain representations and processing and how you can extract information from audio signals. You'll implement movement and face detection systems that work with live camera input.