Contact Info

CC Lecture

Synchronous Meetings
Tuesdays 9-9:45AM (EST)
Katherine Moriwaki (she/her)
Xin Xin (they/them)
One on One Meetings
Tuesdays 10-11:40AM (EST)
Asynchronous Advising
Slack #cc-lecture

CC Lab

Synchronous Meetings
Thursdays 8-10:00AM (EST)
Bolor Amgalan (she/her)
Zoom Link pw: 901560

Lan Zhang (she/her)
Zoom Link pw: mfadt

Elena Gold (they/them)
Zoom Link pw: 111433
Jon Packles (he/him/his)

Synchronous Meetings
Thursdays 8-10:00PM (EST)
Shirley Leung (she/her)
Zoom Link pw: mfadt
Aarati Akkapeddi (she/her/they)

Cassandra Hradil (she/her)
Zoom Link pw: 008284

Course Descriptions

Critical Computation Lecture + Lab (CC Lecture + CC Lab) are corequisites that work hand-in-hand to introduce computation and code as an expressive medium for artists, designers, and technologists. CC Lecture provides an introduction to computation through a series of critical inquiries and technical fundamentals, while CC Lab serves as a continuum of CC Lecture by applying theories to practice through a series of experimentations and play. Together, the three learning pillars for CC Lecture + CC Lab are code, critique, and design.

CC Lecture provides a critical approach to thinking and working with technology by introducing programming concepts within a social and historical context. Through an intersectional feminist lens, the course unpacks design biases embedded in pervasive technology while pointing towards examples of expressive, critical, and community-centric ways of working with technology. On the technical end, the course introduces programming fundamentals through p5.js, followed by examples of additional JavaScript libraries and external APIs.

Lab expands the topics covered in CC Lecture through extended tutorials, pair-programming sessions, embodied group activities, and one-on-one mentoring. The lab structure allows students to process the course materials and Assignments assigned by CC Lecture, and further develop the assignments based on their own individual interests and background.

Learning Outcomes

  1. Demonstrate knowledge and application of object-oriented programming skills in p5.js.
  2. Embody code as an expressive medium by learning its strengths and limitations.
  3. Investigate the relationship between code, design, and critique through past examples and creating your own.
  4. Ability to discuss and create work through a critical lens and reference computational arts and culture through a non-Western-centric, multilinear perspective.
  5. Gain insights into the social impact of code; how it creates empowerments and disempowerment under different contexts.
  6. Assess and manipulate data and text critically via APIs, databases, and regular expressions.

Community Agreement

The statement remixes the p5.js Community Statement, licensed under CC BY-SA 4.0 and the voidLab statement. We will discuss and make final suggestions to this statement on the first day of class.

Critical Computation is a community of learners interested in exploring the creation of art and design with technology.

We are a community of, and in solidarity with, people from every gender identity and expression, sexual orientation, race, ethnicity, language, neuro-type, size, ability, class, religion, culture, subculture, political opinion, age, skill level, occupation, and background. This means that we will use preferred pronouns, respect self-identifications, and be mindful of special needs.

We like these hashtags: #noCodeSnobs (because we value community over efficiency), #newKidLove (because we all started somewhere), #unassumeCore (because we don't assume knowledge), and #BlackLivesMatter (because of course).

In practice:

A collaborative effort between students and the CC Lecture + Lab faculty is needed to create a supportive learning environment. While everyone should feel free to experiment creatively and conceptually, if a class member points out that something you have said or shared with the group is offensive, avoid being defensive; instead approach the discussion as a valuable opportunity for us to grow and learn from one another. Alternatively if you feel that something said in discussion or included in a piece of work is harmful, you are encouraged to speak with one of the CC faculty or the MFADT director John Sharp.

Land Acknowledgement

We would like to acknowledge the Lenni-Lenape people who are the original inhabitants of Lenapehoking and the island of Mannahatta. The land The New School University is built upon, including all of New York City, present-day New Jersey and eastern Pennsylvania along the Delaware River watershed, western Long Island, and the Lower Hudson Valley, comprise Lenape ancestral homeland. This land was not ceded nor sold, as folklore would have us believe, to the Dutch for beads and trinkets.

