Welcome to the CS Matters curriculum!

Version 3 of the full curriculum has been released on June 23, 2020 and is accessible via the link below. Access to each lesson's Assessments folder (and other teacher-only resources) is restricted and available on request.

Previous Versions
Version 2.1.1 (August 22, 2018)
Version 1.2 (January 7, 2016)

A syllabus based on the CS Matters curriculum and authorized for use by the College Board is available. Teachers attempting to submit a syllabus who are using the CS Matters Curriculum are encouraged to submit the syllabus following the directions below.

Authorized CS Matters Syllabus | Directions to Submit Authorized Syllabus

Curriculum Overview

Download Overview

Project Goals

Computer Science (CS) Matters in Maryland is an NSF-supported effort to increase the availability and quality of high school CS courses across the state of Maryland. In 2014, we assembled a cohort of master teachers (from nine public and private school systems in Maryland and the District of Columbia) to create a complete curriculum package for the new College Board CS Principles Advanced Placement (AP) course. Our master teachers piloted the new curriculum in the 2014-15 school year. In 2015, we offered two workshops (one at UMBC and one at UMCP) to train 28 additional pilot teachers on the new curriculum, and support them as they teach the course during the 2015-16 school year. In 2016, we aim to partner with four training sites across the state of Maryland and the District of Columbia in order to train 80 additional teachers to teach the course during the 2016-17 school year (the first year in which the AP CS Principles exam is scheduled to be offered).

More information about CS Matters in Maryland is available at the project website, http://csmatters.org.

Curriculum Overview

The CS Matters in Maryland CS Principles AP course incorporates a focus on active, inquiry-based learning. The structure of the course is designed to meet all of the Computer Science Principles learning objectives, to prepare the students for the two Computer Science Principles performance tasks, and to spread out the work on these tasks over the course of the year. The overarching theme of the course is data: the nature and variety of data on the Internet; algorithmic methods for processing and managing data; and ways in which data can be analyzed, visualized, and interpreted to increase human understanding and solve challenging real-world problems. Programming concepts are taught using Python. The six units, and the two performance tasks, are organized as follows:

Unit 1:
Your Virtual World
Unit 2:
Developing Programs
Unit 3:
Information and the Internet
Explorations of Computing Innovations

Unit 4:
Data Acquisition
Unit 5:
Data Manipulation
Unit 6:
Data Visualization
Write a program to analyze data graphically

During the curriculum development process, master teachers worked in small “unit teams” to create the lessons within each unit. Each lesson was then reviewed by five independent review panels to ensure that the curriculum met our design criteria: (1) consistency with and complete coverage of the CS Principles learning objectives, (2) alignment with Common Core and NGSS standards, (3) a focus on active learning pedagogies, (4) differentiation for diverse student populations and different learning styles, and (5) college-level, rigorous content. Many lessons include extensions and variations to facilitate the course’s adoption in different contexts and for different student populations. The course is designed to fit within 150 50-minute “sessions,” but we recognize that many schools have a block schedule or other scheduling method. Our explicit goal was to design the lessons with as much flexibility as possible.

We are grateful to Code.org for sharing their curriculum, which was in development as we began the creation of our own curriculum. We have borrowed and adapted many of the individual lessons from Code.org’s curriculum. Like their curriculum, the CS Matters in Maryland CS Principles AP course will be distributed under a Creative Commons ShareAlike license, and can be adapted or reused with attribution for non-commercial purposes.

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 United States License by University of Maryland, Baltimore County and University of Maryland, College Park.


We'd like to acknowledge the following people for their excellent work in writing, editing, and developing the curriculum.

  • Marie desJardins
  • Jan Plane
  • Dianne O'Grady-Cunniff
  • Joe Greenawalt
  • Christina Morris
  • Jennifer Smith
  • Megean Garvin
  • Shawn Squire
  • John Winder
  • Stephanie Milani
  • Tristan Adams
  • Omolola Ajala
  • Michael Neary
  • Caroline Kery
  • Ennis Golaszewski
  • Emily Scheerer
  • Rose Carignan
  • Stephen Sell
  • Bill McDonald
  • Nora Blasko
  • Sharon Kramer
  • Janet Bondelid
  • Nik Baltatzis
  • Richard Williams
  • Terry Roberts
  • Holly Eckard
  • Dawn Raszewski
  • Madeline Burton
  • Melanie Wiscount