Lesson 1: Programming for Entertainment
Students are asked to consider the "problems" of boredom and self expression, and to reflect on how they approach those problems in their own lives. From there, students will explore how Computer Science in general, and programming specifically, plays a role in either a specific form of entertainment or as a vehicle for self expression.
This lesson is intended to kick off this programming unit in a way that engages students of all backgrounds and interests. Though the end point of this unit asks students to develop a game, you should avoid starting out with a strong emphasis on video games. Instead, we attempt to broaden students' perspective about how programming is relevant to a form of entertainment or self expression that is personally engaging. This will provide an anchor for students to come back to throughout the unit as they consider the potential applications of the various programming skills that they learn.
Warm Up (10 min)
Activity (45 min)
Wrap Up (5 min)
Students will be able to:
- Identify how computer science is used in a field of entertainment
- Review the research resources linked in Code Studio
- Print a copy of CS in Entertainment - Activity Guide for each group of three students
For the Teacher
- CS in Entertainment - Exemplar
For the Students
- CS in Entertainment - Activity Guide
Warm Up (10 min)
The Entertainment Problem
Why do we seek out entertainment? Whether it's movies, music, art, games, or any number of other forms of entertainment, what problem does entertainment solve for us?
The goal here is to get students to reflect more critically on why people seek out entertainment. Students are likely to come up with "boredom" as a common answer, but push them to think more deeply about what their chosen form of entertainment actually does for them - what problem does it solve. Potential answers include:
- Escape from difficult reality
- Connection with others
- Learning or experiencing new things
- Sparking creativity
Discuss: What is your favorite form of entertainment, and what problem does it solve for you?
Activity (45 min)
CS in Entertainment
Prompt: Select a few of the forms of entertainment that students identified in the warm up and ask them whether (and how) Computer Science plays a role in that field.
Group: Place students in groups of three. Consider allowing students to group based on common interest as each group will be exploring a field of entertainment together.
Distribute: Give each group a copy of CS in Entertainment - Activity Guide
CS in Entertainment
During this activity student groups will do some light research into the role that CS and programming play in various fields of entertainment. The primary goal of this activity is to broaden students' perspective about how programming can be used to make fun or entertaining things. Some of the fields that students could research (such as art, animation, and games) can be directly connected to programs they will write later in this unit, while others may serve more as an inspiration for how the skills that they learn here may be applied in different domains.
- Introduce the topics: In the activity guide we've listed a number of potential fields for research. These specific fields were chosen to go along with resources that are provided on Code Studio, but you can allow students to look into other fields if they wish.
- Explain the exploration task: The goal of this exploration is twofold:
- First, develop a deeper understanding of how programming is used in your chosen field. How is computer technology changing this field, what are some of the problems that people are trying to solve with technology?
- Second, identify some interesting applications of CS or facts to share. What are some cool things that people are doing in this field that make use of CS?
Because many of these sites change their content daily, we have not shared them directly with students. We suggest that you check these links the morning before class to ensure that everything is still appropriate to be shared in school
- Share selected research links: On Code Studio, inside the blue teacher box, we have compiled a handful of useful sites to help students kick off their research. Share the links that you feel are most helpful and appropriate for your class.
Once groups have learned a bit about how CS is used in their chosen field, they can complete the second page of this activity guide, which asks them to do the following:
- What Problem Does It Solve?: "Problem" in this context can be fairly broad. It might be simplifying an otherwise laborious or complex task, doing things that wouldn't otherwise be possible, or any number of things that make this form of entertainment more accessible to end users.
- How is it an Improvement?: This could be tightly coupled with the answer to the previous question. Push students to consider how their form of entertainment was created before programming was prevalent.
- An Interesting Fact or Use: Share something fun or interesting about how CS is used in this field.
- An Open Question: It's likely that students come away with more questions than answers after just some quick research. Encourage them to reflect on what they don't yet know, and what questions they'd still like answered.
Share: Give groups a minute each to share their findings.
Wrap Up (5 min)
While some of these examples are pulled directly from lessons that students will complete later in the unit, a few of them use commands or techniques that aren't explicitly covered in the course. You can view the source for all of these programs in order to support students who may want to incorporate some of these techniques later on.
Display: Show either as a whole class, or let students explore independently, the example programs at the end of this lesson's Code Studio progression. These programs are designed to show a variety of different kinds of programs that it's possible to make in Game Lab.
Journal: Based on what you saw today, both in your research and the example apps, what kinds of programs are you most interested in learning to create?
Here are a few sites to get students started. These sites are generally appropriate for school, but the content with them changes frequently, so we strongly suggest that you check each site for inappropriate content before sharing it with students.
Inside the Magic - insidethemagic.net
This site is focused on news about Disney, but you might be surprised by the large role that CS plays in all of their different forms of entertainment. Because this isn't a CS focused site, you'll need to use the search function to find relevant articles.
Critical Path Videos - criticalpathproject.com/explore/playlists/
Videos featuring a range of people working in diverse areas of the game industry, talking about what they do.
Music Think Tank - musicthinktank.com
Music Think Tank is a blog targeted at people working in the music industry. It's not a CS specific site, but searching for "computer science" or "programming" will reveal some interesting articles.
Creative Coding Podcast - creativecodingpodcast.com
While this podcast doesn't feature much in the way of formal professional programming (as in, people who do this for a living), it is a great resource to see the varied ways in which amateurs are making entertainment with code.
Starting Your Search
To find out more about how computer science and programming play a role in entertainment, you'll need to do some research. Try searching for "Computer science and ______" and trying out different types of entertainment such as film, television, music, games, animation, fashion, etc.
Click "Run" to start the program, then use the stamp pad to draw pictures with simple colors and animal stamps.
Combining images, text, and some subtle animation can make for really interesting comics or graphic stories. Click "Run" to see an example.
Press "Run" to play the game on the left. You can make the alien jump with the space bar, and move it to the left and right with the arrow keys. You score by collecting stars, and if you score high enough, the background will change.
The bunny is hungry, and it's looking for mushrooms and carrots for dinner.
To win, you'll need to find a dinner bowl, then collect at least ten carrots and five mushrooms.
Make sure to avoid the bugs. Ladybugs and snails will eat your food, and bees will sting you, making you drop everything!
Use the space bar to jump. You can squash ladybugs and snails by jumping on them.
Click "Run" to start the program.
CSTA K-12 Computer Science Standards (2017)
IC - Impacts of Computing
- 2-IC-21 - Discuss issues of bias and accessibility in the design of existing technologies.