DES 400 Creative Coding 1
Spring 2018
ERF 3036
842 W. Taylor
Daria Tsoupikova
Media Design
Peter Hanula
Computer Science

Description and objectives
Creative Coding is a new interdisciplinary course organized by the Department Computer Science and the School of Design, which investigates how contemporary technologies can inspire novel forms of creative practice. It introduces software programming and creative coding techniques within the context of the digital media design. Media artists and designers have been utilizing computers for innovative creative expression since the late 1960s; the recent proliferation of low-cost consumer grade devices with advanced sensing, display, and computing capabilities, such as smart phones, Virtual Reality, drones, 3D printers, and microcontroller kits, marks possibly a new era of creative exploration. The field of “creative coding” emphasizes the goal of expression, rather than function, and creative coders combine computational skill with creative work in a variety of media. This is a project-based course designed to provide an introduction to current creative coding programming paradigms, and investigate the challenges and opportunities that emerge when using new technologies for expressive purposes.

The course will capitalize on the diverse backgrounds of the students in the class (design + computer science) and two required projects will be collaboratively developed in small teams. Each of these projects provides an introduction to creative coding programming paradigms for virtual reality platforms and for the web (using Javascript, Autodesk Maya, Unity3D, C#, D3, Processing, three.js etc.). The first project will focus on creative programming for a high resolution, largest in the world, virtual reality environment CAVE2 in the Electronic Visualization Laboratory (EVL). The second project will investigate interactive visualiation for public outreach using the web platform. To contextualize these projects, we will read widely from both seminal texts in multimedia and recent proceedings from computer science and media arts conferences, such as ACM SIGGRAPH and the International Symposium on Electronic Art (ISEA).

This course will introduce a variety of concepts in programming, from the basics of coding and scripting to more complex programming techniques and investigate their applications to create critical, experimental, analytical, and visualizing design. Participants will develop new skills and produce interactive projects using 3D, visualization, virtual reality, multimedia and audiovisual media. This course assumes that students have no prior programming experience but an enthusiasm to study code and scripting to use computation to extend inquiry and exploration in media and society. .

Module 1: Introduction to VR and Unity3D

Week 1

Course overview & logistics: syllabus; schedule.
Content introduction: intro to course.
Team formation: questionnaire.
CAVE2 demonstrations with Peter Hanula

Readings + Videos:

Jeffrey Shaw, The Legible City, 1988-91.
Maurice Benayoun, World Skin: A Photo Safari in the Land of War, 1997;
Presentation at Tools for Propoganda, 2000.
Skip Rizzo, Medical Virtual Reality, 2014;
Virtual Reality Applications to Address the Wounds of War, 2013.
Hunter Hoffman, Virtual Reality Pain Reduction, 2015;
SnowWorld, 2003.
Marcos Novak, Liquid Architectures in Cyberspace, 1991.
Char Davies, Osmose, 1995.

SIGGRAPH 2017 VR Village and VR Theater
VR Village website

Assignment 1

Download Maya Autodesk free version: Maya download
get 3-button computer mouse fo the next class

Week 2

Intro to 3D modeling
Readings + Videos:

Maya 2017 Essential Training with George Maestri on (1, 2, 3)

Assignment :

Complete the Maya “still life” assignment: Maya Assignment, Maya scene file.

Week 3

Polygonal modeling
Shading, Materials, Textures
UV texture cracker box files

Readings + Videos:

CAVE2 Informational Video
Paper City Vimeo
Meats Meier
Pixar Animation- Luxo Jr.
Timothy j. Reynolds
Paul Debevec, Light Stage X Smithsonian 3-D portraits of President Obama
Skin Stretch: Simulating Dynamic Skin Microgeometry SIGGRAPH 2015
The Digital Emily Project

Maya 2017 Essential Training with George Maestri on (4, 5, 6, 10, 11, 12)


Assignment 2 Polygonal Modeling

Week 4

Intro to Unity (unity overview, editor, primitives, materials, textures, terrain, prefabs)

Intro to Unity

Readings + Videos:

Unity 5: 3D Essential Training by Adam Crespi/ Ch. 1, 2, 4
Unity Manual
Unity tutorials

Assignment :

CAVE2 VR project
1. Meet with your teams to discuss project ideas.
2. As a team, post your three or four best ideas (one idea per team member) on Google Drive. Use a single PDF file for a and b below. For each idea:
   a) describe the idea in a paragraph or two;
   b) provide a simple sketch of the idea (using your favorite design software or even just a photo of a drawing).

