Course Level
CS1
Knowledge Unit
Fundamental Programming Concepts
Collection Item Type
Lab
Synopsis

This is the sixth lab in a course on computational art (CS1) using Processing (https://processing.org/overview/). In this lab, students write a program that creates an image using an implicit representation of geometry that is drawn using shapes to emulate paint strokes.

In this lab, students will:

  1. Practice using a loop control structure to create an image made of strokes based on implicit lines.
  2. Practice using implicit lines and implicit circles, and the distances from these equations, to create a scene or object.
  3. Create new stroke styles using patterns of points, lines, and ellipses that model the textures seen in many impressionist paintings.
  4. Practice translating mathematical functions into code. 
Recommendations

As with prior lab assignments, I recommend having students set up a Pinterest account to share their creations. This provides students an opportunity to pin reference art (which I tie into the research phase of the engineering design process) and to pin final results. This also lets them share their work more broadly with friends and family.

Engagement Highlights

This lab lets students experience how they can use programming to create expressive art, in particular, to use loops and mathematical functions to create an interesting scene. It makes interdisciplinary connections to fine art through a discussion of, and use of examples from, Impressionism, a school of painting active in the late 19th century. In addition, art is of interest to many students and can provide a meaningful context for their work in computing.

Student choice is provided by allowing students to choose their own scenes (within the confines of the assignment).

Faculty-student interaction is encouraged by having the students demonstrate the final art piece to the instructor or TA.

Computer Science Details

Programming Language
Java
Processing

Material Format and Licensing Information

Creative Commons License
CC BY-NC-SA