Press enter to see results or esc to cancel.

A Guide to Reviving the AP CSA Elevens Lab

Popfizz added a modified version of AP CSA Elevens Lab to the course. Why did we bring back the old lab? It’s a culminating lab that requires students to put all their AP CSA knowledge together including array/arraylist manipulation, random, loops, inheritance and polymorphism.

Since the AP CSA CED updates, this lab got removed from many classrooms due to its use of ‘abstract’. We made some changes to bring back our favorite lab. We updated the project so that it no longer uses abstract but still maintains the superclass-subclass structure.

The Elevens Game

The Elevens Game is a culminating activity that requires students to use all skills covered in the AP CSA course. This is a modified Elevens Lab designed to meet the updated AP CSA requirements. For the original Lab, click here to download the student guide. 

Getting Started

To assign the updated Lab to your students, try the following:

  1. For teachers guide and solution files, log in to the AP Classroom to download the original lab.
  2. Replace the two solution files for, and in Activity 9 with the files in this link.

or, if you have access to the AP CSA course, visit 14.Lab 5 – The Elevens Game. The Lab is padded with 65 supporting tasks to help students complete the project with plenty of scaffolding.


  • The player removes each pair of cards (A, 2, … , 10) that total 11, e.g., an 8 and a 3, or a 10 and an A. An ace is worth 1, and suits are ignored when determining cards to remove.
  • Any triplet consisting of a J, a Q, and a K is also removed by the player. Suits are also ignored when determining which cards to remove.

Play the game here:

Select as the run file.

Lab Sequence

Activity 6 is introduced first. Have your students play the game here.

Activity#DescriptionPrerequisitesJava files
1Design and development of a Card classObjects and classes, ints and
2Initial design and implementation of a Deck classArrays, Lists / ArrayLists,conditionals and
4Implementing the Deck shuffle
5 (optional)Testing with Java assert statementsbuggyDecks, modified
7Design of the ElevensBoard without inheritance
8Using an abstract Board
9Implementation of the ElevensBoard
10 (optional)Variations on ElevensInheritance
11 (optional)Simulation of theElevens

Related Links