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
| Week | Lecture | Date | Topic |
|---|---|---|---|
| 1 | 1 | September 11 | Course Introduction and Fundamental Web Concepts |
| 2 | 2 | September 18 | Backend Development Fundamentals |
| 3 | 3 | September 25 | PostgreSQL with Prisma ORM and TypeScript Introduction |
| 4 | 4 | October 2 | React Fundamentals |
| 5 | 5 | October 9 | JSX/TSX Syntax and React Hooks |
| 6 | 6 | October 16 | Advanced React Concepts and Styling Fundamentals |
| 7 | 7 | October 23 | Modern Styling Solutions and Next.js Introduction |
| 8 | - | - | Reading Week (No Lecture) |
| 9 | 8 | November 6 | Data Fetching and Mutations in Next.js |
| 10 | 9 | November 13 | Cloud Storage and Persistent Application Data |
| 11 | 10 | November 20 | Additional Full-Stack Topics and Project Development |
| 12 | 11 | November 27 | Project Presentations |
| 13 | 12 | December 4 | Project 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
| Assignment | Topic | Release Date | Due Date |
|---|---|---|---|
| 1 | Basic Backend Development | September 20 | October 4 |
| 2 | PostgreSQL with Prisma ORM | October 4 | October 18 |
| 3 | React Frontend | October 18 | November 1 |
| 4 | Next.js + Modern Styling | November 8 | November 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