Course Level
CS1
Knowledge Unit
Fundamental Programming Concepts
Collection Item Type
Lab
Synopsis

In this lab students work either individually or in pairs to create a game of their choosing using the VPython library. To start, students are given a basic program that shows a simple alien with limited control from the user. Students are required to make incremental changes to this program, adding more complex graphics and controls to make a more interesting game. This lab reviews classes and graphics, as well as requiring students to think about the control flow for their game. It is particularly useful for students who are new to classes and need additional practice designing classes, as well as writing methods and debugging code.

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

Recommendations

Consider interspersing anecdotes and asides throughout your lecture about the collaborative nature of building a medium- to large-scale program on a diverse development team to increase Student-Faculty Interactions. Additionally, consider using pair programming or another collaborative learning strategy for this assignment. To see how pair programming could be implemented here, see the work policy link below.

Engagement Highlights

Gives students significant creative freedom as a way of Incorporating Student Choice. Explores different game functionalities as a way of providing Meaningful and Relevant Content. This material allows students to work together to facilitate concept understanding and exploration.

Computer Science Details

Computer Science Topic(s)
class
constructor
control flow
graphics
loops (general)
Programming Language
Python

Material Format and Licensing Information

Material Format
HTML
Technology Platform Required
Desktop
Creative Commons License
CC BY-NC

Author's Institutional Information

Institution Type
Liberal Arts Colleges (4 yr)
Community Type
Suburban