Module Overview

Credits: 20 credits | Level: Undergraduate | Focus: Full-Stack Web Application Development

This module provides a comprehensive introduction to full-stack web development, combining essential frontend and backend technologies. Students will gain hands-on experience with HTML5, CSS3, JavaScript, Python, and Django, while exploring modern frameworks such as React and Django Rest Framework. Each slideshow is designed for a 3-hour session with interactive tasks.

Module Introduction & Web Architecture

Module overview, assessment breakdown, tooling setup, and web architecture fundamentals

25 slides • 3 hours • 2 tasks
2
HTML5 & Semantic Structure
Semantic HTML, accessibility, SEO, ARIA roles, and structure validation
25 slides • 3 hours • 2 tasks
3
CSS3 & Responsive Design
Flexbox, Grid, media queries, and responsive design principles
25 slides • 3 hours • 2 tasks
4
JavaScript Fundamentals
DOM manipulation, events, ES6 syntax, functions, and debugging tools
25 slides • 3 hours • 2 tasks
5
Asynchronous JavaScript & APIs
Fetch API, Promises, async/await, and API integration patterns
25 slides • 3 hours • 2 tasks
6
Django Basics
Django project setup, views, templates, URL routing, and static files
25 slides • 3 hours • 2 tasks
7
Django ORM & CRUD
Models, migrations, admin interface, CRUD operations, and form handling
25 slides • 3 hours • 2 tasks
8
Django REST Framework
Serializers, viewsets, routers, authentication, and API testing
25 slides • 3 hours • 2 tasks
9
React & State Management
JSX, components, props/state, lifecycle methods, and Redux basics
25 slides • 3 hours • 2 tasks
10
Web App Critique
Evaluating usability, performance, accessibility, and standards compliance
25 slides • 3 hours • 2 tasks
11
Comparative Critique
Comparing frameworks, design decisions, scalability, and maintainability
25 slides • 3 hours • 2 tasks
12
Project Finalisation
Testing strategies, documentation, deployment, and presentation tips
25 slides • 3 hours • 2 tasks

Assessment Overview

CMM721: Web Application Development has two assessment components: a portfolio of exercises and case studies (60%), and a final project (40%).

Portfolio - Exercises and Case Studies (60%)

Project Type: Portfolio of weekly exercises and case study critiques

Requirements: Weekly practical exercises and critical evaluations of existing web applications

Focus: Technical proficiency, design awareness, and critical analysis skills

Due: Weekly submissions throughout the module

Final Project - Web Application (40%)

Project Type: Individual full-stack web application

Requirements: Complete web application using technologies covered in the module

Focus: Technical implementation, design quality, and professional standards

Due: End of module with presentation

Project Requirements

  • Technical Stack: HTML5, CSS3, JavaScript, Python/Django, and React (minimum requirements)
  • Functionality: Full-stack application with database integration and API endpoints
  • Design Requirements: Responsive design, modern UI/UX, accessibility compliance
  • Documentation: Comprehensive technical documentation and user guides
  • Code Quality: Well-structured, commented code following best practices
  • Testing: Unit tests, integration tests, and user acceptance testing
  • Deployment: Live deployment with proper hosting configuration

Learning Outcomes Assessed

  • Develop full-stack web applications using modern frameworks and technologies
  • Apply responsive design principles and accessibility standards
  • Design and implement secure API endpoints and database systems
  • Critically evaluate existing web applications and design decisions
  • Work independently to solve complex web development problems
  • Demonstrate professional development practices and ethical considerations
  • Present technical work effectively to both technical and non-technical audiences

Important Notes

Weekly Exercises: Each week includes practical exercises that contribute to your portfolio assessment.

Case Studies: Critical evaluations of existing web applications demonstrating analytical skills.

Project Scope: Students must agree on project scope with their tutor before development begins.

Professional Standards: All work should demonstrate industry-standard practices and ethical considerations.

Module Quizzes

Test your knowledge with interactive quizzes for each session. Each quiz contains questions based on the lecture content and practical exercises.

Quiz 1: Module Introduction & Web Architecture

