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.
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.
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 DocsDjango Official Documentation
Comprehensive documentation for Django web framework, including tutorials, API reference, and best practices.
Visit Django DocsReact Official Documentation
Official React documentation covering components, state management, hooks, and modern React patterns.
Visit React DocsPython Official Documentation
Complete Python language reference, tutorials, and library documentation for web development.
Visit Python DocsDjango REST Framework Documentation
Official documentation for building REST APIs with Django, including authentication and serialization.
Visit DRF DocsNode.js Official Documentation
Documentation for Node.js JavaScript runtime, essential for modern web development workflows.
Visit Node.js Docsnpm Documentation
Official documentation for npm package manager, essential for JavaScript dependency management.
Visit npm DocsGit Official Documentation
Complete guide to Git version control system, essential for collaborative web development.
Visit Git DocsBootstrap Documentation
Official Bootstrap CSS framework documentation for responsive web design and components.
Visit Bootstrap DocsPostgreSQL Documentation
Comprehensive documentation for PostgreSQL database, commonly used with Django applications.
Visit PostgreSQL DocsHeroku Dev Center
Documentation and guides for deploying web applications to Heroku cloud platform.
Visit Heroku DocsTesting JavaScript
Comprehensive guide to testing JavaScript applications, including Jest and testing best practices.
Visit Testing JavaScriptAdditional 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)