Praxis CS Prep Course

CodeHS is now offering an online professional development course to help prepare teachers for the Praxis Computer Science Exam. The CodeHS Praxis Computer Science Preparation Course is the only course that covers 100% of the competencies designated for the exam.

  • 100% aligned to competencies

  • Flexible self-paced timeframe

  • In-course support with an instructor

Course Overview

Here is an outline of the course modules:

Welcome to the CodeHS Praxis Prep Course!

In this unit, you will learn about the course, how to be successful at completing the course and how to get help from the CodeHS team.

Introduction to Programming in Java with Karel the Dog

Intro to Java with Karel the Dog. Learn the basics of java commands, control structures, and problem solving by solving puzzles with Karel.

Basic Java

In this module, you will learn the basics of the Java programming language. This module covers printing, variables, types, as well as how to use the basic control structures in the Java language.


In this module, you will learn how to define methods in their programs and use autograders to test if their methods are working correctly.

Classes and Object-Oriented Programming

In this module, you will learn the basics of Object Oriented Programming in Java, which is a powerful programming paradigm. You learn how objects store data and interact with each other in Java programs. You will design and implement classes and extend classes using inheritance.

Data Structures

In this module, you learn basic data structures in Java including arrays, ArrayLists, 2 dimensional arrays and HashMaps. Data structures will be used to design larger applications.

Algorithms and Recursion

In this module, students are introduced to fundamental searching and sorting algorithms including sequential search, binary search, insertion sort, selection sort, and mergesort, as well as the important concept of recursion.

What is Computing?

You will review a history of computing and learn about the various parts that make up modern computers. You'll also explore the impact computing has had on today's world, and consider the impacts computing could potentially have in the future.

Digital Information

You will learn about the various ways we represent information digitally including number systems, encoding data, and creating pixel images.

The Internet

Students explore the structure and design of the internet, and how this design affects the reliability of network communication, the security of data, and personal privacy.


Students explore using computational tools to store massive amounts of data, manipulate and visualize data, find patterns in data, and pull conclusions from data.

Intro to System Administration

In this unit, you will learn about and compare the different operating systems. You will also explore the different types of software and applications along with browser configuration.

IT Infrastructure

In this unit, you will learn about the internal components of the computer, peripheral devices and network devices. You will then explore the different storage options. You will conclude this unit with learning about different network options and how networks communicate.


In this unit, you will learn about cybersecurity and it's impact. You will learn about common security problems and how to protect information from online risks. You will also learn about digital certificates and licensing.

Creative Development

In this unit, you will learn what the creative development process is and how it is used to develop programs.

Collaboration in Computer Science

Did you know the best programmers work in teams? Teachers incorporate collaborative programming best practices into their blended learning classroom to increase student collaboration with pair programming, student projects, ideation sessions, and white boarding.

Debugging in Java

Finding and fixing errors in programs is a fundamental skill for new and experienced programmers to develop. This module introduces debugging, the art and science of fixing broken programs. You'll learn techniques for finding common code errors and effective debugging strategies to share with students.

Practice Tests

This unit provides additional resources to study for the Praxis exam.

Final Task

In this unit, you will complete a course survey.

Course Format

Our Praxis Computer Science prep course is offered entirely online and is made up of a series of learning modules that cover the basics of programming, computer science concepts, algorithms and computational thinking, working with data, demonstrating knowledge of computing systems and networks, and the pedagogy of teaching programming in a blended classroom. Each module is made up of short video tutorials, programming exercises, open-ended responses, debugging problems, and grading practice.

The course is designed for new and experienced teachers interested in taking the Praxis Computer Science Exam.

Praxis Competencies

This prep course covers all of the Praxis Computer Science skills and competencies including:

  • Impacts of Computing

  • Algorithms and Computational Thinking

  • Programming

  • Data

  • Computing Systems and Networks

What is Praxis Computer Science?

The Praxis Computer Science Exam (5652) is a comprehensive exam designed to assess the computer science knowledge and competencies necessary for a beginning teacher of secondary computer science.

Individuals entering the teaching profession take the Praxis Subject Assessments tests, including the Praxis Computer Science Exam - 5652 as part of the teacher licensing and certification process required by many states. Some professional associations and organizations require Praxis Subject Assessments as a criterion for professional licensing decisions. For more information on state requirements, please visit