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 Thursdays at 6:30 - 7:30 PM ET at Hollister 314.
Also: join our EdStem discussion here!
Course Application
Apply here by September 18th at 11:59 PM ET, a week before the course starts. It includes a general information questionnaire so we have the information necessary for enrollment, as well as a pretest.
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?
Office hours will start Friday, September 24. It will be in person at Rhodes. Come by if you have any questions about homework, lecture material, etc.
Day | Time | Location |
---|---|---|
Mon | 3:30pm-4pm | Rhodes 590 |
Tue | 9:30am-10:30am | Rhodes 572 |
Wed | 10am-11am | Rhodes 572 |
Wed | 5pm-6pm | Rhodes 572 |
Thu | 10am-11am | Rhodes 572 |
Fri | 3:15pm-4:15pm | Rhodes 572 |
If you are unable to make any of those office hours times, you can ask questions on EdStem or get in touch with Enoch or Scott.
Is there a lecture schedule?
Lectures will begin on September 23th, 2021. Here is a tentative schedule for the topics that will be covered (subject to change). We are holding the last lecture on 12/2 (also tentative).
Lecture 1: Syllabus, JavaScript + Intro to TypeScript and Node.js
Lecture 2: More on Node, HTTP Methods, Express Routes
Lecture 3: NoSQL Databases (Firebase)
Lecture 4: Modern JS (ES6+) and Functional Programming in JavaScript / TypeScript
Lecture 5: React (Components, Tooling, and JSX)
Lecture 6: React (Conditional Rendering and Lifting State Up)
Lecture 7: React (Hooks and Best Practices)
Lecture 8: Connecting the Frontend + Backend (Data Fetching) and Yarn Workspaces
Lecture 9: Deployment, Authentication, and Security
Lecture 10: Student Choice!
Where are assignments released and submitted?
Assignments will be released on here every Thursday. Every assignment is due right before class of the following week at 3:59pm 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 Enoch or Scott
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, Express, Node.js, Yarn / npm, Express, 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-fa21. 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.
Set up your IDE here
How many credits is it?
Two credits S/U, although students are allowed to audit this course for 0 credits.
What's the grading policy?
Attendance - 20%
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. You can reach us at Enoch or Scott
Who should I contact with questions?
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.