CPM Educational Program

JAVA Course Design

JAVA 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 about the course design.

*Advanced Placement® or AP® is a trademark registered by the College Board, which is not affiliated with, and does not endorse, this website.

Classroom Setup

It is assumed that the students will have ready access to a classroom set of computers with access to their school’s LMS software. 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 accessible by an ebook containing the student text. Teacher notes are provided on a separate tab available in the teacher edition of the ebook. The teacher notes often contain downloadable java source code 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. To control the pace of the class throughout the curriculum, teachers will make the *.jar files available to the students via their school’s LMS software on a lesson by lesson basis. The *.jar files have descriptive file names include an underscore “_” followed by a description indicating their purpose. Examples are shown below.

Folder/File suffix Example Contains
SomeLesson_Solution the source code for the solution to a programming assignment. Do not distribute this folder to the students
LessonTopic_Example source code and comments for student learning.
LookHere_Demo a working program. However at least some of the *.java source code is not provided but the program runs using compiled* .class files.
StartHere_Assignment the starting point for student work. Students add class files or methods to these projects. Some of the *.java source code may not be provided but might run using compiled* .class files.. CorrectMe_Answers source code and comments so students may perform a self-check on their work..
Exit mobile version