Surrey University Stag

ADVANCED CHALLENGES IN WEB TECHNOLOGIES - 2022/3

Module code: COM3014

Module Overview

This module examines the architectural/design needs and challenges encountered when developing and deploying secure, resilient and scalable web applications using the latest technology. It also 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 provider

Computer Science

Module Leader

SASTRY Nishanth (Elec Elec En)

Number of Credits: 15

ECTS Credits: 7.5

Framework: FHEQ Level 6

JACs code: I300

Module cap (Maximum number of students): N/A

Overall student workload

Workshop Hours: 11

Independent Learning Hours: 88

Laboratory Hours: 22

Guided Learning: 11

Captured Content: 18

Module Availability

Semester 1

Prerequisites / Co-requisites

None

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

Assessment type Unit of assessment Weighting
Coursework Group Coursework 100

Alternative Assessment

When an alternative assessment is requred, 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

 

Thus, the summative assessment for this module consists of:


  1. The student will form groups and work together to design and implement a Web Application that covers topics taught. The group will also produce a report related to their implementation. This will assess all learning outcomes



Formative assessment and feedback

Students will be able to post comments and questions on a group-private forum. Students can also use the lab time to ask questions about their coursework, or arrange with the module coordinator to meet. 

Module aims

  • This module aims to introduce students to the main design, implementation, scalability, security and maintainability challenges that are involved in the development of real world Internet-scale web applications. It also aims to provide a state-of-the art view and practical experience of web technologies.

Learning outcomes

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 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.

The learning and teaching methods include:


  • lectures

  • labs/tutorials/guest lectures

  • SurreyLearn links to additional learning

  • SurreyLearn/MS Teams discussion forums



 

Indicated Lecture Hours (which may also include seminars, tutorials, workshops and other contact time) are approximate and may include in-class tests where one or more of these are an assessment on the module. In-class tests are scheduled/organised separately to taught content and will be published on to student personal timetables, where they apply to taken modules, as soon as they are finalised by central administration. This will usually be after the initial publication of the teaching timetable for the relevant semester.

Reading list

https://readinglists.surrey.ac.uk
Upon accessing the reading list, please search for the module using the module code: COM3014

Other information

Digital Capabilities

The theory and practical development of scalable web applications taught in this module provide students 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 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. This class of system is now ubiquitous and as such these skills are highly valuable to employers.

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 allow 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.

Please note that the information detailed within this record is accurate at the time of publishing and may be subject to change. This record contains information for the most up to date version of the programme / module for the 2022/3 academic year.