Please enable JavaScript to use CodeHS

FTCE CS Exam Prep

This is an online professional development course to help prepare teachers for the Florida Teaching Certification Examinations (FTCE) - Computer Science. It covers 100% of the competencies designated for the exam.

Overview & Highlights

Level
Elementary School, Middle School, High School
Number of Lessons
137

Overview of Lessons

To view the entire syllabus, click here or click to explore the full course.

Welcome to the CodeHS FTCE Prep Course!

Welcome to the CodeHS FTCE Prep Course

Introduction to Programming in Java with Karel the Dog

Introduction to Programming With Karel

In this lesson, students are introduced to CodeHS and how Karel the Dog can be given a set of instructions to perform a simple task.

More Basic Karel

Students learn more about Karel and Karel's world. Students learn about walls in Karel's world, the directions Karel can face, and how to identify a location in Karel's world using streets and avenues. In these exercises, students will begin to see the limitations of Karel's commands. Students will need to apply Karel's limited set of commands to new situations. For example, how can we make Karel turn right, even though Karel does not know a turnRight command?

Java Programs and the Run Method

This lesson introduces the run method, which is the place where the program starts running. Students will also learn to write full java program, instead of just writing commands. In the the program below, SquareKarel is the name of the class. When we say extend Karel, it means this is a Karel program like the ones we have already written. ``` public class SquareKarel extends Karel { public void run() { putBall(); move(); turnLeft(); } ```

Karel Can't Turn Right

Students will learn how they can create their own commands for Karel by calling and defining methods. Methods allow programmers to create and reuse new commands that make code more readable and scalable.

Methods in Karel

Methods are used to teach Karel a word or command. Using methods allows students to break down their programs into smaller pieces and make it easier to understand.

Top Down Design and Decomposition in Karel

In this lesson, students learn about Top Down Design and Decomposition. Top Down Design is the process of breaking down a big problem into smaller parts.

Commenting Your Code

In this lesson, students learn how to style their programs by including comments. Comments allow students to leave notes on their program that makes it easier for other to read. Comments are written in plain English. Commenting Your Code Example: ``` /* * multi-line comments */ // single line comments ```

Super Karel

In this lesson, students are introduced to Super Karel! Since commands like `turnRight()` and `turnAround()` are so commonly used, students shouldn't have to define them in every single program. This is where SuperKarel comes in. SuperKarel is just like Karel, except SuperKarel already knows how to turnRight and turnAround, so students don't have to define those methods anymore. To use SuperKarel instead of Karel, the class that students write extends SuperKarel instead of Karel: ``` public class MyProgram extends SuperKarel { } ```

For Loops

In this lesson students learn how to use for loops in their programs. The for loop allows students to repeat a specific part of code a fixed number of times. For loops are written like this: ``` for(int i = 0; i < 4; i++) { // Code to be repeated 4 times } ```

While Loops in Karel

In this lesson, students are introduced a new type of loop: while loops. While loops allow Karel to repeat code *while* a certain condition is true. While loops allow students to create general solutions to problems that will work on multiple Karel worlds, rather than just one.

If Statements

In this lesson, students learn about the conditional statement "if". Code within an "if statement" will only execute IF the condition is true. ``` if (frontIsClear()) { // Code to be executed only if front is clear } ```

If/Else Statements

In this lesson we take a look at more conditional statements, more specifically if/else statements. If/else statements let us do one thing if a condition is true, and something else otherwise. We write if/else statements like this: ``` if(frontIsClear()) { // code to execute if front is clear } else { // code to execute otherwise } ```

Control Structures Example

In this lesson we take a look at control structures. Some control structures allow us to ask questions: if, if / else statements. Other control structures allow us to repeat code like for loops and while loops. Basically, control structures allow us to control the way the commands execute.

More Karel Examples and Testing

In this lesson, we review more lesson in Karel and get extra practice with control structures. Students will continue to see different ways that the if, if/else, while, and for loops affect their code and what Karel can do.

How to Indent Your Code

In this lesson, we review how student should indent their code to make it easier to read. Indenting helps to show the structure of the code.

