Students
Tuition Fee
Start Date
Medium of studying
Duration
Details
Program Details
Degree
Masters
Major
Computer Science | Software Development | Web Development
Area of study
Information and Communication Technologies
Course Language
English
About Program

Program Overview


Module Overview

The ADVANCED CHALLENGES IN WEB TECHNOLOGIES module examines the architectural and design needs and challenges encountered when developing and deploying secure, resilient, and scalable web applications using the latest technology. It provides an introduction to approaches used in modern Internet-scale web applications, covering technologies used in and/or developed by familiar companies such as Twitter, Amazon, Netflix, and Google.


Module Details

  • Module code: COM3014
  • Module provider: Computer Science and Electronic Engineering
  • Module Leader: SASTRY Nishanth (CS & EE)
  • Number of Credits: 15
  • ECTS Credits: 7.5
  • Framework: FHEQ Level 6
  • Module cap (Maximum number of students): N/A

Overall Student Workload

  • Independent Learning Hours: 88
  • Lecture Hours: 11
  • Laboratory Hours: 22
  • Guided Learning: 11
  • Captured Content: 18

Module Availability

The module is available in Semester 2.


Prerequisites / Co-requisites

There are no prerequisites or co-requisites for this module.


Module Content

Indicative content includes:


  • Capabilities of state-of-the-art Internet-scale systems through examples (e.g., scalability, resilience)
  • Cloud-native and collaborative software development practices (e.g., git)
  • Cloud deployment technologies, methods, and models (e.g., Docker)
  • Cloud architecture and design patterns (e.g., Microservices)
  • Data processing in Internet-scale systems (e.g., Hadoop, Spark)

Assessment Pattern

The assessment pattern consists of:


  • Coursework: Group Coursework (100% weighting)

Alternative Assessment

When an alternative assessment is required, an individual coursework will replace the group coursework.


Assessment Strategy

The assessment strategy is designed to provide students with the opportunity to demonstrate:


  • Ability to appraise technical literacy in the area of Web technologies
  • Ability to solve requirements specification (problem-solving) and design appropriate solutions
  • Group collaboration in building a software system
  • Appreciation of the importance of high-quality and efficient coding

Module Aims

The module aims to:


  • Introduce students to the main design, implementation, scalability, security, and maintainability challenges involved in the development of real-world Internet-scale web applications.
  • Provide a state-of-the-art view and practical experience of web technologies.

Learning Outcomes

The learning outcomes are: | | Attributes Developed
---|---|---
001 | Understand the challenges of developing secure, scalable, and resilient web applications | KCT
002 | Gain familiarity with emerging web technologies for Internet-scale systems | KCP
003 | Gain experience in approaches to developing and deploying modern cloud applications | CP
004 | Develop the ability to identify and implement some of the most important "cloud-native" software patterns | KCT
005 | Understand the key principles of big data analysis for internet-scale applications | KP


Attributes Developed

  • C: Cognitive/analytical
  • K: Subject knowledge
  • T: Transferable skills
  • P: Professional/Practical skills

Methods of Teaching / Learning

The learning and teaching strategy is designed to develop a critical understanding and gain practical experience of the literature through facilitated group learning. The skills gained on this module are directly transferable to all other modules on the programme and to the wider science profession.


Teaching Methods

The teaching methods include:


  • Lectures
  • Labs/tutorials/guest lectures
  • SurreyLearn links to additional learning
  • SurreyLearn/MS Teams discussion forums

Digital Capabilities

The theory and practical development of scalable web applications taught in this module provide students with digital skills that are highly valued in industry. This module builds on and goes beyond the material taught in COM2025 (Web App Development) to provide students with the knowledge and practical skills to build robust and scalable web applications.


Employability

By learning about building web-based systems that solve real-life problems, students are equipped with practical problem-solving skills, theoretical skills, and design and development skills. This module uses industry-standard technologies and provides a practical grounding in developing scalable applications.


Global and Cultural Skills

Computer Science is a global language, and the tools and languages used on this module can be used internationally. This module allows students to develop skills that will enable them to develop web applications with global reach and collaborate with their peers around the world.


Resourcefulness and Resilience

This module involves practical problem-solving skills that teach a student how to reason about complex distributed systems. It requires a thorough knowledge of several hardware and software technologies that are combined to build one of these applications. Students can then apply this knowledge to similar problems.


See More
How can I help you today?