Course Syllabus

WARNING: This document can change - 
if you want to see what has been changed, 
check out this document. (link)

CS4644: Creative Computing Studio (Fall 2018)


Instructor: Sang Won Lee (he/him/himself)

Email/Office/Web: / KnowledgeWorksII #1114 /

Class Time: Tuesday/Thursday, 3:30 P.M. – 4:45 P.M.

Class Location: MCB 219 (August only) / Learning Studio (Room 253) at Moss Art Center (for the rest of the semester)   

Office hours:

  • As specified in this calendar: (link)
  • By appointment (request by email)

Last updated: 08/27/2018


When someone asks you to “be more creative”, what are you supposed to do? You might understand it as a polite way of saying that what you’ve been doing has become dull or predictable. Creativity is still an underexplored trait that we aren’t exactly sure how to facilitate. For that reason, creating computational systems that can promote people’s creativity is a significant challenge.

Today’s computational systems enable new modes of creation. However, the fundamental process of being creative is still left to users. In this course, we explore how computational systems can address this challenge. The goals of this course is to understand the creative practice in computing  by using computer as an expressive medium or developing interactive systems that can facilitate creativity. This course is primarily a project-based course, and students will form a team and develop an artifact in creative computing. This course offers a rare chance for you to create an artifact of your choice before you graduate, using all the skills that you have learned over the last three years or so. Take advantage of the opportunity!

Learning Objectives

After successful completion of this course, you will be able to:

  • make an artifact in creative computing.
  • understand a creative practice, either by performing it or creating a system that supports it.
  • critique other people’s creations in a constructive manner.
  • present and demonstrate your creation in public.
  • write about your creation to promote your work and to document the process.

Recommended Prerequisites

A grade of C or better in CS3724 (Intro to HCI) and CS3744 (Intro to GUI Programming and Graphics), or special permission of the instructor.

Each student is expected to either have or obtain (by themselves) the technical skills necessary to create an interactive system for their team. This class does not teach programming.


It is your responsibility to regularly check the following websites. If you want to discuss the class material on Twitter, our hashtag is #vtcs4644.

