FTCE-CS Preparation Course

Online PD course fully aligned to prepare CS teachers for the FTCE

CodeHS is now offering an online professional development course to help prepare teachers for the Florida Teaching Certification Examinations (FTCE) - Computer Science. The CodeHS FTCE-CS Preparation Course is the first 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:

Introduction to Programming in Java with Karel the Dog

This module introduces the basics of java commands, control structures, and problem solving by solving puzzles with Karel.

Basic Java

This module introduces 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.


This module introduces how to define methods in programs. Methods with parameters are introduced along with methods with return values. This unit also focuses on String Methods and Exceptions.

Classes and Object-Oriented Programming

This module is an introduction to the basics of Object Oriented Programming in Java, which is a powerful programming paradigm. Teachers will learn how objects store data and interact with each other in Java programs. Teachers learn how to design and implement classes and extend classes using inheritance.

Data Structures

In this module, teachers learn basic data structures in Java including arrays, ArrayLists, 2Dl arrays and HashMaps. Teachers will learn the algorithms for traversing each.

Algorithms and Recursion

In this module, teachers 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.

Debugging in Java

This unit explores the fundamental skill of funding and fixing errors in programs. Teachers will be introduced to debugging and will learn techniques for finding common code errors and effective debugging strategies.

What is Computing?

Teachers dive into the history of computing, consider how computing impacts today’s world, the future of computing, and learn about the various parts that make up modern computers.

Digital Information

Teachers learn about the various ways to represent information digitally including number systems, encoding data, programmatically creating pixel images, comparing data encodings, compressing and encrypting data.

The Internet

Teachers 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.


In this unit, teachers compare and contrast common operating systems (Windows, Linux, OS). Teachers will also explore the different types and use for different types of software applications.

IT Infrastructure

In this unit, teachers learn about the physical elements of computers and networking, such as internal computer components, peripheral devices, and storage options. Teachers will also learn about network devices, options, and communication.

Digital Citizenship & Cybersecurity

This unit includes topics on potential effects of our digital footprints and how to stay safe on the world wide web. Teachers will learn how to protect information from online risks, and how to find and cite quality resources online.

Creative Development

Topics in this unit focus on the theory and practice of user interface design. Teachers learn about what makes an engaging and accessible user interface and will employ an iterative design process including rapid prototyping and user testing.

Student Collaboration and Assessment Strategies

This unit focuses on how to incorporate collaborative programming best practices into a blended learning classroom to increase student collaboration with pair programming, student projects, ideation sessions, and white boarding. This unit also addresses assessing different types of problems, projects, and activities and how to provide constructive feedback to students.

Scratch Programming

This unit provides an introduction to programming with Scratch. Scratch is a coding language with a simple visual interface that allows young people to create digital stories, games, and animations. It is primarily a procedural programming language. The Scratch programming environment will be explored, Scratch vocabulary will be introduced, and Scratch will be used to complete a program to gain an understanding of procedural programming.

Preparing for the Exam

In this unit, tips for preparing for the exam are presented along with some quizlets that can be used to practice taking the exam.

Additional Practice Test

This module provides two additional practice tests that can be used to prepare for the exam.

Course Format

Our FTCE prep course is offered entirely online and is made up of a series of learning modules that cover both the basics of programming 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 Florida Teaching Certification Examinations - Computer Science.

Alex Glamyan

Theatre Director and AP CSP Teacher at Cypress Lake High School Centre for the Arts

Joseph Fernandez

Robotics Instructor at Sunlake High School

What is FTCE?

Florida Teaching Certification Examinations - Computer Science K–12 (005) is a comprehensive exam designed to demonstrate that a teacher is highly competent in teaching computer science.

In June 2019, Florida’s Governor Ron DeSantis signed a bill to invest $10 million in high schools to train more computer science teachers in Florida.

FTCE CS Competencies Covered

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

  • Computational thinking and problem solving

  • Data types and structures

  • Programming logic

  • Programming languages

  • Computer hardware, software, and networking

  • Historical aspects and social issues related to computer technologies

  • Computer science pedagogy