Skip to Content
Syllabus

Syllabus

Instructor · TAs · Overview · Weekly Schedule · Grading · Course Policies · Accommodations

Instructor

Chen Ying, Assistant Professor, Teaching Stream

c.ying@utoronto.ca

Teaching Assistants

Fei Wang: silviafey.wang@utoronto.ca

Xindan Zhang: xindan.zhang@mail.utoronto.ca

Overview

This graduate-level course provides comprehensive training in modern full-stack web development, focusing on the React ecosystem and contemporary frameworks. Students will learn advanced web development concepts and gain hands-on experience building scalable applications using industry-standard tools and practices.

Learning Objectives

By the end of this course, students will be able to:

  • Design and implement full-stack web applications using modern JavaScript frameworks and tools
  • Develop responsive and interactive user interfaces using React, Next.js, and modern UI libraries
  • Create and manage backend services using Express.js with SQL databases
  • Implement secure data management solutions using PostgreSQL and cloud storage
  • Apply industry best practices in testing, deployment, and application security
  • Build production-ready applications using professional development workflows

Technologies Covered

  • Frontend: React, Next.js, Tailwind CSS, shadcn/ui
  • Backend: Express.js, SQLite, PostgreSQL, Prisma ORM, cloud-based storage
  • Development Tools: Git, npm, testing frameworks

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, and basic debugging.

The course primarily uses JavaScript / TypeScript, but prior experience with JavaScript or TypeScript is not required. If you have experience in other programming languages, you should find JavaScript / TypeScript relatively easy to pick up. The course will introduce the necessary JavaScript / TypeScript fundamentals as they arise, focusing on concepts that are essential for web development rather than providing a comprehensive 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.

A practical way to assess your readiness is Assignment 1 (handout released on January 18). If you can complete Assignment 1 independently within the two-week submission window, you should be well prepared to follow the rest of the course comfortably.

Prerequisites are intended for self-assessment rather than gatekeeping. You do not need to contact the instructor to ask whether you meet the prerequisites in order to take this course.

Required Materials

Additional Resources

Weekly Schedule

As this is the second time the course is being offered, the content may be adjusted based on ongoing improvements. The weekly schedule below provides a tentative outline of the planned topics.

WeekLectureLecture DateTopic
11January 9Course Introduction and Fundamental Web Concepts
22January 16Backend Development Fundamentals
33January 23PostgreSQL with Prisma ORM and TypeScript Introduction
44January 30React Fundamentals
55February 6JSX/TSX Syntax and React Hooks
66February 13Advanced React Concepts and Basic Styling
7--Reading Week (No Lecture)
87February 27Modern Styling Solutions and Next.js Introduction
98March 6Data Fetching and Mutations in Next.js
109March 13Cloud Storage and User Authentication
1110March 20Project Presentation
1211March 27Project Presentation

Grading

Assignments (50%)

Each assignment should be completed individually.

  • 4 assignments, 12.5% each

Project (50%)

Students will work in groups of 2 to 4 to develop a web application that demonstrates their understanding of the modern web technologies and frameworks covered in this course.

  • Proposal (15%): due on March 2, 2026, 11:59 PM
  • Presentation (10%): March 20 & 27, 2026
  • Final Deliverable and Report (25%): due on April 3, 2026, 11:59 PM

Course Policies

Academic Integrity

Students are expected to follow the University’s Academic Integrity Policies  and the Code of Behaviour on Academic Matters . All submitted work must be original and properly attributed.

AI Usage Policy

This course permits the use of AI tools but follows a First Think, Then AI workflow.

Students are expected to reason independently before consulting AI, verify and understand any AI-assisted work, and clearly document AI usage where required (e.g., reasoning.md for assignments, ai-session.md for the course project).

Expectations differ between assignments and the course project. Full details and examples are available on the AI Usage Policy page.

Assignment Remarking

An Assignment Remarking Request Form must be submitted to the instructor in person, on paper (after a lecture or during office hours) within two weeks of the grade release. Email submissions are not accepted. If you cannot attend in person, you may ask a classmate to submit the form on your behalf.

Requests for grading details or explanations are part of the remarking process. Full grading criteria and test details will be published on the assignment handout after grades are released.

Because the course has over 100 students, informal emails about grading may be missed among the volume of messages. To ensure every request is seen and handled properly, please do not contact the instructor or TAs for individual grading breakdowns or any remark-related inquiries. Instead, submit a formal remarking request if you would like your work to be re-evaluated.

All remarking requests will be processed together after the two-week window closes. You will receive an email once the remarking is complete.

Communication

A private Git repository  has been set up specifically for discussion purposes. To gain access to the Git repository, please submit your GitHub username via this assignment  on Quercus.

The GitHub Discussions  feature will serve as a platform for students to ask and answer questions collaboratively.

Accommodations

The University of Toronto supports accommodations for students with diverse learning needs, which may be associated with mental health conditions, learning disabilities, autism spectrum, ADHD, mobility impairments, functional/fine motor impairments, concussion or head injury, visual impairments, chronic health conditions, addictions, D/deaf, deafened or hard of hearing, communication disorders and/or temporary disabilities, such as fractures and severe sprains, or recovery from an operation.