Course Blog (

Course blog will maintain the official information about this course (course syllabus, course schedule, and office hours schedule. You can check the history of the syllabus in this link.

Course blog is created primarily for you to submit their blog assignments with the class, to share any interesting information (artworks, tools, events, papers, or creative practices), and to write anything about creative computing and things you’ve learned from carrying out the project. This means that the rest of the class will read your assignments (and that’s the whole purpose!). If you have any reason why someone may wants to submit something privately, please let me know. Note that whenever you write a blog post in the course blog, the target audience is not me, but general public. Contextualize the content, write in an approachable language, and be respectful.

For those who did not create a WordPress account, please create an account with your email address. This is essential for this class. Once you created an account,  you need an invitation from me. Either send me an email or leave a message in Slack. Once you get an invitation email, you will be one of the authors of this blog. When you write a blog, please include one image that is the most relevant to the content and set it as a featured image.

Canvas (

Information about the course, including announcements, supplementary readings and resources to assist in completing presentations, will be posted on Canvas and/or the course blog. You are expected to check these frequently. All the assignments shall be submitted and returned via Canvas.

Links to blog assignments are to be submitted on Canvas as well, where you will receive grades and feedback. Late penalties will be determined based on a submission’s Canvas timestamp.

Slack (

Throughout the semester, we will use the course’s Slack Workspace communicate. Each team can create their own channel for members to keep in touch; in addition to this, you can also use Slack to share interesting articles, media, etc. with the rest of the class, and to send me any questions you might have. Note that Slack messages are eventually ephemeral; the messages go away when it reaches the workspace limit (for free plan). Users may mute notifications—please don’t expect me to respond instantly, and don’t worry about bothering me with a message at 3 A.M. If you don’t already have a Slack account, create one now. Join the course’s workspace and say hello in the #general channel. Here is link to the invitation the in here.

Honor Code

The Virginia Tech Undergraduate Honor System is in effect for all work, whether performed individually or in teams. Be particularly careful to avoid plagiarism, which essentially means using materials (ideas, code, designs, text, etc.) that you did not create without giving appropriate credit to the creator (using quotation marks, citations, comments in the code, URLs, etc.). Students are encouraged to consult with one another about project design and evaluation issues, as the sharing of ideas here will lead to better work. Any suspected violations of the honor code will be promptly reported to the honor system, as required by university policy.


Individual assignments (40%)

  • Individual presentation (10%)
  • Feedback on milestone presentations (10%)
  • Participation (10%) — class/blog activity and teamwork
  • Blog assignments (10%)
    • Two initial ideas (1%) – link
    • One self-reflection essays (6%) – link → can be submitted as one video
    • One creative practice/tools (3%) – link → can be submitted as one video

Final team project (60%)

  • Milestone 1 presentation / proposal (10%)  – link
  • Milestone 2 presentation (10%) – link
  • Milestone 3 presentation (10%)
  • Final presentation (20%) (12/11 Tuesday 9:30AM~12: 05 PM at Learning Studio)
  • Final report (10%) — Blog(5%) + Technical Report (5%)  → can be submitted as one video

These values are subject to slight adjustments, at my discretion. The final project presentations will be held on the dates posted on the schedule and announced in class. The final project write-up is due on the final day of class. Exceptions to presentation and project deadlines may be made on a case-by-case basis by the instructor. Requests for an exception must be made prior to the absence.

For more detail on each assignment, please wait for Canvas Assignment.


This is a group project-based course, and the majority of your grade focuses on successfully completing a single, large group project. The project will allow you to apply your skills and knowledge from prior HCI courses, as well as new skills and knowledge gained from this course. It will encompass requirements gathering, design, implementation, and evaluation.

Groups will be composed of 3 or 4 students each. Groups will be mostly self-organized, and the instructor may assist with forming groups as needed. The groups and their project will be consistent for the entire semester except in extenuating circumstances. Each group selects a leader to serve as a contact point for the class and instructor.

You must complete and turn in all milestones and project requirements in order to pass the course. If you do not turn one of them in, you will get an F in the course. This is to prevent students from “settling” for a lower grade and skipping some of the milestones.

The course includes a semester-long group project (three students per team, preferably). The nature of the project will be open-ended, as long as it falls within the themes the instructor suggests (TBA). It will require you to identify a domain, a creative practice, or an art form that you want to work with. It is highly recommended that groups seek out an external client or an external presentation opportunity; the instructor can facilitate this.

Projects should take advantage of the knowledge gained in this class and other courses in computer science. In addition, it is imperative that the work be done in such a manner that others can, without undue effort, understand what you’ve done, and make changes as needed. Your final report will not only include an overview and relevant previous works (both academic and non-academic); it should also include well-documented code, design files, and whatever else is needed. A narrative, explaining the design and not just the functionality, will be required. It should be in such a state that another student from the class could pick up your project and, within a few days, start making non-trivial modifications. Your project is due near the end of the semester. That said, you will be able to make small changes and improvements to the project until the last day of class, when you will turn in your system and a written report to me.

We have a limited amount of money that can be used for purchasing equipment needed for your projects. However, please note that it takes a long time to get approval to place an order, and to receive one in a timely manner. In addition, any purchased equipment must be returned at the end of the semester. Plan ahead and let me know as soon as possible if your team needs a certain type of resource (either digital or physical). I will accept any purchase request before the Milestone 2 due.

Regrade Requests

If you disagree with the grading of a particular assignment, write a brief (one paragraph) description of the problem and hand it to me with the assignment/exam for a regrade. Regrade requests must be submitted within one week of when the graded assignment is made available to the student. Late regrade requests will not be accepted.


You are expected to attend all class sessions, and I will check in with each team at every session near the end of the semester. Class time is incredibly valuable co-working time with your teammates, during which every member of your team is available. If I do not see a particular person regularly during class hours, I may change the grading scheme for that individual. This is intentionally ambiguous. You are encouraged to provide early notice with supporting documentation if you will need to miss any class sessions.

Office Hours

I will have regularly scheduled office hours each week, as specified at the top of this document. You are encouraged to make use of these to discuss aspects of the course, such as lecture material, reading assignments, and the project problems. In cases where you cannot make office hours, please contact me to arrange an appointment; don’t wait until the last minute, though!


For the most prompt response, please use the course’s Slack workspace (see below). I will endeavor to respond promptly to emailed questions, ideally in one working day. Note that emails received during evenings and on weekends are subject to a delay in response. Email that is relatively short is probably best, while questions/concerns that are more open-ended can often be better handled during office hours or after class (because we can talk much faster than we write, and we can interact immediately!). If you are asking a question about an assignment that others might have already asked, please first check the course website to see if the question has already been answered either in the announcements section or in the section associated with that specific assignment.


Assignments must be turned in on the indicated due dates, by 11:59 P.M. unless otherwise specified. The homework should be submitted electronically via Canvas, and I will use the Canvas timestamp to validate turn-in times. This means that any blog assignment should be also submitted to the Canvas system as a url to the blog post. Late homework will be penalized 10% of the maximum possible score per day, beginning at midnight. For example, if you turn in an assignment 5 minutes past midnight after the due date and receive a grade of 6 pts. / 10 pts., your final score will be 5 pts. Three days after the due date, homework will no longer be accepted. It is your responsibility to ensure that the assignment has been uploaded correctly. Homework that is not uploaded on Canvas or posted to a course blog (e.g., emailed) will not be graded. Any physical artifacts will be graded in person; you will need to schedule a separate grading session with the instructor for this purpose.

You may edit blog assignments after submitting them, even after the due date. If you make minor edits (to fix a typo, reword a sentence, etc.), I will generally grade the most recent version. Do not attempt to game the system, such as by submitting a half-baked blog post and editing it to completion later—I may grade any version of a post, including the initial version.

Accommodation Policy

Virginia Tech welcomes students with disabilities into the University’s educational programs. The University promotes efforts to provide equal access and a culture of inclusion without altering the essential elements of coursework. If you anticipate or experience academic barriers that may be due to a disability, including but not limited to ADHD, chronic or temporary medical conditions, deafness or hardness of hearing, a learning disability, mental health, or vision impairment, please contact the Services for Students with Disabilities (SSD) office at 540-231-3788,, or by visiting If you have an SSD accommodation letter, please meet with me privately during office hours as early in the semester as possible to deliver your letter and discuss your accommodations. You must give me a reasonable notice to implement your accommodations, generally 5 business days (10 business days for assignments).

Recommended Readings

Some readings for the course will be available through the ACM Digital Library or other paywalls. Unless you have an ACM membership, you’ll have to access these readings through Virginia Tech libraries, which means either being on campus or connecting to the VT network through a VPN.

This reading list will grow over the semester, so please check back here later.

Creative Computing


Ambiguity / Constraints