“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

ASCII Text Art

ASCII Text Art is a loops/file I/O/strings/lists/dictionaries programming assignment for a CS0/CS1 course. For this assignment, students read in 26 text files, where each files stores ASCII art for a letter of the upper case alphabet. For example, A.txt stores ASCII art for the letter A, B.txt stores ASCII art for the letter B, and so on. The ASCII art for each letter is represented in the program as a list of strings, one string per line in the file. Collectively, all 26 lists are stored in a dictionary as letter (key) and list (value) pairs. Once loaded into the dictionary, the assignment requires students to modify the ASCII art by replacing characters. Lastly, the program prompts the user for a string of letters and the program writes the string to a file using the modified ASCII art.

PPM Image Modifier

PPM Image Modifier is a loops/file I/O/strings programming assignment for a CS0/CS1 course. For this assignment, students open a PPM image file, apply a modification to the image, and write the modified image to an output image file. The modifications for the students to perform include: negate, high contrast, gray scale, remove red, remove green, and remove blue. Students are to work individually on the assignment.

A Game of Craps

Craps is a functions/conditionals/loops programming assignment for a CS0/CS1 course. To do this assignment, students implement the game and add personality output by including "chatter" messages.

Students are to work individually on the assignment.

Google Maps Pairwise Distances

Google Maps Pairwise Distances is a functions programming assignment for a CS0/CS1 course. It uses the Google Maps API in order to determine distances between pairs of US cities. Students are to work individually on the assignment.

CarBot

CarBot is a first programming assignment for a CS0/CS1 course. It is a chatbot program wrapped around a monthly payment calculator for a car loan.

Input Validation - "All Input is Evil"

Imagine making a 1 billion dollar error by typing the incorrect information into a computer. That is what happened to a Japanese securities trader in December of 2005. The trader accidentally typed in the wrong amount when selling a share of stock and lost his investors millions upon millions of dollars. This module discusses the importance input validation and the risks involved if this is not considered in code.

File I/O - Benford's Law

In this lab, students experiment with input and output files using real-world population data to see if they follow Benford's Law. At the end of the lab, students are asked discussion questions which help to extend their thinking.

Engagement Excellence

Arrays 1- CoWorkers and Directions

In this lab, students get practice using Arrays and ArrayLists to complete common tasks such as "fixing" a co-worker's mistake, and reversing the directions from "their office to their client's office". Student are also asked discussion questions at the end in order to extend their thinking.

Integer Error – You Can’t Count That High

In this laboratory, student are asked to examine integer values that are too large or too small and may fall outside the allowable range for their data type. This may lead to undefined behavior that can both reduce the robustness of the code and lead to security vulnerabilities.

Pokemon Go Graphic

In this homework assignment, students are asked to use Python Turtle Graphics to design and draw a simple Pokémon graphic.

Subscribe to Use Meaningful and Relevant Content