Unit 1 Quiz

This lesson is a summative assessment of the unit's learning objectives.
What is Computing?

History of Computers

*When was the first computer made? What did it look like, and what was it used for?* In this lesson, students will explore the creation and evolution of computing machines that now permeate our day-to-day life. **Note:** This course was updated on October 7, 2020. You can find the original material in the Supplemental Module titled "Original Material: What is Computing?"

Computer Organization

How are computers organized? What are the main components of a computer? In this lesson, we will explore how different organizational structures of computers interact with each other to make computers functional.

Software

What kinds of software do computers use and need? In this lesson, the topic of software is broken down into types of software, how they interact, and the specific functions of the different types of software.

Hardware

What is hardware? How does hardware work? In this lesson, hardware is broken down into the different physical components of computers and how they contribute to the function of the computer as a whole.

Future of Computing

Where is computing headed? What is Artificial Intelligence and what are the potential impacts that this might have on our world? In this lesson, students learn about Artificial Intelligence and how the landscape of computing might change in the future. Students will discuss how these future developments might impact our society.

Ethical and Social Implications of Computing

What is Computing? Quiz

Digital Information

What is Code?

Intro to Digital Information

Number Systems

Encoding Text with Binary

Hexadecimal

Pixel Colors

Digital Information Quiz

The Internet

Welcome to the Internet

In this lesson, students will have a high-level discussion about what the internet is and how the internet works. The topics of anonymity and censorship will also be discussed.

Internet Hardware

In this lesson, we explore the hardware that makes up the internet and explore characteristics of that hardware that define our experience on the internet.

Internet Addresses

In this lesson, students will explore how internet hardware communicates using Internet Addresses and the Internet Protocol.

DNS

In this lesson, students will explore the DNS system and how it maps human readable domain names into actual accessible IP addresses.

Routing

In this lesson, students explore how messages get from one address on the internet to another.

Packets and Protocols

In this lesson, students learn about the last piece of the puzzle for how the Internet works: Packets and Protocols. All information sent over the internet is broken down into small groups of bits called packets. The format for creating and reading packets is defined by open protocols so that all devices can read packets from all other devices.

The Impact of the Internet

In this lesson, students are presented with different ways that the Internet impacts their lives. The Internet affects the way that people communicate (emails, social media, video chat) and collaborate to solve problems. It has revolutionized the way that people can learn and even buy things. Because the Internet is present in almost every facet of people's lives, there are severe ethical and legal concerns that derive from the Internet.

The Internet Quiz

This lesson is a summative assessment of the unit's learning objectives.
Software

Operating Systems Software

Software and Applications

IT Infrastructure

Start Here

Internal Components

Peripheral Devices

Network Devices

Storage Options

Network Options

Network Communication

IT Infrastructure Quiz

Cybersecurity and You

Digital Footprint and Responsibility

In this lesson, students explore the impacts of being online. Students reflect on social media use and their digital footprint as well as learn how to identify and respond to cyberbullying.

Personal Data and Collection

In this lesson, students explore the complex world of data collection. Students learn about the types of data that companies collect and what they do with it. Students also consider the ethics of data collection by working through a scenario about location tracking in school. Lastly, students learn about privacy within the context of law.

Cyber Ethics and Laws

By the end of this lesson, students should have a better understanding of cyberethics, responsible internet use, and the impact of copyright and licenses on the digital world. They should also be more aware of the potential consequences of unethical online behavior.

Personal Data Security

In this lesson, students learn about the importance of personal data security and explore different forms of authentication and browser security settings. Students then consider the tradeoffs between ease of use and security when implementing different authentication methods.

Cybersecurity Essentials

In this lesson, students are introduced to the core concepts of cybersecurity, focusing on the importance of protecting information and devices in the digital world. Students will explore key vocabulary terms, security frameworks, and the potential risks associated with the Internet of Things (IoT).

Common Cyber Attacks and Prevention

