Version: 2020fa

Syllabus

Trends in Modern Web Development#

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

COVID-19 Restrictions#

Due to COVID-19, Trends in Web Development will be a completely online course this semester. We will be having lectures here on Tuesdays 4:30-5:30pm ET. If you are unable to make this time, the lectures will be recorded and posted on the course website the following day along with slides and lecture notes. Synchronous attendance is not required (but we still hope to see some of you if you can make it!). Attendance credit will be awarded based on short weekly quizzes.

Course Application#

Apply here.

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.

When are office hours?#

Office hours will start Wednesday, September 23. Come by if you have any questions about homework, lecture material, etc.

Sam: Monday 3:00-4:00pm Zoom Link

Enoch: Tuesday 2:00pm-3:00pm Zoom Link

Jason: Wednesday 4:15-5:15pm Zoom Link

Peter: Thursday 3:00pm-4:00pm Zoom Link

Megan: Friday 3:00pm-4:00pm Zoom Link

Ashneel: Friday 4:00pm-5:00pm Zoom Link

If you are unable to make any of those office hours times, you can ask questions on Piazza or get in touch with Megan or Ashneel.

Is there a lecture schedule?#

Yes! This is a tentative schedule and topics covered are subject to change. Exact dates are subject to change as well based on Cornell guidance on the ongoing pandemic. Currently, we are hoping to finish the course before Thanksgiving break.

Lecture 0 9/15: Syllabus, JavaScript/TypeScript

Lecture 1 9/22: Intro to Node, Express Routes, HTTP Methods

Lecture 2 9/29: NoSQL DB (Firebase)

Lecture 3 10/06: More Firebase, Build a Rest API for DB model

Lecture 4 10/13: Functional Programming (map, filter, reduce)

Lecture 5 10/20: React (Components and tooling)

Lecture 6 10/27: React (JSX and conditional rendering)

Lecture 7 11/3: React (ES6 and State)

Lecture 8 11/10: Frontend + Backend (Data Fetching)

Lecture 9 11/17: Deployment & TypeScript

Lecture 10 11/24: Student Choice

Where are assignments released and submitted?#

Assignments will be released on here every Tuesday. 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 Megan (my474@cornell.edu) or Ashneel (ad665@cornell.edu)

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, 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-fa20. This preassessment is mandatory; those who do not submit it will not be admitted in the course.

When is it?#

The first class meeting will be Tuesday, September 15th and end on Tuesday, November 24th (right before Thanksgiving). This course will be held Tuesday evenings from 4:30 - 5:30 PM on Zoom.

Where does it meet?#

Zoom

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?#

You are free to use whichever text editor or programming IDE of your choice. However, course staff will not be able to directly help you with problems that relate to your editor or IDE.

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% (based on weekly lecture quizzes, can miss 1 of 11 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. You can reach us at my474@cornell.edu or ad665@cornell.edu.

Who should I contact with questions?#

Email Megan (my474@cornell.edu) or Ashneel (ad665@cornell.edu).

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. All lectures will be video recorded for instructor use only. If you have accommodations with Student Disability Services and require access to these recordings, or any other class accommodations, please speak to an instructor before the first lecture and we will work with you to make arrangements as necessary.

Cell Phones#

Cell phones are distracting to you, people around you, and instructors. If you plan on taking this course and sitting in lectures on your phone and not paying attention, you may be asked to leave. Please be respectful of other people.