Last updated: February 01, 2020
This course provides an introduction to modern JavaScript: frameworks, design patterns, techniques, and best practices used to create robust applications both server-side and client-side. The emphasis will be on sampling a wide range of JavaScript use cases. Topics covered will include:
This course is most useful for students who have some programming and web development experience and want to develop moderate JavaScript skills to be able to build complex, interactive applications.
See the course website for the lecture schedule and assignment list.
This is a project-based course featuring 7 assignments and a heavily-weighted overall final project. The final project may be created with the framework of the student's choice and should demonstrate 20+ hours of work (more information will be available near the end of the semester).
Each assignment is due at midnight on the assigned day (unless otherwise specified). You have two free late days to use throughout the course. After this, late submissions will be docked 20% for every day late. Additional extensions will only be granted in truly extenuating circumstances.
Grading: Your submissions will be graded out of 25 points: 15 for program correctness (automatically graded), 5 for JavaScript best practices (automatically graded), and 5 for code style (manually graded).
Please note that the code style grade is additive, not subtractive; if you do not complete a homework, you will not receive 5 style points for ‘making no errors,’ but rather 0 style points for writing no code at all.
If a submission doesn't run (i.e. has syntax errors), we will not be lenient -- you will likely receive zero credit. Please start assignments early and use office hours to your advantage.
Academic Integrity: You may reference and use example code online if it is freely available (open source). You may have high-level discussions about assignments (“What are the project specifications?”) and low-level discussions about JavaScript (“what’s the syntax for X?”) with classmates. Please do not plagiarize or have “mid-level” discussions about assignments – when in doubt, ask. No violations of academic integrity will be tolerated; you will at least receive a zero on the assignment in question, and at worst the issue will be elevated to the Office of Student Conduct.
Regrade requests can be submitted via Gradescope up to one week after your grade for that assignment is released. Regrades are handled on a case-by-case basis. You cannot change code or alter your submission once it has been graded. Rather regrade requests are only over a lack of clarity of consistency in test cases or rubrics.