This land was forcibly taken through occupation by European settlers, resulting in displacement, forced migration, and genocide. In the present day there are Lenape communities throughout North America, though much of the original Lenape territory remains under settler occupation and control.

As settlers who have benefitted from the colonization of sovereign land we acknowledge our responsibility to examine and question systems of oppression that continue through to the present day and educate ourselves about the original stewards of this land.

* We also want to acknowledge the Haudenosaunee ironworkers from the Six Nations of the Iroquois, mostly from the Mohawk tribe whose labor built the many iconic skyscrapers and steel bridges in New York City. As recently as 2012 about 200 of the 2,000 structural ironworkers in NYC are Mohawk. Every day we view the city skyline of Manhattan we are reminded of their contribution.

Assessable Assignments

Assignment #1
Lost and Found
DUE 9/8

Assignment #2
Divination Machine
DUE 9/15

Assignment #3
Experimental Clock
DUE 9/22

Assignment #4
Exquisite Corpse
DUE 9/29

Assignment #5
Anti-Surveillance Tool
DUE 10/6

Assignment #6
Experimental Camera
DUE 10/13

Assignment #7
Bitmap Game
DUE 11/10

Assignment #8
Consentful Interface
DUE 11/17

Assignment #9
Data Portrait
DUE 12/1

Assignment #10
Translation Device
DUE 12/15

Final Review
CC Portfolio
DUE 12/18

Assignment Submissions

CC Portfolio

You will use this Glitch template as a starting point to build your CC portfolio. Focus on populating the web pages with thoughtful written descriptions and design documentations. Towards the end of the semester you will learn the HTML / CSS skills required to further customize the website.


Grades and attendance will be recorded on Canvas.

CC Lecture Final Grade Calculation

Attendance / 1-1 Meetings
Reading Responses
Assignment #1~6
Assignment #7
Assignment #8~10

CC Lab Final Grade Calculation

Participation / Attendance
Reading Responses
Assignment #1~6
Assignment #7
Assignment #8~10

Assignments #1~10 will be graded within two weeks after the submission. After receiving the initial grade, you have a second opportunity to improve and re-submit them before the last day of class.

Assignment Rubric

Needs Improvement
Does not meet the stated requirements. Is missing core components of the assignment. Contains significant errors that display a lack of comprehension or understanding of the material.
Ability to develop working functional code with limited errors. Demonstrates comprehension by building upon the technical concepts in submitted work.
Initiates learning beyond the minimum requirements of the assignment. Attempts to develop skills and takes risk without sacrificing legibility and functionality of code.
Creative solutions to nuanced and complex problems in programming. Code is formatted in an organized, highly readable manner, within minimum bugs and errors.
Design shows a lack of intentions or does not respond to the assignment brief.
Design elements are intentional and motivated by the assignment brief.
Design demonstrates an emerging level of care and consideration. Work shows strong potential with space for improvement.
Design demonstrates a well developed sense of aesthetics or form through execution. The work demonstrates mature consideration of the relationship between concept and execution.
Engages superficially with the conceptual material delivered each week.
Evidence of engagement with the conceptual material delivered each week.
Demonstrates engagement with the conceptual material beyond the minimum requirements for the course. Shows emerging fluency in utilizing concepts within their own work.
Demonstrates fluent grasp of conceptual material presented. Is able to skillfully integrate concepts into their own work. Ability to build compelling narratives around individual assignments.

Communication Channels


We will use Slack as a space for hosting asynchronous conversations and discussions, and it will be our primary method of communication. We all live in different time zones and have different schedules, so keep in mind that it’s possible to take up to 48 hours to get a response from the faculty.

Class Site

CC Lecture and CC Lab all share the same class website. We will be using the class site to host:


Because of educational privacy laws, Email is the required method of communication if we need to discuss any formal or private processes for the class. For example:

Asking Questions

In Class

Outside of Class

Required Tools

