“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

Selection Statements- Responding to Customer Requests

In this assignment students are asked to respond to two customer requests. First they must create a program to analyze the body mass index of Olympic athletes. Second, they are asked to create a calculator script which helps with errors.

First Program

In this assignment students create functions to perform calculations in Python. Using data related to driving a car and time, students must create functions that tell the user how many miles-per-gallon or the total number of milliseconds occur within a particular day. This assignment is ideal for students who want more practice creating functions and calculating values.

Analyze Customer Data

In this lab (Lab 14) students work individually or collaboratively on analyzing customer data. Using a list or dictionary of fake customer data, students sort and print different values. Students must create functions to perform actions, such as getting various distributions (gender, birth, and purchase) within the data set.

The authors of this material were awarded a 2015 NCWIT Engagement Excellence Award for this assignment. Learn more on NCWIT's awards page.

Engagement Excellence

Sets and Dictionaries to analyze movies

In this lab (Lab 13) students work individually or collaboratively on sets in Python. This lab introduces the concept of sets through analysis of two movies using data from the Internet Movie Database (IMDB). Students create a dictionary with values from these movies and process the info to determine such things as intersections between movies on actors and co-actors. This lab was inspired by the work of Bill Punch and Richard Enbody, Michigan State University.

The authors of this material were awarded a 2015 NCWIT Engagement Excellence Award for this assignment. Learn more on NCWIT's awards page.

Engagement Excellence

"Green Eggs and Ham" -Using lists for text analysis

In this lab students work individually or collaboratively on evaluating text. Using lists and dictionaries, students perform various functions on the text within Dr. Seuss's Green Eggs and Ham children's book. This lab is ideal for students looking to gain additional experience with lists and dictionaries.

Engagement Excellence

ASCII Art

In this assignment students work either individually or in pairs to create ASCII art using loops. Students must write functions that print a rectangle, a triangle, bumps of increasing size, a diamond, and a striped diamond. In addition to requiring students to use loops, this assignment reviews basic parameter passing. It is particularly useful for students who are new to loops.

TT Securities, Incorporated

In this assignment students work either individually or in pairs to manage and analyze stock prices via a text menu. Students must write a function that asks the user what they want to do, providing nine options: input a new list of stock prices, print the current list, find various statistics, find the best day to buy/sell the stock in question, and quit the menu. Students may not use built-in functions, and must therefore write functions like sum, min, and max themselves using loops. In addition to reviewing i/o and loops, this assignment requires students to decompose their code thoughtfully. It is particularly useful for students who are new to loops and need additional practice with decomposition.

Pi from pie

In this assignment students work either individually or in pairs to estimate pi with a Monte Carlo simulation. Students simulate throwing darts at a square with a circle inscribed in the middle by generating random pairs of (x, y) coordinates, keeping track of the ratio of darts that hit the circle. They must write two functions: one that throws a given number of darts, and one that continues throwing darts until the estimated value for pi is within a given tolerance. This assignment reviews random number generation and loops, as well as requiring students to adequately comment and decompose their code. It is particularly useful for students who need additional practice with loops.

Looks Good!

In this assignment students work either individually or in pairs to write a series of image-processing functions. Using list comprehension, students must write functions that invert the colors of an image, change the colors to greyscale, change the image to black and white, flip the image, and mirror the image. Students are also encouraged to be creative and come up with their own alterations. This assignment covers list comprehension on multidimensional lists. It is particularly useful for students who are new to multidimensional lists and need additional practice using list comprehension on them.

Conversions and Compressions

In this assignment students work either individually or in pairs to write functions that convert between different bases and compress/decompress black and white images. Students must write functions that convert between bases between 2 and 10 and that add binary numbers. They must also write a basic compression/decompression algorithm for black and white images. This assignment reviews strings and requires students to use functions that they wrote earlier. It is particularly useful for students who are new to representing numbers in different bases and need additional practice with strings and recursion.

Subscribe to Use Meaningful and Relevant Content