Teacher Materials
Curriculum Access Support
Need Access? To gain access to the educator-only materials for CSAwesome, you must request access to the Google Group/Forum. Follow the steps below:
Go to https://groups.google.com/forum/#!forum/teaching-csawesome
Check that you are logged in using the email address that you'd like to have access with and receive email to.
In the textbox, please be sure to include a link to your school's staff directory page so that we can verify your status as an educator.
Having Trouble? Try switching accounts to ensure you are logged in using the account that is approved. You can also try using the direct link to the CSAwesome Drive (below).
Changing Emails: Some educators find that there are conflicts with using your school email. If you need to switch emails, you can email us at info@csawesome.org from your school account and provide us with a personal Gmail address.
Reducing Emails: This is an involved group of teachers who are passionate about teaching CSA and eager to help each other out. If you want to change the number of emails you receive, you can adjust your settings by visiting the forum web page and then clicking My Settings (person+gear icon in the upper right of the screen). If you leave the group, you will lose access to the materials, however, you can switch the settings so that you don't receive emails.
Unit 1: Getting Started with Primitive Types
Programming Challenges:
In this unit, students complete programming challenges that build toward the Enduring Understandings of
MOD-1: Some objects or concepts are so frequently represented that programmers can draw upon existing code that has already been tested, enabling them to write solutions more quickly and with a greater degree of confidence.
VAR-1: To find specific solutions to generalizable problems, programmers include variables in their code so that the same algorithm runs using different input values.
CON-1: The way variables and operators are sequenced and combined in an expression determines the computed result .
The challenges include:
Debugging
Weather Report
Dog Years
Code Tracing and Operators Maze
Average 3 Numbers
The programming challenges are opportunities for students to understand and debug existing code as well as code programs with expressions and various data types to help solve problems. Learning Objectives: MOD-1.A, VAR-1.A -VAR-1.C, and CON-1.A - CON-1.C.
Unit 2: Using Objects
Programming Challenges:
In this unit, students complete programming challenges that build toward the Enduring Understandings of
MOD-1: Some objects or concepts are so frequently represented that programmers can draw upon existing code that has already been tested, enabling them to write solutions more quickly and with a greater degree of confidence.
VAR-1: To find specific solutions to generalizable problems, programmers include variables in their code so that the same algorithm runs using different input values.
CON-1: The way variables and operators are sequenced and combined in an expression determines the computed result .
The challenges include:
Turtle Drawings
Debugging
Draw a Letter
Turtle House
Turtle Distances
Mad Libs
Pig Latin
Random Numbers
The programming challenges are opportunities for students to understand and modify existing code and use variables and operators along with sequencing to create programs that accomplish intended tasks. Learning Objectives: MOD-1.B - MOD-1.H, VAR-1.D -VAR-1.F, and CON-1.D.
Unit 3: Boolean Expressions and if Statements
Programming Challenges:
In this unit, students complete programming challenges that build toward the Enduring Understandings of
CON-1: The way variables and operators are sequenced and combined in an expression determines the computed result .
CON-2: Programmers incorporate iteration and selection int code as a way of providing instructions for the computer to process each of many possible input values.
The challenges include:
Prime Numbers
Magic B-Ball
20 Questions
Adventure Game
Truth Tables
Tracing Code
The programming challenges are opportunities for students to represent and use expressions with variables and operators along with selection (e.g. if/else control structures) to create programs that accomplish intended tasks. Learning Objectives: CON-1.E - CON.1.H and CON-2.A - CON-2.B.
Unit 4: Iteration (Loops)
Programming Challenges:
In this unit, students complete programming challenges that build toward the Enduring Understanding of
CON-2: Programmers incorporate iteration and selection int code as a way of providing instructions for the computer to process each of many possible input values.
The challenges include:
A Guessing Game
Turtle Drawing Shapes
Replacing Cats and Dogs
Turtle Snowflakes
Analyzing Loops
The programming challenges are opportunities for students to represent and use iterative processes (i.e while loops, for loops, nested loops) to create programs that accomplish intended tasks. Learning Objectives: CON-2.C - CON.2.H.
Unit 5: Writing Cases
Programming Challenges:
In this unit, students complete programming challenges that build toward the Enduring Understandings of
MOD-2: Programmers use code to represent a physical object or nonphysical concept, real or imagined, by defining a class based on the attributes and/or behaviors of the object or concept.
MOD-3: When multiple classes contain common attributes and behaviors, programmers create a new class containing the shared attributes and behaviors forming a hierarchy. Modifications made at the highest level of the hierarchy apply to the subclasses.
VAR-1: To find specific solutions to generalizable problems, programmers include variables in their code so that the same algorithm runs using different input values.
IOC-1: While programs are typically designed to achieve a specific purpose, they may have unintended consequences.
The challenges include:
Riddle Class
Student Class
Comments and Conditions
Class Pet
Class Pet Setters
Song with Parameters
Static Song and Counter
Debugging
Bank Account
The programming challenges are opportunities for students to .... Learning Objectives: MOD-2.A - MOD-2.H, MOD-3.A, VAR-1.G -VAR-1.H, and IOC-1.A.
Unit 6: Arrays
Programming Challenges:
In this unit, students complete programming challenges that build toward the Enduring Understandings of
VAR-2: To manage large amounts of data or complex relationships in data, programmers write code that groups the data together into a single data structure without creating individual variables for each value.
CON-2: Programmers incorporate iteration and selection into code as a way of providing instructions for the computer to process each of the many possible input values.
The challenges include:
Countries Array
Spell Checker with 100 Word Dictionary
Enhanced Spell Checker
The programming challenges are opportunities for students to understand how to create arrays objects to manage data. Students also learn and practice implementing standard algorithms such as traversing arrays with loops. Learning Objectives: VAR-2.A -VAR-2.C and CON-2.I.
Unit 7: ArrayList
Programming Challenges:
In this unit, students complete programming challenges that build toward the Enduring Understandings of
VAR-2: To manage large amounts of data or complex relationships in data, programmers write code that groups the data together into a single data structure without creating individual variables for each value.
CON-2: Programmers incorporate iteration and selection into code as a way of providing instructions for the computer to process each of the many possible input values.
IOC-1: While programs are typically designed to achieve a specific purpose, they may have unintended consequences.
The challenges include:
Digits Array
Array to ArrayList
Search Runtimes
Sort Runtimes
Data Privacy
The programming challenges are opportunities for students to understand when and how to use an arraylist when writing programs to solve tasks. Students also have the opportunity to discuss and discover the effects and consequences of computing programs. Learning Objectives: VAR-2.D -VAR-2.E, CON-2.J - CON-2.M, and IOC-1.B.
Unit 8: 2D Arrays
Programming Challenges:
In this unit, students complete programming challenges that build toward the Enduring Understandings of
VAR-2: To manage large amounts of data or complex relationships in data, programmers write code that groups the data together into a single data structure without creating individual variables for each value.
CON-2: Programmers incorporate iteration and selection into code as a way of providing instructions for the computer to process each of the many possible input values.
The challenges include:
ASCII Art
Picture Lab
The programming challenges are opportunities for students to understand when to use 2D arrays in programming as well as how to write programs that include 2D arrays. Learning Objectives: VAR-2.F -VAR-2.G and CON-2.J - CON-2.N.
Unit 9: Inheritance
Programming Challenges:
In this unit, students complete programming challenges that build toward the Enduring Understanding of
MOD-3: When multiple classes contain common attributes and behaviors, programmers create a new class containing the shared attributes and behaviors forming a hierarchy. Modifications made at the highest level of the hierarchy apply to the subclasses.
The challenges include:
Online Store
Square is-a Rectangle
Pet Sounds
Customer Info
Shopping Cart
Savings Account
The programming challenges are opportunities for students to learn about the use of inheritance in writing programs. Students not only build an understanding of what inheritance means, but how to use it when writing coding to solve problems. Learning Objectives: MOD-3.B. - MOD-3.E
Unit 10: Recursion
Programming Challenges:
In this unit, students complete programming challenges that build toward the Enduring Understanding of
CON-2: Programmers incorporate iteration and selection into code as a way of providing instructions for the computer to process each of the many possible input values.
The challenges include:
Tracing Recursion
Tracing Recursive Search and Sort
The programming challenges are opportunities for students to understand the concept of recursion and when using recursive programs might be useful. Learning Objectives: CON-2.O - CON-2.Q
Culturally Responsive Teaching Strategies
When developing lesson plans for CSAwesome a CRT playbook was used. The playbook contains suggested activities for use in a culturally responsive classroom.
CS Teaching Tips and Misconceptions
The lesson plans include tips for teaching CS as well as warn teachers and educators of any known misconceptions that students might have about a particular topic.
For example: Teach students how to find built-in Java methods in the Javadocs documentation. (from CSTeachingTips.org)
We also encourage educators to check out the Inclusive CS Teaching website.
Supplemental Teacher Resources
You must be a member of Teaching CSAwesome google group to access many of these resources. You can also reach them in your Google Drive under Shared Drives on the left.
Link to Teacher Resources Folder.
Resources from other teachers:
AP CS A Bookmarks/Resource Links (maintained by Ria Galanos)
AP CS A FRQ Map 2004-2019 by Ria Galanos (and her dropbox of resources)
College Board 2020 review videos by Rob Schultz and Jill Westerlund
Beth Simon's CSAwesome unit overview videos
Robin West's interactive digital notebooks for Unit 1, Unit 2, Unit 3 (change links to worksheets before using)
Joe Mazzone's links for Github Classroom and integrating repl.it
Sandy Czajka's projects for Object Design and Arrays/Data Structures/Algorithms (CSTA 2018)
Colleen Lewis' handout and videos on Java memory models and tracing with manipulatives.
Greenfoot Aquarium Lab (Brian Meermans)
Diss-Array Java Game: Learning Arrays and ArrayLists and online https://csa-games.netlify.app by Chandan Sarkar
CS Classroom Banners by Jamie Lang
AP Exam Information
Course and Exam Description
The official AP CS A Course and Exam Description booklet can always be found on AP Central for AP CS A. The direct link to download the AP CSA CED is here. You can purchase a hard-copy binder at www.collegeboard.org/ced.
AP Exam
The AP Computer Science A Exam assesses student understanding of the computational thinking practices and learning objectives outlined in the course framework.
Additional details:
3 hours long
40 multiple-choice questions (90 mins)
4 free-response questions (90 mins)
Students can use the Java Quick Reference Sheet during the exam
AP Audit
If you will be teaching the AP CS A course in your school during the next academic year, you must complete the AP Audit process. Completing the audit will give you access to the brand new materials that the College Board will release including Personal Progress Checks.
Notes:
The AP Audit process will take approximately 10 minutes to complete.
The AP Audit User Guide contains step-by-step instructions.
During the AP Audit process, you can:
Submit Textbook: Be sure to select 'AP Endorsed Provider Resource CSAwesome CSA' as the textbook you will use.
Adopt a Syllabus: Be sure to select the official and approved CSAwesome syllabus from the list.
Play this video to watch a walk-through of the AP Audit Process.
Note: During the CSAwesome PD teachers will learn how to complete the AP Audit process and how to access AP resources including AP Classroom and secure practice exams.
AP Resources
College Board Resources
Sample Exam Questions (pg 191 of Course and Exam Description)
Practice Exam (requires login)
AP Teacher Community for CS A (requires login)
AP CS A Free Response Question Archive on AP Central
AP CS A FRQ Map 2004-2021 by Ria Galanos (and her dropbox of resources)
AP CS A FRQ Map 2004-2022 by Bryan Hafferty
Celebrity Lab Video for Teachers by Cody Henrichsen - not to be shared with students
AP Classroom
See page 4 of the Course and Exam Description (CED) for more details on AP Classroom.
Students and teachers have access to the online AP Classroom platform and its resources (unit guides, personal progress checks, progress dashboard, and AP question bank) after the activation process. Activation is described on pg. 5 of the CED.
For teachers that are new to AP Classroom, the College Board has provided a series of tutorials that can be accessed once logged into https://myap.collegeboard.org/. The various tutorials that are provided help with everything from navigating AP Classroom to creating assessments.
Note: Because the personal progress checks are formative, the results of these assessments cannot be used to evaluate teacher effectiveness or assign letter grades to students, and any such misuses are groups for losing school authorization to offer AP courses.
College Board Professional Development
CSAwesome is one of several providers seeking endorsement from the College Board for the AP CS A course. The CSAwesome professional development is NOT a College Board sponsored AP workshop. College Board offers AP Summer Institutes and one-day workshops that support teaching and pedagogy. More information is available at AP Professional Development.
Online & Hybrid Teaching
On August 20, 2020, we had a webinar on Online/Hybrid Teaching (video recording and slides). Here are some resources from this webinar:
Pair Programming in Repl.it Instructions (make a copy of this for your class and change sharing to anyone can edit, and share a repl.it starter code link for them to use).
Breakout Rooms for collaborative work: Zoom, Microsoft Teams, Google Meet Tutorial to create separate meet links for students in same domain (If your students’ emails are not in the same domain, you need to start new meets at meet.google.com, copy the links, and approve students as they join).
AP Daily Videos for each lesson starting on Sept. 1st in AP Classroom (info video, Art Lopez how to use videos with repl.it assignment)
Polls: Zoom tutorial, Polleverywhere.com, Pear Deck, Google form
Shared Docs for group work: Google docs/slides, Padlet.com (Java Zoo Objects example), Jamboard
Virtual Whiteboards: Zoom whiteboard, miro, whiteboard.fi Idroo
Other Resources:
NCCSE Online and Remote teaching resources for Mobile CSP And CSAwesome
A collaboration between the National Math & Science Initiative (NMSI) and the National Center for CS Education has allowed lesson plans and supplementary materials to be developed for teachers to use when delivering the CSAwesome curriculum to their students. Thank you to our CSAwesome lesson plan developers: John Harrison, Theresa Horvath, Pauline Lake, Randle Moore, Darci Santella, Lora Santucci, Jeannie Turner, and Nita Waterman!