Test your understanding of web architecture fundamentals and development setup.

Questions: 15 | Time: 20 minutes

Quiz 2: HTML5 & Semantic Structure

Assess your knowledge of semantic HTML, accessibility, and SEO principles.

Questions: 15 | Time: 20 minutes

Quiz 3: CSS3 & Responsive Design

Evaluate your CSS skills including layout techniques and responsive design.

Questions: 15 | Time: 20 minutes

Quiz 4: JavaScript Fundamentals

Test your JavaScript fundamentals including DOM manipulation and ES6 features.

Questions: 15 | Time: 20 minutes

Quiz 5: Asynchronous JavaScript & APIs

Assess your understanding of async programming and API integration patterns.

Questions: 15 | Time: 20 minutes

Quiz 6: Django Basics

Test your knowledge of Django project setup, views, and template systems.

Questions: 15 | Time: 20 minutes

Quiz 7: Django ORM & CRUD

Evaluate your understanding of Django models, database operations, and forms.

Questions: 15 | Time: 20 minutes

Quiz 8: Django REST Framework

Test your knowledge of REST APIs, serializers, and authentication in Django.

Questions: 15 | Time: 20 minutes

Quiz 9: React & State Management

Assess your React skills including components, state management, and hooks.

Questions: 15 | Time: 20 minutes

Quiz 10: Web App Critique

Test your ability to evaluate web applications for usability and performance.

Questions: 15 | Time: 20 minutes

Quiz 11: Comparative Critique

Evaluate your understanding of framework comparison and design decisions.

Questions: 15 | Time: 20 minutes

Quiz 12: Project Finalisation

Comprehensive assessment covering testing, deployment, and project management.

Questions: 15 | Time: 20 minutes

Further Reading & Resources

Explore additional resources to deepen your understanding of full-stack web development. These carefully selected materials include official documentation, educational platforms, and industry resources.

Web Development Fundamentals

MDN Web Docs – Web Development Guide

Complete guide to web development covering HTML, CSS, JavaScript, and modern web standards from the Mozilla Developer Network.

Visit MDN Web Docs
Django Framework

Django Official Documentation

Comprehensive documentation for Django web framework, including tutorials, API reference, and best practices.

Visit Django Docs
React Library

React Official Documentation

Official React documentation covering components, state management, hooks, and modern React patterns.

Visit React Docs
Python Programming

Python Official Documentation

Complete Python language reference, tutorials, and library documentation for web development.

Visit Python Docs
API Development

Django REST Framework Documentation

Official documentation for building REST APIs with Django, including authentication and serialization.

Visit DRF Docs
JavaScript Runtime

Node.js Official Documentation

Documentation for Node.js JavaScript runtime, essential for modern web development workflows.

Visit Node.js Docs
Package Management

npm Documentation

Official documentation for npm package manager, essential for JavaScript dependency management.

Visit npm Docs
Version Control

Git Official Documentation

Complete guide to Git version control system, essential for collaborative web development.

Visit Git Docs
CSS Framework

Bootstrap Documentation

Official Bootstrap CSS framework documentation for responsive web design and components.

Visit Bootstrap Docs
Database Design

PostgreSQL Documentation

Comprehensive documentation for PostgreSQL database, commonly used with Django applications.

Visit PostgreSQL Docs
Deployment & Hosting

Heroku Dev Center

Documentation and guides for deploying web applications to Heroku cloud platform.

Visit Heroku Docs
Testing

Testing JavaScript

Comprehensive guide to testing JavaScript applications, including Jest and testing best practices.

Visit Testing JavaScript

Additional Resources

  • Code Editors: Visual Studio Code, PyCharm, WebStorm
  • Browser Developer Tools: Chrome DevTools, Firefox Developer Tools
  • Version Control: Git, GitHub, GitLab
  • Web Hosting: Heroku, DigitalOcean, AWS
  • Design Tools: Figma, Adobe XD, Canva
  • API Testing: Postman, Insomnia
  • Database Tools: pgAdmin, DBeaver
  • Package Managers: pip (Python), npm (Node.js)