Course Syllabus

NOTE: Some links in this syllabus page may only be accessible to currently enrolled students.

Meet the Course Designer & Instructor

Nauman Chaudhry

Course Introduction

In this course, we will learn the concepts and technologies needed to build modern web applications. We will learn how to build interactive, dynamic websites which can persist data from one visit to the next. We will learn about HTML and CSS, and will use JavaScript as the programming language for implementing our programs.  Other technologies we will use include Node.js, Express, React and MongoDB.

Course Syllabus

A syllabus document is available as a pdf file.

Course Schedule

A weekly course schedule is available as a pdf file.

Syllabus Quiz

Don't forget to take the syllabus quiz so you can continue onto the learning modules: Syllabus Quiz

Instructional Staff

Communication Policy

Canvas Notifications

Make sure to turn on Canvas Notifications for Announcements and Grading Comments. The instructional team will be using Canvas Announcements extensively to communicate with you. It is your responsibility to keep up to date with these announcements and they are considered part of the required learning material.

Ed Discussion Board for Questions about Course Content & Assignments

Ask questions about assignments and course content, on the Ed discussion board, as opposed to direct messages to the instructors or the TAs. You will also get an answer to your question far faster by posting it on the Ed discussion board than by emailing or sending a private message, as there are more than a hundred people looking at those discussion boards.

Microsoft Teams for Office Hours & Real-Time Communication

We will conduct office hours using Microsoft Teams using the Team created for this course. The times for office hours are listed on the course homepage. You can also ask questions of other students on Teams. However, if the instructors or the TAs are not on Teams when the question is asked, don't count on us reading the scroll back to find a question you asked earlier: your primary method for getting help is still Ed.

Canvas for Grading Questions & Regrading Requests

We will attempt to grade the assignments within 7 days of the late due date. 

You can request a regrade on an assignment by replying in the Grades > Assignment > Comment box within 4 business days of receiving your grade. Include notes about which points were taken off, and why you feel your assignment/project does in fact meet the requirements. 

When requesting a regrade, the grade will NEVER be lower than when you made the request, unless we discover a case of academic dishonesty. We will not lower a grade for finding something else wrong. That said, please note that while reviewing your request if we discover we made a mistake in taking points but also made a mistake in not deducting points, it is possible your grade will remain the same.

Email Instructor for Assignment Extensions, Escalated Grading Questions, General Course Information & Personal Questions

For assignment extensions, escalated grading questions, other general course information or personal questions, contact the instructor via his OSU email. You must send the email from your OSU account. Emails sent from non-OSU accounts will most likely be ignored due to possible FERPA issues. Start the subject line of your email with CS 290. We will strive to reply to course-related questions within 48 business hours. Emails sent over the weekend or holidays can take longer to respond to.

Tools to install

You will implement the assignments on your personal machine. You will need to install Node.js and MongoDB on your machine. For more information, see the page Software Configuration.

Here is a complete list of apps and libraries to install:

  • Visual Studio Code (optional, for coding and testing assignments).
  • Replit (for viewing/testing code in modules).
  • Node v20 only (starting week 1; other versions, e.g., 19 and 21 will not correlate with instructions).
    • Additional libraries (Express, React, Mongoose, etc.) will be installed later as needed  using the terminal and npm. We will provide instructions for these when they are needed.
  • MongoDB (starting week 6; instructions will be provided at that time).

Course Summary:

Date Details Due