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 clientside 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.
This module covers advanced methods used in current state-of-the-art graphics and animation systems. It includes mathematical foundations, computational techniques and their use in creative practice. In this module, you'll learn how to write programs that generate animated 3D graphics. There are several distinct study areas: 3D modelling and animation, the graphics pipeline, simulation of physics and shader programming. You'll study a range of examples and learn how to program graphics in contemporary graphical software for different applications.
The Mobile Development module aims to give you the fundamental understanding and skills needed to develop mobile applications. By studying this module, you will learn the principles of effective mobile user interface design and how to design and build user interfaces. You'll learn about datadriven mobile apps, and how you can integrate an app with a data source. You'll learn about the mobile development ecosystem and how to develop, run and test your applications. You'll work with various sensors available on mobile devices using built-in application programming interfaces. The style of the module is practical, focusing on developing working apps.
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.