Welcome to CS 2800! This repository contains information about the class, setup instructions, and links to useful information.
CS 2800 will introduce students to client-side web development. Topics covered include HTML document structure and styling, accessibility, JavaScript, React, and JavaScript unit testing. The course assumes that students have successfully completed an undergraduate programming course such as CS 1160.
Jason Cheatham (jason.cheatham@wright.edu)
The class meets Tuesdays and Thursdays from 6:30-7:50pm in Russ 339.
Office hours are after class — Tuesdays and Thursdays from 7:50-8:50pm in Russ 339.
Students may also attend lectures and take exams remotely. Lectures will be broadcast through Collaborate, and exams will be administered through Pilot. Remote lecture and exam times are the same as in-class meeting times.
Lecture recordings will be available, although students are highly encouraged to attend lectures at the time they are given to be able to ask questions. Remote exams will not require the use of LockDown.
The university has enacted a mask mandate for Fall 2021. Masks must be worn at all times in campus buildings, including during class. Any student attending class in-person must be wearing a mask at all times unless the student has obtained an official exemption and notified the instructor of the exemption. Students not wishing to wear a mask may attend class remotely. If you forget your mask, you can get one from various locations on campus (Student Union front desk, Library, vending machines).
Students who show up to in-person class without a mask will be asked to leave. If a student repeatedly refuses to wear a mask, they may be reported to Office of Student Conduct for further action.
There is no textbook for this course. Instead, we will be using freely available resources, including:
Students will need
- A computer with a current version of Node.js installed (Node 12+)
- A text or code editor (VS Code is a good free option)
- A GitHub account
- A git client (the git command line tool, GitHub Desktop, etc.)
See the git doc for more information about using git and GitHub for assignments.
See the node doc for more information about installing Node and npm.
Assignments: There will be weekly assignments most weeks.
Midterm exam: There will be a midterm exam during week 7 of the course.
Final exam: There will be a comprehensive final exam during finals week.
Type | Number | Percent of grade |
---|---|---|
Weekly assignment | 12 | 36 |
Midterm | 1 | 32 |
Final | 1 | 32 |
Week | Topic | Notes |
---|---|---|
1 | Introduction | Tues, Thurs |
2 | HTML | Tues, Thurs |
3 | CSS | Tues, Thurs |
4 | Accessibility, review | Tues, Thurs |
5 | Intro to JavaScript | Tues, Thurs |
6 | Functions, classes, standard library | Tues, Thurs |
7 | Review; midterm exam | Tues |
8 | DOM | Tues, Thurs |
9 | Async and requests | Tues, Thurs |
10 | Events and forms | Tues, Thurs |
11 | Intro to React | Tues, Thurs |
12 | React events, forms | Tues |
13 | React state management; unit testing | Tues, Thurs |
14 | Unit testing | Tues |
15 | Review | Thurs |
16 | Final exam |
Assignments will typically be made on Thursdays and will be due at 11:59pm on the following Tuesday.
Both the lecture schedule and assignment due dates are subject to change. You are responsible for monitoring Pilot for notifications of any schedule changes.
Cheating on assignments or exams will not be tolerated, where ”cheating” is loosely defined as turning in someone else’s work as your own. If you are found to have cheated, you will get an automatic 0 on the exam or assignment for the first offense, and a failing grade in the course for the second offense.