Week 5

Intro to Scripting (variables, functions, triggers, collision detection, sounds, colors)

Intro to Scripting

Concept Presentation

Readings + Videos:

Unity 5: 3D Essential Training by Adam Crespi/ Ch. 3, 7
Unity Scripting / Ch. 1-9

Assignment :

Project 1
CAVE2 VR projects / Refined concepts with storyboards

Week 6

Project 1 Team Concept Presentations

Unity Interaction, Materails, Colors

Intro to Interaction

Readings + Videos:

Unity Scripting / Ch. 11-20

Assignment :

Project 1 - Unity environment/Assets/Interaction - part 1


Week 7

Unity components, Prefabs, Instantiate

Interaction, Prefabs, Components


Readings + Videos:

Unity Scripting / Ch. 21-28

Assignment :

Teams / CAVE2 project concept / Assets / Unity scene


Week 8

CAVE2 testing with Arthur Nishimoto

CAVE2 slides


Testing in CAVE2

CAVE2 Unity Tutorial

Download Unity template for CAVE2 Environment
CAVE2 Unity tutorial documentation

Readings + Videos:

CAVE2: A Hybrid Reality Environment for Immersive Simulation and Information Analysis


Testing 1 revisions


Week 9

Teleport, Collisions, Parenting
Testing 2 / CAVE Project / VR environment, User interaction

Readings + Videos:

CAVE2: A Hybrid Reality Environment for Immersive Simulation and Information Analysis


Testing 2 revisions


Week 10

Testing 3 / CAVE Project / iteraction, navigation Readings + Videos:

CAVE2: A Hybrid Reality Environment for Immersive Simulation and Information Analysis


Testing 3 revisions

Examples from Leonardo

Week 11

Spring break

Readings + Videos:

Assignment :

CAVE Project documentation

Project 1 Submission Guidelines

Examples from Leonardo

Week 12

CAVE Project Review

Presentations in the CAVE2

Assignment :

Project 1 Submission Guidelines

Examples from Leonardo


Project 1 - Soorin
Autism Through the Eyes of Children [report] [video]

Project 2 - Jessica
3D Typography: The Universe [report] [video]

Project 3 - Yao
Little Prince VR Theater [report] [video]

Project 4 - Cesar
Personal Journey [report] [video]

Project 2: Introduction to Data Visualization and D3

Week 13

Intro to D3.js
Project2 introduction
Manipulating data in D3
Interaction and Animation in D3
class D3 examples download

Code examples and references from class
MDN SVG reference
MDN CSS reference

Assignment :

SIGGRAPH2018 SpaceTime poster

Readings + Videos:
Essential Training for Data Scientists by Emma Saunders on ch. 1-4
Atom text editor download download
D3 on GitHub
D3 examples
Essential Training for Data Scientists by Emma Saunders on ch. 5-7
Essential Training for Data Scientists by Emma Saunders on ch. 7-10
Block Builder - in browser code editor

Example datasets

Week 14

Review and work on the Project 2


Project 2 final revisions

Readings + Videos:

Code examples from class
interactive example from class
Hover to show name:
Click buttons to move circle:
Constantly moving circle:
Easing function examples:
Complete list of HTML DOM events:

Week 15

Final Presentations


Project 2 - Jessica
Generations [report] [poster]

Project 1 - Soorin
Generations [report] [poster]

Project 3 - Yao
Generations [report] [poster]

Project 4 - Cesar
Generations [report] [poster]


Soorin Chung, Jessica Quattrini, Cesar Phillips, Yao Chen   

Required materials & software
— Laptop computer

— External hard drive to save your back up files. Students are required to store and backup their files appropriately and an additional data storage is strongly advised for back-up.

— D3.js (Download and install before Week 8).

Lab fee
There is a $125.00 required laboratory fee for this course, which is used for the course supporting materials, and supplies (copies, media storage, supplies for presentation etc.)
Evaluation and requirements
Your final grade will be based on your performance on the group project, evaluations of team member performance (peer evaluation), attendance and participation.

On-time class attendance is mandatory. It is not possible to make up or compensate for missed class sessions. More than two unexcused absences will result in a reduction of the final grade by one letter grade; with every additional unexcused absence, the final grade will drop by an additional grade. Some of the discussions and exercises are done and graded in-class so you must attend class to receive these points.

