Module code: COM3014

Module provider

Computer Science

Module Leader

GILLAM L Dr (Computer Sci)

Number of Credits


ECT Credits



FHEQ Level 6

JACs code


Module cap (Maximum number of students)


Module Availability

Semester 1

Overall student workload

Independent Study Hours: 110

Lecture Hours: 22

Laboratory Hours: 18

Assessment pattern

Assessment type Unit of assessment Weighting
Examination 2 HOUR EXAM 60

Alternative Assessment


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.

Module overview

Web applications have become robust and easy to use; therefore, the largest population now is more confident to use the Web as a mean of purchasing, banking or even communicating with other people. This module examines the architectural/design needs and challenges encountered when developing secure and scalable web applications using the latest technology. It also covers a broad introduction into the weaknesses and limitations of web applications and what technical solutions can be applied to overcome these.

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 web applications and demonstrate that ensuring security, quality and performance is also a developer issue. It also aims to provide a state-of-the art view and practical experience of web technologies

Learning outcomes

Attributes Developed
Understand the challenges of developing scalable web applications KCT
Identify the emerging web technologies KCT
Realise the need to develop secure applications CP
Know how to identify and implement some of the most important software patterns KCT

Attributes Developed

C - Cognitive/analytical

K - Subject knowledge

T - Transferable skills

P - Professional/Practical skills

Module content

Indicative content includes:

Review of current state of the art web technologies and emerging technologies
Rich Client Web Applications


Software Patterns and Frameworks

Spring MVC
Inversion of Control (IC) and Dependence Injection (DI)
Aspect Oriented Programming (AOP)

Introduction to the security risks associated with web applications.

Authentication and authorisation
Session Management
Preventing cyber attacks (SQL injection, XSS)

Web services

Building and consuming services (the RESTful way)
Consuming third party services, e.g. Google, Facebook, LinkedIn

Topics related to scalable web architectures

Load balancing for servers and database connections
Data persistence and access
Distributed processing (Hadoop)

Intelligent Web services

Product recommendation (Mahout)
User clustering (Mahout)

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:

22 hours of teaching
18 hours of labs
SurreyLearn links to additional learning
SurreyLearn discussion forums


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:

·         The student will form groups and work together to design and implement a Web Application that covers at least four out of the six topics taught (rich client, frameworks, security, web services, intelligent applications, and scalability). The group will also produce a report related to their implementation and also present the system to the rest of the class.

Deadline: Monday week 11

Presentation: week 12

·         Two hour unseen exam


Formative assessment and feedback

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

Reading list


Programmes this module appears in

Programme Semester Classification Qualifying conditions
Computer Science BSc (Hons) 1 Optional A weighted aggregate mark of 40% is required to pass the module
Computing and Information Technology BSc (Hons) 1 Optional A weighted aggregate mark of 40% is required to pass the module
Computer and Internet Engineering BEng (Hons) 1 Optional A weighted aggregate mark of 40% is required to pass the module
Computer and Internet Engineering MEng 1 Optional A weighted aggregate mark of 40% is required to pass the module

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 2017/8 academic year.