Creative Coding I

Prof. Dr. Lena Gieseke | l.gieseke@filmuniversitaet.de | Film University Babelsberg KONRAD WOLF

Session 01 (20 points)

This session is all about diving into the topic of creative coding and getting started and excited 😊.

Complete this session by January 14. Going through the scripts and answering the questions should take < 8h. This session is graded on concept, form, engineering quality, effort and personal learnings.

Announcement: On Friday, Jan. 10, 14:00-16:00, room 6119, I offer an optional CC1 session, where I am answering your coding questions and review your code if you like.

Syllabus and Administration

Read the Syllabus carefully and know how this class works and what I expect of you.

Task 01.01

Are there any open questions regarding the syllabus and the administration of this course? If so, please mention them next class.

Submission: -

Topics

Task 01.02

Please answer the following questions truthfully so that I can set up the lecture accordingly.

  • Overall, how would you rate your skill level of programming?
    • Never done it
    • Novice
    • Intermediate
    • Advanced
    • God-like
  • Have you used object-oriented programming before?
    • I don’t know what that is
    • I know the concept, but I have never implemented it
    • Yes
  • Overall, how would you rate your skill level of using web technologies, e.g., have you used a local server setup?
    • Never done it
    • Novice
    • Intermediate
    • Advanced
    • God-like
  • How would you rate your skill level of working with Git and GitHub?
    • Never done it
    • Novice
    • Intermediate
    • Advanced
    • God-like
  • Are there any specific topics that would interest you in the context of this lecture and that haven’t been mentioned so far? If not, you can skip this question.
  • Is there anything else that you would like me to know regarding this class? If not, you can skip this question.

Submission: Mark the boxes in the above text in your markdown submission file.

Introduction

Recapture Script 01 - Introduction, if need be.

Submission: -

Task 01.02

Think a bit about your own personal motivation to learn creative coding. What would you like to do with coding and the topics in this class? What kind of final creative coding project are you envisioning after the first session?

Submission: Text or bullet points in your markdown submission file.

Task 01.03

Find an existing creative coding project that you like. Coding needs to play a significant role for the project, also ideally it is web-based (this is not a hard requirement). Describe what you like about the project and why you think that the project represents creative coding.

Submission: A short text and links to any other material you would like to add (weblinks, images, videos) in your markdown submission file.

p5

If you are a beginner, you can find detailed and slowly explained information in the scripts of my Creative Coding for Beginners Course (Scripts -> p5).

Also, please refer to p5’s reference. It is well-made.

Task 01.04 - p5 With The Online Editor

For the coding of this session, it is sufficient to use p5’s online editor. Make an account and start coding 🤓! If you prefer to work with p5 in a different environment, that is also fine.

Tip: Right-click on the canvas in the p5 editor and chose Save image as... to save an image of your canvas.

Submission: -

Task 01.05 - The 10 PRINT pattern

Write a sketch that generates a pattern with a similar logic as the 10 PRINT example. Your pattern should follow an element-by-element and row-by-row iterative creation process. If you are a beginner, you can use the code from the slides as a basis (fully understand it first, though!). The goal is to create a visual pleasing or interesting pattern.

If you have further ideas about how to design the pattern but do not manage to implement them, also submit your ideas as text or image.

pattern_medium
[Credits to be added]

Note: You are free to choose a different programming language, environment, library, etc. for this task, but it must be text-based programming. If you are a beginner, I highly recommend that you stick with p5.

Submission: Submit a link to your online sketch within the p5 editor, and link in your markdown submission file at least one result image or video of your work. If you do not use the online editor, submit all source files and resources that I need to run your sketch.

Task 01.06 - Greeting Card

Yes, it is that time of the year… the holidays! 🎄 🎄 🎄 🎄

Design and implement an interactive greeting card. It can be a holiday card, but it doesn’t have to be. It can be anything you like.

Recognize your available skills when coming up with ideas. Some of the best results to this task that I saw over the years have been from beginners!

A nice example for very basic programming with a creative idea, is Rita’s card:

cookie_rita_01

Rita had no programming experience and this task was one of her first programming attempts. While her code is really not ideal, she had a great idea for the skill level she had, and she made it work.

If you have programming experience already, I expect that you go beyond p5’s basic interaction mechanism! For example, you could use some form of input live-stream as interaction. The easiest input is to use a webcam. Creating a webcam feed can be done with createCapture(). For working with video, the ml5 library offers many interesting functionality extensions based on machine learning.

Note: You are free to choose a different programming language, environment, library, etc. for this task, but it must be text-based programming. If you are a beginner, I highly recommend that you stick with p5.

Submission: Submit a link to your online sketch within the p5 editor, and link in your markdown submission file at least one result image or video of your work. If you do not use the online editor, submit all source files and resources that I need to run your sketch.

Learnings

Please summarize your personal learnings. What was challenging for you in this session? How did you challenge yourself?

Submission: Text or bullet points in your markdown submission file.


Write and link all task results in a copy of this file. Submit your copy as cc1_ws2425_XX_lastname.md in your assignments’ folder.

Please add the following header at the beginning of your Markdown file:

---
layout: default
title: Homework
nav_exclude: true
---

This will prevent your file showing up in CC1’s webpage navigation bar.


Happy Emerging!