University, College/School, and Program Policies

Academic Integrity

Compromising your academic integrity may lead to serious consequences, including (but not limited to) one or more of the following: failure of the assignment, failure of the course, academic warning, disciplinary probation, suspension from the university, or dismissal from the university.

Students are responsible for understanding the University’s policy on academic honesty and integrity and must make use of proper citations of sources for writing papers, creating, presenting, and performing their work, taking examinations, and doing research. It is the responsibility of students to learn the procedures specific to their discipline for correctly and appropriately differentiating their own work from that of others. The full text of the policy, including adjudication procedures, is found at

Resources regarding what plagiarism is and how to avoid it can be found on the Learning Center’s website:

Intellectual Property Rights:

Grading Policies:

Participation/ Attendance/ Expectations for the Remote Learning Environment

Participation is an essential part of class and includes: keeping up with reading, contributing meaningfully to class discussions, active participation in group work, and attending synchronous sessions regularly and on time. Students are expected to keep up with class activities and requirements each week.

Course Policies

Remote Learning Environment Expectations

In order to make the most out of remote learning, we need everyone to be fully present and ready to engage during synchronous sessions. To your best ability, get rid of all the possible distractions in your indoor environment such as noise and traffic. Be prepared to zoom into every class from an indoor space with strong WiFi. Please don’t zoom into a class from your phone while you’re out and about.

Keeping your camera on during class is required for creating a present and aware community. If you have special reasons as to why you need to keep your camera off please email your instructor to make arrangements.

Consider using a task tracking method like sticky notes on a wall, a Notion, Trello, Airtable, or other task tracking application to organize your to-do list. It’s difficult to stay motivated when you work remotely sometimes, so look for tools that would help make it easier for you.

More information can be found on CC Lecture + Lab Remote Learning Tips.

Recording Synchronous Sessions

We will be recording our “Open Projector” sessions over Zoom. We will be doing this to document student work and for our own assessment and evaluation of learning outcomes. The video will not be shared outside of the class without explicit permission from the student(s).


Students are responsible for all assignments, even if they are absent. Late papers, failure to complete the readings assigned for class discussion, and lack of preparedness for in-class discussions and presentations will jeopardize your successful completion of this course.


In rare instances, instructors may be delayed for synchronous sessions. If they have not joined by the time the session is scheduled to start, you must wait a minimum of thirty minutes for their arrival. In the event that they will miss a session entirely, an announcement will be made on Canvas indicating any work that should be completed before the next synchronous session..

Open Source Policy

You are encouraged to help each other out with programming, but unless otherwise specified you must turn in your own work. Initially it is expected that you will be coding from scratch without re-using or modifying other people’s code. After midterm reuse and modification of code will be allowed, but only under very strict terms.

Copying/pasting and reusing code is a key part of the programming process, especially while learning. You often learn best by modifying working examples rather than starting from scratch. We stand on the shoulders of giants; that’s the essence of the open-source philosophy. However, there is a very important caveat: any open-source code you borrow and/or modify must be labeled as such. That is, you must include, in your work, the name of the author, the source URL, the types of open-source license, and you must make clear which lines of code are not yours. If you fail to do this, you will fail the class. It is very, very easy to get this right, though, so if you take a moment’s time to label your work correctly, you will not have a problem. Just be diligent and honest.

Student Course Ratings (Course Evaluations)

During the last two weeks of the semester, students are asked to provide feedback for each of their courses through an online survey. They cannot view grades until providing feedback or officially declining to do so. Course evaluations are a vital space where students can speak about the learning experience. It is an important process which provides valuable data about the successful delivery and support of a course or topic to both the faculty and administrators. Instructors rely on course rating surveys for feedback on the course and teaching methods, so they can understand what aspects of the class are most successful in teaching students, and what aspects might be improved or changed in future. Without this information, it can be difficult for an instructor to reflect upon and improve teaching methods and course design. In addition, program/department chairs and other administrators review course surveys. Instructions are available online at


The university provides many resources to help students achieve academic and artistic excellence. These resources include: