“Make it matter” for students by experimenting with new and interesting topics for assignments and projects, and by using varied examples in your lectures and other materials. Students are more likely to persist in the face of a challenge when what they are learning is relevant to their life experiences and goals. Use examples that have broad appeal, place assignments in contexts that interest students, and explain how a particular idea is used in different contexts.

Some suggestions

Don’t assume what’s meaningful; find out! Don’t rely on your notion of what’s interesting and meaningful, and certainly don’t rely on stereotypes. Find out from your students--and from the students you want to recruit--what is meaningful to them! Surveys and clicker polls are a great tools for this.

Keep keeping it real. Don’t relegate the discussion of larger context to the beginning of a course. Keep bringing students back to the real world application of what they are learning. This can be as simple as showing how a concept is used in a familiar application or program (e.g., how hash maps are used in natural language processing to predict what a user will type into a search engine).

Highlight the people. To help students see the people behind the concepts, refer to the contributions of an individual or group. A great story is Grace Hopper and her team at Harvard University finding a literal bug in one of their machines.

Examples from the collection

Resources

Impressionism and Implicit Functions (Looping 2D Space)

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. 
Engagement Excellence

Generative Art Using Loops

This is the fourth lab for computational art (CS1) where students write a program that creates two different images using Processing each of which are generated by an algorithm when the program is run. Each of the two different images must use repetition (that is, some visual elements that are repeated, but that may be slightly different) using loops and a function to draw the repeated element. The goals for this lab are:

  1. Practice using a loop control structure to generate patterns/scenes
  2. Practice using functions to re-draw parts of a scene
  3. Practice using random to produce desirable colors and design layout
  4. Practice using structured layout in 2D space
  5. Consider the role of repetition in art
Engagement Excellence

Introduction to conditionals using Surrealism (Art of Surprise)

This is the third lab for computational art (CS1) using Processing where students write a program that creates an interactive sketch including a surrealist juxtaposition (i.e. the juxtaposition of two things that create a sense of surprise based on their presence in the same frame). The goals for this lab are:

  1. Practice writing an interactive Processing program
  2. Practice using conditionals in your program
  3. Practice testing where the mouse is clicked within an area of your scene
  4. Practice using variables to control appearance
  5. Make an interactive program that visually changes when a mouse is clicked in a certain area
  6. Learn about surrealism
Engagement Excellence

Blexbolex Style Exploring Scaling via Variables

This is the second lab for computational art (CS1) using Processing where students write a program that creates a scene that explores composition to convey story or mood.  The goals for this lab are:

  1. Use a variable to control scale and position of a sketch component
  2. Alter and explore the role of scale in a sketch’s composition
  3. Practice using transforms (translate and scale) in a sketch to control scale of a portion of your design
  4. Apply your knowledge of the 2D coordinate system in order to appropriately scale and translate a portion of your design
  5. Study the composition and coloring used by the artist, Blexbolex
  6. Copying composition and color to practice design 

Expressionist Animal Creation

First lab for computational art (CS1) using Processing where students write a program that creates a presentation of a creature in an expressionist style. The goals for this lab are:

  1. Understand the Processing 2D coordinate systems
  2. Practice creating shapes in Processing
  3. Understand draw order and command ordering
  4. Practicing using Processing
  5. Learn about expressionism
  6. Make a picture of a creature in an expressionist style 
Engagement Excellence

Discounts and currency conversions

In this assignment, CS1 students practice input, output, variables, and types by designing a program that asks the user to enter the number of items purchased and display the amount of the discount. Later, they are asked to simulate the exchange of currencies.

Change of Base

In this activity, CS1 students are asked to design and implement a method called "Conversion", whose aim is to convert numbers from one given base to another base. Motivation for the problem is explained and examples of input and output are given.

Sudoku!

In this project, students are asked to program the fun and challenging game of Sudoku. The program built must check for a correct solution in the following order: (1) Check each row from row zero to row eight; (2) Check each column from column zero to row eight (3) Check each grid from upper left to lower right, row-ordered.

Snake

In this project, students are asked to create the game Snake, which consists of a rectangular board of 20 rows and 30 columns. The snake and player both live on the board. The snake is represented by the letter "X" on the board, and the player is represented by the letter "i". The object of the game is to avoid being bitten or eaten by the snake. Students use stepwise refinement to build versions of the game.

Battleship!

In this project, students are tasked to build a battleship-playing program that will outsmart their classmates' programs. Using Python, students must use a bottom-up approach, in which they start out by writing the most basic functions and then write higher-level functions that call these basic functions, and so on.

Subscribe to Use Meaningful and Relevant Content