Computer Programming I
Twelve units, 180 days, 665 documents. Binary to capstone, with a portfolio and interview practice at the end.
A 180 day Java course in twelve units, built for students arriving from a Python first year.
Computer Programming II: Java is a full year course, 180 instructional days in twelve units arranged in four acts. Act One converts a student who can already program in Python into one who can write, compile and run typed Java. Act Two builds classes and objects the student designs. Act Three works at scale with arrays, ArrayList and inheritance. Act Four ships real software with exception handling, file persistence and a twenty day capstone. Every unit ends with a performance task, a rubric and a self-assessment, and every unit states what it deliberately does not contain and which unit pays that debt.
It is written for a competent teacher who is not a Java expert. The whole course runs on a Java Development Kit, a plain text editor and a terminal, and no lesson depends on an IDE feature, a build tool or a command line flag beyond javac File.java and java File. Unit 12 adds one command, javadoc. Every lesson carries a substitute plan a non-programmer can run, every teach page states the one governing rule of the lesson in a sentence, and the code that is supposed to fail ships with the real compiler messages captured from actual runs rather than paraphrased.
The primary credential target is Certiport IT Specialist Java, and every unit names which credential it is feeding. Unit 12 is the only unit that names the examination to students, where they map the objective domains onto code they wrote themselves, sit a timed practice set and write a certification gap plan. AP Computer Science A is the secondary target: primitive types, casting, control flow, writing classes, arrays and 2D arrays, ArrayList, inheritance and object equality are all served, and the course says plainly where it does not serve that exam, including file input and output, which AP does not test.
The alignment is Maryland: Digital Technology cluster, Computer Programming program of study, Required Core Java pathway, course 2 of the sequence, grades 10 to 12, one credit, prerequisite Computer Programming I. Standards adopted August 2025, MSDE Program of Study Guide version 10.0. All 54 content indicators in strands E through M are mapped unit by unit in the scope and sequence, with the cross cutting A, B, C and D strands carried in every lesson rather than taught separately, and a coverage audit you can hand to an administrator.
You receive all twelve units, every document in editable Word and print ready PDF: a lesson plan and a substitute plan for each of the 180 lessons, the student handouts, the answer keys, SUPPORT and STRETCH tiers of the hardest pages, vocabulary cards, reference cards, twelve mid-unit checkpoints, twelve performance tasks with rubrics, and the full scope and sequence with the pacing table, the coverage matrix and the career connected learning plan. The files are yours to keep and to edit. Revisions and new releases are included for eighteen months from purchase, not forever, and nothing you have already downloaded stops working when that window closes.
What the course does not contain, stated up front: recursion, generics beyond ArrayList of a named type, threads, GUI frameworks, Android, databases and web services. Those belong to Computer Programming III, and the lessons say so honestly wherever a student would reasonably ask.
In order, across 180 instructional days. Buy the whole course above, or buy any single unit here.
A compiled, typed program that runs. No interpreter prompt, and no line without a type.
All eight primitive types, real arithmetic, and money that survives integer division.
Scanner and printf. The program asks a person, and prints a receipt they can read.
if, switch, while and for. The program decides, repeats, and rejects a bad answer.
A class the student designed, with private fields a constructor refuses to corrupt.
toString and equals. The object prints readably and compares by value, not address.
One name for many values, plus search, sort and a two dimensional grid.
ArrayList. The collection grows, and the cost of each choice is counted, not guessed.
extends, abstract classes and interfaces. One list holds a whole family of objects.
try, catch and a custom exception. Bad input stops the error, not the program.
Files. The data is still there when the program is opened again tomorrow.
Javadoc, a test plan, a code review acted on, a resume and the Certiport map.
Adapt it, rename it, put it on your letterhead, use it as your own. The single license covers one classroom or one organization; the school license covers everyone in the building or department. Do not resell it or publish it as a template product. Full terms.
Twelve units, 180 days, 665 documents. Binary to capstone, with a portfolio and interview practice at the end.