ADVANCED CHALLENGES IN WEB TECHNOLOGIES - 2022/3
Module code: COM3014
In light of the Covid-19 pandemic the University has revised its courses to incorporate the ‘Hybrid Learning Experience’ in a departure from previous academic years and previously published information. The University has changed the delivery (and in some cases the content) of its programmes. Further information on the general principles of hybrid learning can be found at: Hybrid learning experience | University of Surrey.
We have updated key module information regarding the pattern of assessment and overall student workload to inform student module choices. We are currently working on bringing remaining published information up to date to reflect current practice in time for the start of the academic year 2021/22.
This means that some information within the programme and module catalogue will be subject to change. Current students are invited to contact their Programme Leader or Academic Hive with any questions relating to the information available.
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.
SASTRY Nishanth (Computer Sci)
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
Independent Learning Hours: 107
Laboratory Hours: 11
Guided Learning: 10
Captured Content: 22
Prerequisites / Co-requisites
COM2025 Web Application Development and COM2022 Computer Networking. COM2033 Advanced Object Oriented Programming and COM3009 Computer Security would also be desirable but not essential.
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 type||Unit of assessment||Weighting|
|Coursework||WRITTEN ESSAY COURSEWORK||50|
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:
- 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.
- An individual essay which analyses in detail the technologies used by one Internet scale company or an open source software developed by or used by several Internet-scale companies.
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.
- 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.
|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|
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:
- 11-16 hours of lectures
- 18 hours of 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.
Upon accessing the reading list, please search for the module using the module code: COM3014
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.