Course Level
Knowledge Unit
Fundamental Data Structures
Collection Item Type

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.


Add sections within the lab where students are required to discuss among themselves and vote on the key benefits of performing these tasks as a way to encourage Student Interactions. Incorporate well structured collaborative learning techniques such as Pair Programming, so students can work side by side and switch roles as "driver" and "navigator".

This is lab 13 of a introduction to computing course in Python. See sequencing in the syllabus and course schedule. Additional guidelines for student success on this assignment and throughout the course can be found in the syllabus.

Engagement Highlights

This lab is engaging for students as it uses current actors and movies and thus employs Relevant and Meaningful Content. The instructor also provides an introductory video to frame the lab. Low stakes checkpoints (testing suites) are given throughout the assignment as a way for students to test code. This is an illustration of Student Centered Assessment.

Computer Science Details

Programming Language

Material Format and Licensing Information

Creative Commons License


Submitted by alvaro.monge on November 8, 2016


I just adopted this assignment. I've modified it as follows. (1) the main script prompts the user to execute one of the two functions, prompting for additional input as required by each function, (2) the function to compare movies can take an arbitrary number of movie names rather than just two movies, (3) the function to find co-actors does not output, instead a list is returned and the output is done elsewhere.