ECE1724 / Syllabus

ECE1724: Advanced Web Development: React Ecosystem and Modern Frameworks

Course Syllabus of Fall 2026

Overview

This graduate-level course provides a practical introduction to modern full-stack web development, with an emphasis on the React ecosystem and contemporary web frameworks. Students will learn how frontend interfaces, backend services, APIs, databases, application state, and storage fit together to form complete web applications.

Through lectures, hands-on assignments, and a collaborative course project, students will develop not only the ability to implement modern web applications, but also the ability to reason about application architecture, data and state management, technical trade-offs, and system behavior. The course emphasizes building well-structured applications, making informed technical decisions, and understanding and verifying the systems you create.

Learning Objectives

  • Explain the architecture and major components of modern full-stack web applications, including clients, servers, APIs, databases, and application state
  • Design and implement interactive user interfaces using React, Next.js, TypeScript, and modern UI tools
  • Design and implement backend services and APIs using server-side JavaScript / TypeScript and Express.js
  • Model, store, retrieve, and manage application data using relational databases, ORM tools, and cloud-based storage
  • Build full-stack applications using both separated frontend/backend architectures and integrated frameworks such as Next.js
  • Implement common application capabilities such as data fetching, mutations, persistent state, and client-server interaction
  • Apply appropriate development practices for testing, debugging, and version control
  • Evaluate technical choices and application behavior by considering requirements, trade-offs, and appropriate evidence
  • Design, implement, evaluate, and communicate a collaborative full-stack web application while demonstrating sound technical judgment and understanding of the team's work

Prerequisites

This course does not require prior knowledge of web development. Instead, it assumes basic programming experience. Students should be comfortable with at least one programming language (e.g., Python, Java, C/C++) and familiar with core concepts such as variables, control flow, functions, data structures, and basic debugging.

The course primarily uses JavaScript and TypeScript, but prior experience with either language is not required. If you have experience with another programming language, you should be able to learn the necessary JavaScript and TypeScript concepts as the course progresses. The course will introduce language features that are important for web development rather than provide a comprehensive programming language tutorial. Due to limited course time, students are expected to reinforce and extend their understanding through official documentation and self-directed practice outside of class.

Working through Assignment 1 during the two-week submission window can give you an early sense of the prerequisite knowledge and level of technical work expected in the course.

The prerequisites are intended to help you assess whether you have the background needed for the course. You do not need to contact the instructor for prerequisite approval before enrolling.

Weekly Schedule

WeekLectureDateTopic
11September 11Course Introduction and Fundamental Web Concepts
22September 18Backend Development Fundamentals
33September 25PostgreSQL with Prisma ORM and TypeScript Introduction
44October 2React Fundamentals
55October 9JSX/TSX Syntax and React Hooks
66October 16Advanced React Concepts and Styling Fundamentals
77October 23Modern Styling Solutions and Next.js Introduction
8--Reading Week (No Lecture)
98November 6Data Fetching and Mutations in Next.js
109November 13Cloud Storage and Persistent Application Data
1110November 20Additional Full-Stack Topics and Project Development
1211November 27Project Presentations
1312December 4Project Presentations

Grading

Assignments

40%

This course includes four progressive assignments that guide you through the incremental development of a full-stack web application. The assignments provide focused, hands-on practice with backend services, databases, frontend interfaces, and full-stack frameworks before you apply these concepts more independently in the course project.

Each assignment should be completed individually.

4 assignments, 10% each.

Assignment Timeline

AssignmentTopicRelease DateDue Date
1Basic Backend Development September 20October 4
2PostgreSQL with Prisma ORMOctober 4October 18
3React FrontendOctober 18November 1
4Next.js + Modern StylingNovember 8November 22

Detailed assignment handouts and the necessary setup instructions will be provided upon release. Where appropriate, starter code, configuration, or tests will also be provided so that you can focus on the concepts and technical tasks being assessed.

Project

60%

Students work in teams of 2 to 4 to design, build, and evaluate a full-stack web application using technologies and concepts covered in the course. The project goes beyond simply assembling a set of features: teams are expected to make and justify architectural and technical decisions, integrate frontend, backend, and data components into a coherent application, reason about data and state management, and demonstrate a clear understanding of the system they have built.

  • Proposal (15%): due on November 8, 2026, 11:59 PM
  • Presentation (10%): November 27 and December 4, 2026
  • Final Project Deliverable (35%): due on December 6, 2026, 11:59 PM