Skip to content

CMPUT 404: Web Applications and Architecture

At a glance

  • Units: 3
  • Prerequisites: CMPUT 291 and 301.
  • Offered: Now: Fall 2026; Scheduled: Winter 2027
  • Difficulty: Medium
  • Workload: Heavy
  • Languages and tools: Python, Django or Flask, HTML/CSS/JS, PostgreSQL, Heroku

Introduction to modern web architecture, from user-facing applications to machine-facing web-services. Topics include: the evolution of the Internet, relevant technologies and protocols, the architecture of modern web-based information systems, web data exchange and serialization, and service-oriented middleware.

Official catalogue entry · Course website · facts synced 2026-10-01

What It Covers

The project is "Social Distribution": a federated social network where each team runs its own node and nodes exchange entries, comments, likes, and follow requests through a REST-style inbox API. Teams of 5-6 from the same lab section build it in Django (recommended) or Flask, with PostgreSQL on Heroku. The spec strongly recommends plain HTML/CSS/JS for the frontend; React-style frameworks are allowed only if your team signs a consent form, and TAs won't support them. (project spec)

What Students Say

Imported from the original course reviews page, which mixed student contributions with summarized Reddit discussion. Tips aren't term-stamped yet; if you've taken this course recently, add your experience.

The material is highly practical, though some students report that specific tooling examples can feel slightly outdated in certain offerings.

Instructor notes: - Hazel Campbell: grading is driven mostly by ongoing project work, so the key is staying on top of the course load from week one.

Student tips: - If you want to use a modern frontend framework, check the current spec first: you'll be on your own for support. - Form your group early, ideally before the class formally requires team formation. Students who pre-screen teammates (reliability, prior project history, communication) report better outcomes. - The group project can make or break your experience. Even with contribution adjustments, weak team participation can still hurt marks; this is a common reason students drop the course.