CD Studio: JavaScript (PSAM3210)

Plugin icon - 2

Thursdays, 12:10 pm – 2:50 pm
Parsons 2 W 13th, Room 1201


External Links


This is a computer science class first, and a design class second. We will focus on fundamentals of computing through the lens of JavaScript and its particulars before diving into the creation of a web based application using Vue. Students will learn about computing paradigms such as objects and arrays, functions, data structures, and algorithms. We will review what a modern JS stack looks like and how to call an API, with the final project being a web app that students will design and build. This is a fast paced course and students are expected to dedicate a good amount of time outside of class to assignments from this class.

Learning Outcomes

By the end of the semester, students should be able to:

Community Agreement


Criteria %
Participation 10%
Midterm Exam 15%
Final Project 30%
Assignment 1 5%
Assignment 2 10%
Assignment 3 10%
Assignment 4 10%
Assignment 5 10%

You will be graded on correctness, code quality and style, and creativity. The assignments are structured in a way to give you practical, hands-on experience with the concepts we discuss in lecture and in class. This class will have a programming midterm exam which will evaluate your knowledge of concepts covered in class; the purpose of the exam is not meant to be a “gotcha” and I like to think that if you are paying attention in class, and doing the work, then you should be just fine.

Assignments 1 and 2 are individual assignments, whereas 3, 4 and 5 are pair assignments. Students have the option of working in pairs or alone. If students choose to work as pairs, they will submit one assignment and both students will share the same grade. Assignments will be evaluated based on correctness and code quality.

The final project will involve both design and software development. Students are expected to define a unique software that represents original thinking, sketch on and collect feedback on their designs, and finally build that software as a functioning website. They will be evaluated on completion, creativity, and quality of work. Like the latter assignments, students may again choose to work with a partner. If they do, then students will share the same grade.


Grading, participation, attendance, academic honesty, and other CD program policies can be found here.


My intent is to respect and give forum to a range of perspectives and backgrounds, including culture, race, gender, sexual orientation, socioeconomic status, disability, and age. In instances where I am personally not qualified to speak from a specific perspective, students are encouraged to explore this area themselves. And please let me know if there are ways that the course can better serve these goals.


Students are expected to actively and passionately participate in this course. This means more than showing up and turning things in on time. Beyond that baseline, students should be curious, prepared, thoughtful, vocal, and intentional throughout the course. They should make us understand why they are here, and demonstrate that they care about themselves, their work, and each other.

Office hours

I will have limited availability outside of our class time, and won’t keep scheduled “office hours.” Students should not rely on me to solve specific design or technical problems. Their first resource should be themselves, then the course site and its materials, and then each other. If there are still questions—such as logistical or content ones—students can message me on Slack, and I will respond when I can. But this should never be a bottleneck; all of this works better when not done at the last minute.

Additional technical help

For more specific technical instruction and questions, Parsons has dedicated CD-program tutors available to help students with HTML, CSS, and JavaScript, as well as offering general design critiques and feedback. The drop-in schedules are available in the CD@Parsons app under “Make & Remake.”

As CD-program tutors are available only a limited number of hours per week, it is advisable to start on your projects early and seek help early to avoid the usual end of project/semester rush for additional help.

Code plagiarism

Students may find code similar to our exercises or projects elsewhere online. But the copying or adapting of any code beyond our provided course material (lectures, exercises, demos) without attribution is not allowed under any circumstances. If adapting, with attribution, students must explain the usage and demonstrate an understanding of how it works. There is zero tolerance for any sort of plagiarism—which ranges from “verbatim copying” (cutting-and-pasting code) to “thorough paraphrasing” (changing names or rearranging code). Students should also review the Academic Honesty and Integrity policies.


On certain assignments you are allowed to pair with a partner. This is a form of programming called pair programming. If you choose to pair with a partner, you must both be present anytime the assignment is being worked on. One partner will “drive” and write the code, while the other is the “navigator” and will review the code and ask questions. You must swap roles every 30 minutes. If you decide to pair, let me know who you are partnering with over Slack prior to submitting the assignment.

Recording sessions

Screen recordings of our sessions will be made available for students to reference later. As these will include the students and their work, the recordings will be stored on Google Drive and made available only to New School email users.


We will be using Slack as our primary form of communication with each other. There are channels for general questions, as well as for each individual assignment and students are encouraged to use Slack as an open forum for communicating with each other and with myself. Students can also use the OpenSay app to anonymously ask questions.