CPM Announces New Computer Science Curriculum!  

Course Design

CPM Computer Science Java encourages collaboration, and focuses on moving students of all programming abilities to a higher level. The course explicitly covers AP® Computer Science A topics. As a curriculum aligned to AP® guidelines this course assumes students have completed mathematics through Algebra 2/Integrated III.

While most of the tasks the students perform are similar to what you would find in any first year programming class, the concepts are introduced with much more student conjecture rather than traditional lectures. Read More...

Classroom Setup

It is assumed that the students will have ready access to a classroom set of computers. However, it is almost as important to have a classroom space that provides areas for groups of students to collaborate without computers in the way such as tables or desks that can be moved into teams of four.

The Problem Generator

The problem generator is the most important ancillary resource for this curriculum. It is an excellent source of multiple choice and free response questions for assessment, team problems and review. A bank of dynamically generated multiple choice questions parallels each chapter. These questions can assist students in learning computer science vocabulary and common Java implementations. The problems also help build the students' confidence in answering multiple choice exam questions.

Code tracing

Code tracing assignments aligned with chapter content are a significant part of the free-response problem practice. Code Traces can be created easily with the problem generator. Code traces are a great opportunity to have students work together in teams and on paper. Code tracing enforces teamwork and mixed space practice of important concepts.

  • Commonly used but counter intuitive operations such a modulus and integer division.

  • Methods execute only when called so the order they appear is only aesthetic.

  • The order of code statements within a method is integral to program logic as statements are executed sequentially subject to rules of iteration and if/else logic.

  • Method execution is always terminated when a return statement is reached and control returns to where the method was called.

  • The distinction between reserved words, comments and identifiers.

Course Content

Lessons are in folders with a Chapter, Section and Subsection hierarchy. Each lesson contains teacher notes and student version assignments in pdf and/or Word files. The section folders also often contain Java code class files compressed into jar files (*.jar). Most of the course concepts are explored or demonstrated through Java code, program comments and documentation contained within the jar files. Descriptive file names include an underscore “_” followed by a description. Examples are shown below.

 Examples of Course Content for CPM JAVA

Method of Content Delivery for 2017-2018

Contents of the lesson folders were delivered to the students one lesson at a time via an LMS or other file sharing system. Details for 2018-2019 will depend upon participating pilot school systems.

2018-2019 Academic Year Pilot

Experienced Java Teachers with or without CPM math teaching experience are invited to apply! If you are a CPM teacher, but not a Java teacher, share this information with the Java teacher now! Materials will be provided without cost for you and your students. You will be expected to participate in an online learning community to advise the revisions to the course materials. Interested in the curriculum?