Skip to main content
Version: 2022fa

Trends in Modern Web Development

Learn to build and deploy scalable, modern full-stack web applications using best practices in industry's most used tech stacks.

By Cornell DTI. Read our article about the first run of the course on Medium!

Logistics

Assuming nothing goes wrong, Trends in Web Development will be IN PERSON this semester. Unfortunately, we will not be able to provide recordings for lecture, although lecture notes will be posted on this website.

Lectures will be held on Mondays at 7:30pm.

Join our EdStem discussion here.

Course Application

Apply here by 09/23 at 11:59 PM ET. It includes a general information questionnaire so we have the information necessary for enrollment, as well as a preassessment you must complete.

We will be distributing enrollment/permission pins soon after the application period closes.

Introduction

This class will teach students about modern web development technologies, practices, and industry standards to better equip them for academic work, research, interviews, internships, and full-time employment. By the end of this course, you will gain key experience in designing systems on both the frontend and backend using today's popularly applied technologies, including TypeScript, React, Firebase, and more.

When are office hours?

Please check Ed for any updates to OH times or locations!

Office hours will start on 10/03.

Info concerning office hours can be found on Edstem.

If you are unable to make any of those office hours times, you can ask questions on Ed or get in touch with Michael, Akash.

Is there a lecture schedule?

Lectures will begin on 09/26 (latter half of september). Here is a tentative schedule for the topics that will be covered (subject to change). We are holding the last lecture on 12/05 (well before finals week).

Lecture Schedule Lecture 1: Syllabus, JavaScript/TypeScript Lecture 2: Intro to Node, Modern JS (ES6+) and Functional Programming in JavaScript / TypeScript Lecture 3: Server-side Rendering and Next.js Lecture 4: React (Components, Tooling, and JSX) Lecture 5: React (Hooks and Best Practices) Lecture 6: React (Conditional Rendering and Lifting State Up) Lecture 7: NoSQL Databases (Firebase) Lecture 8: Connecting the Frontend + Backend (Data Fetching) Lecture 9: Authentication and Security Lecture 10: Deployment!!

Where are assignments released and submitted?

Assignments will be released on here every week. Every assignment is due right before class of the following week at 7:30pm unless otherwise stated. You will have 6 slip days total to use on the assignments, but for each assignment, you may only use up to 2 slip days. Use these judiciously because we will not be handling extensions outside of slip days.

Assignments must be submitted on CMS. We will not take submissions emailed to us. If you are not on the CMS please email Michael, Akash.

What will be taught?

By the end of the course, students will be have a much more in-depth understanding of JavaScript as it pertains to many common software libraries used in web development. These libraries include (but are not limited to) React, Next.js, Node.js, Yarn / npm, and Firebase. The exact technologies can shift from semester to semester as demands from students, and in the industry, evolve and change. What is in demand now may not be desired in two years from now. The primary technologies that this class is powered by can shift from semester to semester to reflect what employers are looking for.

Throughout this course, students will work as individuals and in groups to apply these skills to projects. These are both skills that are extremely important to employers: being able to function independently on assigned tasks, and being able to collaborate with different people on a wide variety of tasks. The idea is to closely resemble milestones and checkpoints in project development, which occur with one to many people.

What are the prerequisites?

This course will be covering both client-facing and server-side technologies. CS 1110 or equivalent programming experience is a pre-requisite.

Please complete the pre-assessment here. It should take less than an hour! This is not meant as a test, but rather a way of ensuring that you are familiar with the foundational material in the course. Upload your submissions as a zip to your application at https://bit.ly/web-dev-fa22. This preassessment is mandatory; those who do not submit it will not be admitted in the course.

What is the expected workload?

Students should expect to work anywhere from 5-6 hours per week in this course.

What software will be supported in the course?

We strongly recommend VSCode, but you are free to use whichever text editor or programming IDE of your choice. Keep in mind that course staff will have the most experience with VSCode.

How many credits is it?

Two credits S/U.

What's the grading policy?

Attendance - 20% (based on weekly lecture quizzes, can miss 1 of 10 without penalty)

Filling out Feedback - 10%

Final project - 20%

Assignments - 50%

Keep in mind that you only need a C- (70) or higher to pass. If you ever feel that you are falling behind, please feel free to talk to us and we will try our best to find a solution.

Who should I contact with questions?

Michael or Akash

Policies

Academic Integrity

As a programming course, you may find yourself in a position to copy or appropriate code that someone else has written. Please cite any code or media that you do not have direct authorship of on any assignments submitted to the course. Code should receive a citation to the original author as a comment in your source code, while media citations (images, videos) should be visible on the page that they appear.

Accessibility

We seek to make this class as inclusive as possible for all students. If you have accommodations with Student Disability Services and require access to any class accommodations, please speak to an instructor before the first lecture and we will work with you to make arrangements as necessary.