“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

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.

Boom! and Stepwise Refinement

In this project, students are to implement the classic game, minesweeper using ASCII graphics. The game consists of a board with the board divided into a grid. Throughout the grid, mines are scattered. At the beginning of the game, all squares of the grid are covered, obscuring the location of the mines. The object of the game is to uncover all the squares on the board that do not hold mines, avoiding uncovering those squares that do. Squares are uncovered one at a time. Students are asked to use a bottom-up approach to implement the game. For a bottom-up approach, students start out by writing the most basic functions and then write higher-level functions that call these basic functions, and so on.

Lights,Camera, Action!

Databases are implemented everywhere from web servers to automobiles, video games, smartphones, etc. The goal of this project is to implement a simple Python database and query system. The tasks for the program are to display movies, display longest movie, display shortest movie, display movies earlier than specified year, display movies later than specified year, display movies with specified rating, add movie, delete movie, and save database.

Subscribe to Use Meaningful and Relevant Content