In this lesson, students will learn how to navigate the digital world safely by understanding common cyber threats and implementing protective measures. Through interactive activities and creative storytelling, students will explore various cyberattacks, their consequences, and strategies for defense. This awareness will empower them to make responsible choices online and protect themselves from cybercrime.

Cybersecurity and You Quiz

In this lesson, students complete a summative assessment of the module's learning objectives.
Creative Development

Intro to Design Thinking

Prototype

Test

Collaboration in Computer Science and Assessment Strategies

Collaboration in Computer Science

Collaboration Strategies

Assessing Student Mastery

Assessing with Rubrics

Inclusive Strategies and Career Readiness in Computer Science

Inclusive Instructional Strategies

Career Readiness

Scratch

An Introduction to Scratch

Building Your First Scratch Project

Event-Driven Programming

Scratch Quiz

Debugging in Java

Basic Debugging in Java

Debugging Tools

Debugging Techniques

Common Java Errors

Common Compiler Errors

Java Outside of CodeHS

Basic Java

Programming Languages

Organizational Techniques

Printing in Java

Variables and Types

User Input

Arithmetic Expressions

Casting

Mid Unit Quiz

Booleans

Logical Operators

Comparison Operators

If Statements

For Loops

While Loops

Nested Iterations

Loop-and-a-Half

Short-Circuit Evaluation

DeMorgan's Laws

String Types

Basic Java Quiz

Methods

Java Methods

Methods and Parameters

Methods and Return Values

Javadocs & More Methods

String Methods

Exceptions

Methods Quiz

Classes and Object-Oriented Programming

Intro to Classes and Objects

Classes vs. Objects

Using a Class as a Client

Writing Classes

Writing Classes and Instance Methods

Getter and Setter Methods

Class Methods and Class Variables

Method Overloading

Local Variables and Scope

Key Terms for Classes

Objects vs. Primitives

Inheritance

Polymorphism

Classes and OOP Quiz

Data Structures

What are Data Structures

Introduction to Arrays

Using Arrays

Enhanced for Loops

2D Arrays

Traversing 2D Arrays

HashMaps, Stacks, and Queues

Data Structures Quiz

Algorithms and Recursion

What is an Algorithm?

In this lesson, students will learn about the basics of algorithms, how they are used in programming, and how algorithms exist in their daily life outside of computer science.

Linear Search

In this lesson, students are exposed to the first classic Search algorithm, Linear Search. Students will learn how to code Linear Search, and understand the use and limitation of this algorithm.

Binary Search

In this lesson, students learn another algorithm for searching, Binary Search. Students will compare Binary Search to Linear Search, and discuss the reasons why they might need multiple ways to search a list.

Selection Sort

In this lesson, students learn the basics of sorting. As learned in the previous lesson, Binary Search is a useful search method, but it's limited by the fact that the lists it searches need to be sorted. In this lesson, students learn that Selection Sort is one way they can sort lists in order to effectively use Binary Search.

Insertion Sort

Student learn a new sorting method, Insertion Sort. As learned in the previous lesson, Binary Search is a useful search method, but it's limited by the fact that the lists it searches need to be sorted. In this lesson, students learn that Insertion Sort is another way they can sort lists in order to effectively use Binary Search.

Recursion

In this lesson, student learn the concept of recursion. Recursion is the idea that functions can call themselves *within* the function. This creates an iterative process that allows functions to iterate without using for or while loops, but only conditional statements. Students will practice using recursion, and model it with real world scenarios.

Mergesort

Students will learn about a third sorting algorithm, Merge sort. Merge sort uses recursion to break down lists into sublists, and sorts those sublists until the entire list is sorted. Students will compare Merge sort to other sorting methods that they've learned.

Informal Code Analysis

Algorithms and Recursion Quiz

This lesson is a summative assessment of the unit's learning objectives.
Preparing for the Exam

Mock Exam

Competency/Standard-Based Quizzes

Flashcards - Quizlets

Final Task

Congratulations!

140
Videos
88
Exercises
85
Offline Handouts

Standards

FTCE CS Exam Prep is aligned with the following standards

Standards Framework View Alignment
Florida Teacher Certification Exam View (100%)