Press enter to see results or esc to cancel.

Resources for FTCE Computer Science K-12 Prep

Designed specifically for Florida teachers, Popfizz Computer Science worked directly with the Florida Department of Education to develop an online Florida Teacher Certification Exam preparation course. ​This course is designed to help educators prepare for the FTCE-CS K-12 Exam through step-by-step tutorials, Java coding assignments, and hundreds of exercise questions.

The comprehensive 40+ hour self-paced course is:
• Reviewed by the Florida Department of Education 
• 100% Aligned with FTCE Competencies

Additional resources to help you succeed include an online community forum and one-on-one support scheduled at your convenience.

1Unit 1 – About the FTCE Exam
2Unit 2 – Competency 1. Knowledge of computational thinking and problem solving
3Unit 3 – Competency 2,3,4. Primitive Types
4Unit 4 – Competency 2,3,4. Using Objects
5Unit 5 – Competency 2,3,4. Boolean Expressions
6Unit 6 – Competency 2,3,4. Iteration
7Unit 7 – Competency 2,3,4. Writing Classes
8Unit 8 – Competency 2,3,4. Arrays
9Unit 9 – Competency 2,3,4. Inheritance and Polymorphism
10Unit 10 – Competency 2,3,4. Recursion
11Unit 11 – Competency 5. Knowledge of computer hardware, software, and networking
12Unit 12 – Competency 6. Knowledge of the historical aspects and social issues related to computer technologies
13Unit 13 – Competency 7. Knowledge of computer science pedagogy
14Unit 14 – Practice Questions

About FTCE Computer Science K-12 Exam

Test Topics:

Competency 1—Knowledge of computational thinking and problem solving
  1. Analyze a problem and apply appropriate solution strategies.
  2. Apply the steps of algorithmic problem solving when designing solutions to problems.
  3. Apply the stages of the software development life cycle (i.e., problem definition, analysis, design, testing, implementation, maintenance).
  4. Determine and select an appropriate algorithm for a given problem.
  5. Predict outputs of algorithms for a given input.
  6. Identify an appropriate set of data necessary for testing a computer solution.
Competency 2—Knowledge of data types and structures
  1. Distinguish between constants and variables and between local and global identifiers.
  2. Distinguish between integer, real number, character, string, Boolean, and object data types.
  3. Recognize and convert between binary, decimal, and hexadecimal number systems.
  4. Identify characteristics and uses of data structures, including arrays, linked lists, stacks, queues, and sets.
  5. Distinguish between instance, class, and local variables in an object-oriented design.
  6. Identify components of class declarations for an object-oriented program and distinguish between public and private access specifiers.
Competency 3—Knowledge of programming logic
  1. Distinguish between error types (e.g., syntax, runtime, logic) and apply principles of debugging.
  2. Identify principles, characteristics, and uses of internal and external program documentation.
  3. Analyze the characteristics and functions of object-oriented and procedural languages.
  4. Select the appropriate algorithmic sequence, conditional, iteration, and recursive constructs for a given purpose.
  5. Analyze characteristics and applications of searching (i.e., sequential, binary) and sorting (i.e., selection, insertion, merge) algorithms.
  6. Analyze the characteristics and applications of propositional logic (e.g., De Morgan’s laws).
Competency 4—Knowledge of programming languages
  1. Identify characteristics and apply concepts of the Scratch™1 programming language learning environment from the MIT Media Library.
  2. Analyze segments of Java®2 code containing sequential, conditional, or iteration statements.
  3. Analyze segments of Java® code involving methods, interacting objects, or passing parameters.
  4. Apply principles of data types and data manipulation (e.g., string methods, arithmetic operations) in the Java® programming language.
  5. Apply principles of abstraction, encapsulation, inheritance, and polymorphism in the Java® programming language.
Competency 5—Knowledge of computer hardware, software, and networking
  1. Identify the hardware components of a computer system and their functions (e.g., input, output, processing, storage).
  2. Analyze the advantages, disadvantages, or both of various data storage technologies.
  3. Identify the characteristics and uses of various types of software (e.g., system, application).
  4. Apply features and functions of application and productivity software (e.g., word processing, spreadsheet, database, multimedia authoring, Web development software).
  5. Identify concepts and terminology related to networks (e.g., network protocols, Open Systems Interconnection model, client-server, cloud computing).
  6. Identify characteristics and uses of network devices (e.g., servers, routers, switches, access points, workstations).
Competency 6—Knowledge of the historical aspects and social issues related to computer technologies
  1. Identify examples of appropriate use (e.g., software license types, archival copying, fair use of copyrighted materials) and misuse (e.g., plagiarism, music and video piracy) of intellectual property.
  2. Identify milestones in the historical development of computer technology and important contributions of individuals or groups to the development of computer technology.
  3. Analyze cultural, legal, and ethical issues and responsibilities of digital citizens, organizations, and government entities (e.g., privacy issues related to Internet use, data protection).
  4. Analyze issues related to malicious software, social engineering, and security awareness.
  5. Identify concepts and terminology related to security countermeasures (e.g., firewalls, antivirus programs, filtering software, encryption) that prevent, detect, and correct breaches.
  6. Analyze security issues related to maintaining the confidentiality, integrity, and availability of information.
Competency 7—Knowledge of computer science pedagogy
  1. Apply appropriate and effective classroom management strategies for teaching computer science (e.g., laboratory work, cooperative learning, electronic communications).
  2. Apply appropriate and effective instructional strategies for teaching computer science (e.g., independent learning, case studies, role-playing, manipulatives, visualizations, simulations, modeling, team software development).
  3. Apply appropriate and effective formative and summative assessment strategies for teaching computer science (e.g., rubrics, portfolios).
  4. Apply appropriate and effective accommodations, adaptations, and strategies that ensure the equitable use of technology for diverse student populations (e.g., students with exceptionalities, English language learners, students from various socioeconomic levels).
  5. Determine characteristics and apply uses of instructional technologies (e.g., collaborative online tools, social networking, computer-based learning, mobile devices).
  6. Recognize opportunities, skills, and paths related to college and career readiness in the field of computer science.
  7. Apply practices for planning and developing curricula that meet state and national standards and recognize resources for ongoing professional support and development.

What our teachers say:

I passed my exam! 🙂 Your program was extremely beneficial. Extremely well done and very very helpful. I used Popfizz to teach me the computer coding I needed for my FTCE. The videos are top notch and really help me organize the information. The coding questions and problems helped me learn how to structure my thinking about each part of a code program. The explanations guided my thinking when I didn’t know the correct answer. The program is also less serious and a little more fun than some other tutorials I used. Thanks, Popfizz!

Linda Marlowe, Clay County School District

→ Learn how Popfizz FTCE CS prep course can help you study for the exam.