The first year of our web and mobile development pathway provides you with a solid foundation in web technologies such as HTML, CSS and JavaScript. It also ensures you have an excellent core understanding of the key concepts within computer science.
In your second year, we deepen and specialise your knowledge of web and mobile development. We will also be preparing you for your final year by helping you to focus on your research skills.
In the final year, you are offered a range of options in topics which are of current interest for mobile and web developers.
Full downloadable information regarding all University of Suffolk courses, including Key Facts, Course Aims, Course Structure and Assessment, is available in the Definitive Course Record.
Year 1
Computing Fundamentals
This module covers the principles of computer systems, hardware components, the essence of operating systems, and relevant computing-related mathematics. This module will provide the foundational underpinning to enable students to progress deeper into the disciplines of computing and networking, and a grasp of the history of computing, recent developments and its possible future.
Networking Overview
This module introduces the concepts of communications and networking. It explores the Open Systems Interconnectivity (OSI) 7-layer reference model and TCP/IP Routing Suite (the 5-layer Internet reference model). TCP/IP is the model which is most commonly deployed in the majority of modern-day networks.
Introduction to Web Design
The module introduces the concepts of web design, with a focus on designing responsive web sites that are targeted at mobile platforms. Students are introduced to HTML, CSS and JavaScript to provide with them the understanding of what goes into the front end of modern web sites. Using a series of case studies, students will analyse the design and layout of a range of existing sites using a number of common analysis techniques.
Introduction to Programming
This module introduces students to the concepts and practice of computer programming. It is aimed at providing students with an understanding of the fundamentals of computer programming by having them work through a range of tasks focused upon layout, structure and functionality. The core language taught is Python but C++ is also introduced.
Operating Systems
This module will introduce the concepts of operating systems, including their structure, memory and storage management, protection and security. Designed with software developers in mind, it will look closely at real-world operating systems such as Windows and UNIX.
Year 2
Software Design, Development and Engineering
This module focuses on all phases of the modern software engineering lifecycle and advanced software engineering topics, including critical software, secure software, formal methods and project management from the practitioner’s perspective. This will be put into practice through the requirements gathering, design, implementation and testing of an extensive project that meets the needs of a particular enterprise.
Introduction to Relational Databases
This module provides essential knowledge and appreciation of the role of relational database systems, including basic principles and practice of design, implementation and development for both system designers and software engineers. It will include practical exercises in Structured Query Language.
Computing Research Skills, Professional Practice and Ethics
Research skills are an essential set of capabilities in the toolkit of a professional software engineer. In this module, students will develop knowledge and understanding of the purpose, processes, methods (surveys, experiments, interviews, case studies, etc.), analysis (qualitative and quantitative), and outputs of research and will be able to apply them. This module also delves into the professional, legal and ethical standards and guidelines that inform and guide best practice in business and computing.
Data Structures, Algorithms and Advanced Programming
This module focuses on data structures (e.g. linked lists, trees, heaps, hash tables, etc), algorithms (sorting, searching, dynamic programming, greedy, graph, geometric, cryptographic, string matching and compression algorithms, etc), and advanced programming techniques and other language paradigms.
Advanced Web Design
The module builds upon the content delivered to the students in Introduction to Web Design, providing students with an advanced understanding of front-end web development and design technologies. Essential for any career in the web industry, students will utilise advanced frameworks, pre-processors and design patterns to create interactive, accessible and mobile-friendly web interfaces. Through interactive hands-on sessions, students will develop their own online portfolio of work and become familiar with the prototyping and agile development methodologies common to the web industry.
Advanced Web Application Development
The module will provide students with the knowledge and skills needed to develop scalable server-side applications utilising a range of influential web technologies. Throughout the module, there is an emphasis on preparing students for the web industry by ensuring best practices are followed and industry-standard software and tools are used. Additional topics such as security, ethical hacking, APIs and encryption will also be taught to ensure students have the skills required to design and develop large-scale web infrastructures.
Year 3
Project and Dissertation
The module provides the opportunity for students to apply and develop some of the knowledge and skills acquired in their degree by engaging in a significant project in a specialist area of computing, typically software or networks. It will enable and require students to utilise practical, intellectual and decision-making skills in novel situations and develop their autonomy and self-direction.
Mobile Application Development
The module is intended to provide students with an understanding of development for mobile devices with a focus on the constraints of mobile hardware, including interface and networking. Students will learn to integrate input from hardware sensors and work with networked data and services.