Skip to content

Codio Courseware Catalog

Introduce Computer Science in Java with native Codio content while promoting engagement and active learning with fully auto-graded assessments and minimal text. This course follows the pacing and sequencing of the AP® CS A Curriculum framework.

Course Modules & Assignments

Unit 1: Primitive Types - 1.1 Why Programming? Why Java?
- 1.2 Variables and Data Types
- 1.3 Expressions and Assignment Statements
- 1.4 Compound Assignment Operators
- 1.5 Casting and Ranges of Variables
- Unit 1 Review
- Unit 1 Programming Practice
Unit 2: Using Objects - 2.1 Objects: Instances of Classes
- 2.2 Creating and Storing Objects (Instantiation)
- 2.3 Calling a void method
- 2.4 Calling a Void Method with Parameters
- 2.5 Calling a Non-void Method
- 2.6 String Objects: Concatenation, Literals, and More
- 2.7 String Methods
- 2.8 Wrapper Classes: Integer and Double
- 2.9 Using the Math Class
- Unit 2 Review
- (Optional) User input with Scanner
- Unit 2 Programming Practice
Unit 3: Boolean Expressions and if Statements - 3.1 Boolean Expressions
- 3.2 if Statements and Control Flow
- 3.3 if-else Statements
- 3.4 else if Statements
- 3.5 Compound Boolean Expressions
- 3.6 Equivalent Boolean Expressions
- 3.7 Comparing Objects
- (Optional) Comparing User Input Strings
- Unit 3 Review
- Unit 3 Programming Practice
Unit 4: Iteration - 4.1 while Loops
- 4.2 for Loops
- 4.3 Developing Algorithms Using Strings
- 4.4 Nested Iteration
- 4.5 Informal Code Analysis
- Unit 4 Review
- Unit 4 Programming Practice
Unit 5: Writing Classes - 5.1 Anatomy of a Class
- 5.2 Constructors
- 5.3 Documentation with Comments
- 5.4 Accessor Methods
- 5.5 Mutator Methods
- 5.6 Writing Methods
- 5.7 Static Variables and Methods
- 5.8 Scope and Access
- 5.9 "this" Keyword
- 5.10 Ethical and Social Implications of Computing Systems
- Unit 5 Review
- Unit 5 Programming Practice
Unit 6: Array - 6.1 Array Creation and Access
- 6.2 Traversing Arrays
- 6.3 Enhanced for Loop for Arrays
- 6.4 Developing Algorithms Using Arrays
- Unit 6 Review
- Unit 6 Programming Practice
Unit 7: ArrayList - 7.1 Introduction to ArrayList
- 7.2 ArrayList Methods
- 7.3 Traversing ArrayLists
- 7.4 Developing Algorithms Using ArrayLists
- 7.5 Searching
- 7.6 Sorting
- 7.7 Ethical Issues Around Data Collection
- Unit 7 Review
- Unit 7 Programming Practice
Unit 8: 2D Array - 8.1 2D Arrays
- 8.2 Traversing 2D Arrays
- Unit 8 Review
- Unit 8 Programming Practice
Unit 9: Inheritance - 9.1 Creating Superclasses and Subclasses
- 9.2 Writing Constructors for Subclasses
- 9.3 Overriding Methods
- 9.4 "super" Keyword
- 9.5 Creating References Using Inheritance Hierarchies
- 9.6 Polymorphism
- 9.7 "Object" Superclass
- Unit 9 Review
- Unit 9 Programming Practice
Unit 10 : Recursion - 10.1 Recursion
- 10.2 Recursive Searching and Sorting
- Unit 10 Review
- Unit 10 Programing Practice

Adopting for the AP®?

Codio is recognized by the College Board as an endorsed provider of curriculum and professional development for AP® Computer Science A (AP CSA). Using an Endorsed Provider affords schools access to resources, including an AP CSA syllabus pre-approved by the College Board’s AP Course Audit, and officially recognized professional development that prepares teachers to teach AP CSA. This endorsement affirms only that components of Endorsed Provider’s offerings are aligned to all the AP Curriculum Framework standards and the AP CSA assessment.

  • downloadable syllabus is available to expedite AP course audit approval.

  • Mix this resource with our Think Java title to meet the CR1 requirement that teachers and students have access to a college textbook.

Constructing Knowledge Through Coding

Introduction in Java emphasizes students applying and exploring the information presented. A code editor accompanies each page with new concepts so students can see for themselves how the computer responds to code. In addition, the content provides code snippets to get students started as well as suggested avenues for investigation.

Auto-Graded Assessments

Students receive immediate, rich feedback. In addition to correctness feedback (i.e. right or wrong), students will also see an explanation with the complete solution. There are a wide variety of questions — all of which are auto-graded, giving students a sense of their understanding of the material right after they are introduced to it and as they attempt harder and harder problems.

Lowering the Barrier to Entry

Introduction in Java reflects the need for computer science education to meet students where they are. Like any specialized community, computer science has its own jargon. The formal teaching of computer science should not burden students with the assumption that they are fluent in this special language. The material is presented in smaller units that are more manageable for the students. The same vocabulary and concepts are covered, but in a more approachable way — state things as plainly as possible, and, when appropriate, use images, tables, or lists.

Another way in which this content is more approachable is that it is using many small programs instead of one large program. Research shows that a variety of smaller problems increase student performance and reduce stress. Using many small programs leads to students spend a sufficient amount of time on their work, and they do not wait until the last moment to begin their work. 

Encouraging Customization Through Modularity

This content is not a one-size-fits-all solution. Instead, it implements a modular format. Natural break points occur in the curriculum where instructors can make the changes they deem necessary. Instructors can re-name, re-order, or remove units. Using Codio’s excellent content authoring tools, they can author new material. This modular approach gives instructors flexibility when designing the learner’s experience.