If you have a learning need requiring an accommodation the University of Toronto recommends that students register with Accessibility Services  as soon as possible.

We know that many students may be hesitant to reach out to Accessibility Services for accommodations. The process of accommodation is private; we will not share details of your needs or condition with any instructor.

If you feel hesitant to register with us, we encourage you to reach out for further information and resources on how we can support. It may feel difficult to ask for help, but it can make all the difference during your time here.

Phone: 416-978-8060 Email: accessibility.services@utoronto.ca

Equity, Diversity and Inclusion

U of T Engineering strives to create equitable and inclusive learning environments for all individuals. Each person has their own lived experiences and socio-cultural identities that shape their worldview and their experiences with privilege and oppression.

Looking for community? Feeling isolated? Not being understood or heard?

You are not alone. You can talk to anyone in the Faculty that you feel comfortable approaching, anytime — professors, instructors, teaching assistants, department academic advisors , student leaders or the Assistant Dean of Diversity, Inclusion and Professionalism.

You belong here. In this class, the participation and perspectives of everyone is invited and encouraged. The broad range of identities and the intersections of those identities are valued and create an inclusive team environment that will help you achieve academic success. You can read the evidence for this approach here .

You have rights. The University Code of Student Conduct  and the Ontario Human Rights Code  protect you against all forms of harassment or discrimination, including but not limited to acts of racism, sexism, Islamophobia, antisemitism, homophobia, transphobia, ableism, classism and ageism. Engineering denounces unprofessionalism or intolerance in language, actions or interactions, in person or online, on- or off-campus. Engineering takes these concerns extremely seriously and you can confidentially disclose directly to the Assistant Dean for help here.

Support for Indigenous Students

If you are an Indigenous engineering student, you are invited to join a private Discord channel to meet other Indigenous students, professors, and staff, chat about scholarships, awards, work opportunities, Indigenous-related events, and receive mentorship. Email Professor Jason Bazylak if you are interested.

Indigenous students at U of T are also invited to visit Nations House’s (FNH) Indigenous Student Services for culturally relevant programs and services. If you want more information on how to apply for Indigenous specific funding opportunities, cultural programs, traditional medicines, academic support, monthly social events or receive the weekly newsletter, go to the FNH website , email or follow FNH on social media: Facebook , Instagram , or TikTok . A full event calendar is on the CLNX platform. Check CLNX often to see what new events are added!

As part of the Faculty’s commitment to improving Indigenous inclusion, all U of T Engineering faculty, staff and students are called upon to start or continue their personal journeys towards understanding and acknowledging Indigenous peoples’ history, truths and culture. The Faculty’s 2018 Blueprint for Action report  identified many actions to (re)building relationships between U of T Engineering and Indigenous peoples. These actions also align with the Truth and Reconciliation Commission of Canada’s Calls to Action .

One action is for non-Indigenous people to make a Land Acknowledgement in lectures and/or before important meetings. For reference, here are examples from the University and the COU: University of Toronto’s Statement of Acknowledgement of Traditional Land  and Council of Ontario Universities’ Acknowledgement of Traditional Land .

To combat the fear that land acknowledgements have become largely performative and rote, we advise that the acknowledgement is done with sincerity and reflection on how you benefit from using the land, and on your commitments to Truth and Reconciliation. Take this training  to learn more.

As an environmentalist, I have always been appreciative of the fact that right now we are in the territory covered by the Dish With One Spoon Wampum Belt. This is a treaty originally by the Anishinaabe, Mississaugas, and the Haudenosaunee. It is not a rights-based agreement, but rather a responsibility-based agreement. Hundreds of years ago the First Nations People in this area recognized our responsibility to share and protect the land. Since that first wampum belt many other First Nations and Europeans have joined in this treaty. The First Nations close ties to the land enabled them to see the needs of the land when others could not or choose not to see. For that I am thankful to the Indigenous People of this land we work and study on.

Looking for help personalizing the land acknowledgement? Professor Jason Bazylak  is the Dean’s Advisor on Indigenous Inclusivity. He is willing to chat with anyone on how to go about presenting and/or discussing this with your class. He can be reached at jason.bazylak@utoronto.ca. You can also contact Marisa Sterling, P.Eng. in the Dean’s Office at marisa.sterling@utoronto.ca.

Wellness and Mental Health Support

As a University of Toronto Engineering student, you have a Departmental Undergraduate Advisor  or a Departmental Graduate Administrator  who can support you by advising on personal matters that impact your academics. Other resources that you may find helpful are listed on the U of T Engineering Mental Health & Wellness webpage , and a small selection are also included here:

We encourage you to access these resources as soon as you feel you need support; no issue is too small. You may reach out to the counsellors at U of T Telus Health Student Support  for 24/7 free and confidential counselling support.

If you find yourself feeling distressed and in need of more immediate support visit uoft.me/feelingdistressed  or U of T Engineering’s Urgent Support – Talk to Someone Right Now .

Last updated on