For best in-class participation, you should complete required readings and tasks before class (will be specified in the study guide in each module). Be prepared for a lot of hard work: be prepared to code, often, and much outside of the class. This course will be difficult but also very much in-depth and useful to prepare your creative portfolio.

There is a lot of self-study required as our lecture time limited as well as our lab time, and the goal is to maximize that time. Each session will have required pre-reading and post-reading. The instructor reserves the right to add online tutorials, lectures and video sessions to class lectures and homework.

You must submit all assignments via UIC Box unless otherwise instructed on the deadline specified for each assignment. Assignments must be professionally prepared with recommended computer applications. Unless otherwise stated, assignments must be submitted electronically to the UIC Box.

Projects more than 5 days late will not be accepted. Be sure to submit the work well ahead of due time. Excuses like website or computer error will not be accepted after the due date.

‘Incompletes’ will only be granted according to University policy.

A = Consistent growth as well as excellent work that consistently goes above and beyond what is required.
B = Above average growth as well as above average work.
C = Average growth as well as average work.
D = Dissatisfactory growth and incomplete work.
E = Dissatisfactory growth, incomplete work, and poor attendance.

The numeric breakdown for the final grade follows:

30% Project 1
20% Project 2
30% Shorter assignments
20% Attendance and participation

Any individuals with learning disabilities or special needs must make the instructor aware of them prior to the due date of the first major assignment. Those who require accommodations for access and participation in this course must be registered with the Disability Resource Center. Please contact DRC at 312/413-2183 (voice) or 312/413-0123 (TTY). depts /oaa/disability_resources /contact.html

If you wish to observe your religious holiday, which is in the conflict with mandatory academic attendance, you should notify the instructor by the tenth day of the semester of the date on which you are requesting an absence.

You are responsible for understanding what constitutes academic dishonesty. Academic dishonesty is an extremely serious offense. All cases of academic dishonesty will be dealt with in accordance with the policies of the University as published in the Undergraduate Catalogue and the University of Illinois at Chicago policy on Academic Honesty at:

Recommend readings
ACM Transactions on Graphics (Proceedings of SIGGRAPH), 2017 and earlier. (Available from ACM through UIC digital library)
Leonardo, 2017 and earlier (Available from MIT Press through UIC digital library)
Proceedings of the International Symposium on Electronic Art, 2015 and earlier (Available online)
Selected readings from The New Media Reader, edited by Noah Wardrip-Fruin and Nick Montfort, MIT Press 2003.
Selected readings from The New Media Reader, edited by Noah Wardrip-Fruin and Nick Montfort, MIT Press 2003.
Peripheral Vision: Bell Labs, the S-C 4020, and the Origins of Computer Art, Zabet Patterson, MIT press, 2015.
Gödel, Escher, Bach: an Eternal Golden Braid, Douglas Hofstadter, Basic Books, 1991.
Unity Game Development Essentials Kindle Edition by Will Goldstone.
Unity 3D Game Development by Example Beginner’s Guide by Ryan Henson Creighton
Learning C# Programming with Unity 3D by Alex Okita.
Beginning Visual C# Express: A Computer Programming Tutorial by Philip Conrod and Lou Tylee.
No cell phone usage in the lab. You are responsible to turn your cell phone off prior to the class. No non-class materials loaded into the computers. No food or drink in the computer labs. No surfing the Internet during lectures. Reconfiguring the system on Cyber-Commons / CAVE2 unusable for other courses and may result in dismissal from the course.
Projects created in this course may be used by the Colleges for purposes of promotion for students, the School or the University in general. The School may also use these materials for instructional purposes in future courses.


Students’ group projects, Spring 2018

Happy Special Birthday by Soorin Chung uses virtual reality to examine a hightened sensory perception of child with autism.

Jessica Quattrini created virtual typographic world explore structure and hostory of the Universe type specimen in an interactive environment.

From my Mind's Eye by Cesar Phillips is a virtul reality narrative featuring designer memories in an interactive art museum.

Yao Chen created an inetractive virtual realtiy stage for Little Prince theater perfromance.

From 8-bit to VR posted designed by Jessica Quattrini visualizes the generational advancements of gaming computer graphics, from the 8-bit, mono-colored world of Atari’s Space Invaders, to the immersive universe of virtual reality.

Soorin Chung designed a poster to study generations in visualization and interactive techniques.

Yao Chen posted explores the concept of innovation in computer graphics.

Cesar Phillips designed a poster representing the progress that has come along regarding the range of motion capable of video game characters.