WEB APPLICATIONS DEVELOPMENT - 2024/5

Module code: COM2025

Module Overview

This module will introduce students to some of the latest technologies for building modern web applications. Students will develop interactive web applications and learn about the best practices in their design and development. The module provides students with an understanding of the core concepts underpinning web applications and provides students with the necessary skills to improve their broader development and problem-solving skills. A practical project-based assessment allows students to demonstrate their proficiency in using and applying frameworks to client- and server-side development.

Module provider

Computer Science and Electronic Eng

Module Leader

CROSSAN Andrew (CS & EE)

Number of Credits: 15

ECTS Credits: 7.5

Framework: FHEQ Level 5

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

Overall student workload

Independent Learning Hours: 82

Lecture Hours: 24

Laboratory Hours: 22

Guided Learning: 11

Captured Content: 11

Module Availability

Semester 1

Prerequisites / Co-requisites

None

Module content

Indicative content includes:


  • an introduction to web frameworks and their role in developing and deploying web applications;

  • protocols underpinning web application infrastructure, including the HTTP request-response cycle and real-time two-way communication through WebSockets;

  • distributed architectures for web applications, focusing on 3-tier architectures and the MVC design pattern;

  • employing DBMS and ORM to model and handle data in a scalable and extensible way;

  • server-side processing, rendering, and managing data from backend databases systems including CRUD operations, migrations, validations, associations, and scopes;

  • user authorisation and authentication to secure web applications;

  • REST and API design permitting single-page web applications (SPAs), progressive web apps (PWAs), modern W3C APIs;

  • an overview of prevalent and modern web technologies and libraries for frontend development;

  • best practices to the web application development lifecycle, including agile and test-driven approaches;

  • considerations for responsive design, usability, and accessibility; and,

  • challenges in deploying large-scale web applications and consideration of techniques for native deployment.


Assessment pattern

Assessment type Unit of assessment Weighting
Coursework Individual Coursework 50
Examination Invigilated Exam (2hrs) 50

Alternative Assessment

N/A

Assessment Strategy

The assessment strategy is designed to provide students with the opportunity to demonstrate all the learning outcomes of this module.

Thus, the summative assessment for this module consists of:


  • an invigilated two-hour examination in which students will be required to demonstrate understanding of web applications infrastructure, frameworks and their challenges, addressing LOs 1 and 2; and,

  • an individual project in which the students will need to demonstrate technical understanding and good engineering practice, addressing LOs 3 and 4.



The formative assessment and feedback for this module consists of:


  • quizzes to assess the understanding of key concepts and provide immediate feedback;

  • PollEverywhere offering formative feedback opportunities during lectures;

  • general feedback provided to support student learning;

  • verbal feedback given in lab sessions as students attempt the lab exercises; and,

  • an online discussion forum for providing feedback to students, to support the module material and coursework project.


Module aims

  • Provide an overview of the technologies that support the development of client-server systems and interactive web applications
  • Equip students with the knowledge and skills to be able to develop interactive web applications
  • Develop students' understanding of best practices in the design and development of web applications
  • Familiarise students with the challenges of building scalable standards-based web applications

Learning outcomes

Attributes Developed
002 Understand the core concepts underpinning web applications, including their infrastructure, standards, and protocols KC
003 Demonstrate proficiency in using and applying frameworks to implement client- and server-side functionality to realise web applications KCP
004 Demonstrate best practices for agile and test-driven web application development KCPT
001 Recognise and describe the challenges of building scalable, responsive, and accessible web applications KCT

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 of best practice in developing state of the art web applications through directed learning and facilitated self-directed learning. The skills learned in this module will be transferable to other software-engineering modules in the programme and the wider software engineering profession.

The learning and teaching methods include:


  • Weekly lectures with class discussion

  • Weekly lab classes

  • Use of an online forum for facilitated discussion
     


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: COM2025

Other information

Digital Capabilities

This module builds on the digital skills taught in COM1025 (Web and Database). Students will learn the theory behind web applications and use a development framework to learn how to build  a web application with complex front end and back-end components using a professional development approach. The knowledge gained in this module feeds through to COM2027 (Software Development Project) where students work in groups to build large scale web applications.

Employability

This module follows through a software development approach that follows industry standard best practice in the development process. It builds on first year modules such as COM1025 to teach skills web development skills and software development best practice that are widely used in industry.

Global and Cultural Skills

Computer Science is a global language and the tools and languages used on this module can be used internationally. This teaches students practical 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 start with a problem scenario and design and architect a solution. The practical lab sessions provide a range of tools and techniques that can be applied to wider problems and students are encouraged to explore a range of techniques or technologies to solve to a problem.

Programmes this module appears in

Programme Semester Classification Qualifying conditions
Computer Science BSc (Hons) 1 Compulsory 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
Computer and Internet Engineering BEng (Hons) 1 Optional A weighted aggregate mark of 40% is required to pass the module
Computer Science MEng 1 Compulsory 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 2024/5 academic year.