WEB APPLICATION DEVELOPMENT 2

SHE Level 3
SCQF Credit Points 20.00
ECTS Credit Points 10.00
Module Code M3I325640
Module Leader Katrin Hartmann
School School of Computing, Engineering and Built Environment
Subject Computing
Trimester
  • A (September start)

Pre-Requisite Knowledge

Web Application Development 1, Database Development, Programming 2 or equivalent

Summary of Content

This module equips the students with the knowledge and understanding to design, implement and deploy scalable web applications consisting of a web browser client interacting with a server which uses a database as well as external services. Students examine web application platforms, architectures and design patterns including the Model-View-Controller design pattern. Aspects of practical importance such as testing, tooling and security are covered in a web application context.

Syllabus

Web platform architectures and architectural styles: -360 - n-tier-architectures - communication over HTTP - front-end and back-end functionality - REST - cloud functions Web application architecture, including Model-View-Controller Server-side web application design issues: -360 - server-side scripts - request handling - business logic - validation - using MVC frameworks: models, views, controllers, routing and URL design, dependency injection - session management - error handling and logging Interfacing with data sources Implementing web APIs Web application security: -360 - authentication and authorisation in web applications - web application specific security vulnerabilities and their prevention, including injection (SQL, JavaScript), cross-site scripting, cross-site request forgery Testing and debugging web applications Deployment and hosting

Learning Outcomes

On completion of this module, students should be able to:1 - Demonstrate an understanding of web application architectures, frameworks and design2 - Demonstrate an understanding of web application security vulnerabilities and their prevention3 - Critically evaluate the use of the Model View Controller architecture in the development of web applications 4 - Design, develop, test and deploy a robust data driven web application utilising appropriate tools and frameworks5 - Implement authentication to secure a web application using appropriate schemes and services

Teaching / Learning Strategy

The Learning and Teaching Strategy is informed by the University's Strategy for Learning. The contents of this module are introduced in lectures. These are supported by practical exercises in laboratory sessions, which encourage the use of current industry practices. All lectures and laboratory material will be made available on GCU Learn and links will be provided to appropriate external material such as research papers, podcasts, MOOCs, videos and literature. During all lab sessions students will receive formative feedback on their performance in undertaking the laboratory exercises. The coursework is undertaken in two parts to avoid assessment overload at the end of the trimester. Feedback is provided after the first coursework to help students to improve their work. Summative feedback and marks will be provided for the coursework assignments undertaken as part of the module using GCU Learn. GCU Learn will also be used to provide the students with module specific forums to stimulate student and lecturer interaction outwith the normal lecture and laboratory sessions.

Indicative Reading

Murach J. et al (2017) Murach's Java Servlet and JSP, 3rd edition, Mike Murach & Associates Wall, C. (2018) Spring in Action 5th Edition, Manning Herron, D (2018) Node.js Web Development: Server-side development with Node 10 made easy, 4th edition, Packt Publishing Powers, S. (2016) Learning Node, 2nd edition, O'Reilly Media. Brown, E. (2019) Web Development with Node and Express 2nd Edition, O'Reilly Media Murach J. et al (2017) Murach's PHP and MySQL, 3rd edition, Mike Murach & Associates Stauffer, M (2019) Laravel: Up and Running 2nd Edition, O'Reilly Media

Transferrable Skills

Specialist knowledge and application Critical thinking and problem solving Critical analysis Communication skills, written, oral and listening Numeracy Computer literacy Self confidence, self discipline & self reliance (independent working) Creativity, innovation & independent thinking Ability to prioritise tasks and time management

Module Structure

Activity Total Hours
Practicals (FT) 24.00
Independent Learning (FT) 132.00
Lectures (FT) 24.00
Assessment (FT) 20.00

Assessment Methods

Component Duration Weighting Threshold Description
Coursework 1 n/a 30.00 35% Report (2000 words)
Coursework 2 n/a 70.00 35% Practically based web development assignment