GACE CS Exam Prep
- Level Elementary School, Middle School, High School
- Number of Lessons 147
This is an online professional development course to help prepare teachers for the Georgia Assessments for the Certification of Educators Computer Science (GACE CS) exam. It covers 100% of the competencies designated for the exam.
To view the entire syllabus, click here or click to explore the full course.
Welcome to the CodeHS GACE Prep Course!
Welcome to the CodeHS GACE Prep Course |
Introduction to Programming in Java with Karel the Dog
Introduction to Programming With KarelIn 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 KarelStudents 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 MethodThis 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 RightStudents 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 KarelMethods 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 KarelIn 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 CodeIn 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 KarelIn 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 LoopsIn 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 KarelIn 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 StatementsIn 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 StatementsIn 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 ExampleIn 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 TestingIn 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 CodeIn 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 QuizThis 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 OrganizationHow 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.SoftwareWhat 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.HardwareWhat 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 ComputingWhere 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 ComputingWhat is Computing? Quiz |
Digital Information
What is Code?Intro to Digital InformationNumber SystemsEncoding Text with BinaryPixel ImagesHexadecimalOctal NumbersPixel ColorsData CompressionLossy CompressionCryptographyDigital Information Quiz |
Data
Getting Started with DataIn this lesson, students will learn how computers are used to collect, store, manipulate, and visualize data in order to answer questions and gain knowledge of the world.Visualizing and Interpreting DataIn this lesson, students will learn about the impact of visually representing data to make information easier to analyze and use.Using Spreadsheets with DataData Collection & LimitationsIn this lesson, students learn how computers can be used to collect and store data. They learn best practices for interpreting data that is presented. Data visualizations can be very helpful in recognizing patterns and answering questions, but can also be used to mislead if skewed or full of bias.SimulationData Quiz |
The Internet
Welcome to the InternetIn 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 HardwareIn 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 AddressesIn this lesson, students will explore how internet hardware communicates using Internet Addresses and the Internet Protocol.DNSIn this lesson, students will explore the DNS system and how it maps human readable domain names into actual accessible IP addresses.RoutingIn this lesson, students explore how messages get from one address on the internet to another.Packets and ProtocolsIn 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.CybersecurityIn this lesson, students will discuss the ways that the protocols that we have discussed can be exploited, and some methods of protection that we have. We learn about the impact of cybercrime and how we can combat cyber attacks with cybersecurity. Cryptography is the cornerstone of secure communication.The Impact of the InternetIn 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.Creative Credit & CopyrightIn this lesson, students will learn what copyright laws are and how to avoid copyright infringement. They will explore why copyright laws are important and how they protect the creators.The Internet QuizThis lesson is a summative assessment of the unit's learning objectives. |
Cybersecurity
What is Cyber?Impact of CyberThe CIA TriadPrivacy and SecurityHacking EthicsDatabasesCommon Security ProblemsEnvironmental ControlsDigital CertificatesData and LicensesCybersecurity Quiz |
Intro to System Administration
Start HereOperating Systems SoftwareComparing Operating SystemsSoftware and ApplicationsBrowser ConfigurationSystem Admin Quiz |
IT Infrastructure
Start HereInternal ComponentsPeripheral DevicesNetwork DevicesStorage OptionsNetwork OptionsNetwork CommunicationIT Infrastructure Quiz |
Creative Development
Intro to Design ThinkingPrototypeTest |
Collaboration in Computer Science
Collaboration in Computer ScienceWhiteboardingPair-ProgrammingPop CodingStorytelling through Code |
Debugging in Java
Basic Debugging in JavaDebugging ToolsDebugging TechniquesCommon Java ErrorsCommon Compiler ErrorsJava Outside of CodeHS |
Basic Java
Programming LanguagesOrganizational TechniquesPrinting in JavaVariables and TypesUser InputArithmetic ExpressionsCastingMid Unit QuizBooleansLogical OperatorsComparison OperatorsIf StatementsFor LoopsWhile LoopsNested IterationsLoop-and-a-HalfShort-Circuit EvaluationDeMorgan's LawsString TypesBasic Java Quiz |
Methods
Java MethodsMethods and ParametersMethods and Return ValuesString MethodsExceptionsMethods Quiz |
Classes and Object-Oriented Programming
Intro to Classes and ObjectsClasses vs. ObjectsUsing a Class as a ClientWriting ClassesWriting Classes and Instance MethodsGetter and Setter MethodsMethod OverloadingLocal Variables and ScopeKey Terms for ClassesObjects vs. PrimitivesInheritanceClasses and OOP Quiz |
Data Structures
What are Data StructuresIntroduction to ArraysUsing Arrays2D ArraysTraversing 2D ArraysHashMaps, Stacks, and QueuesData 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 SearchIn 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 SearchIn 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 SortIn 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 SortStudent 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.RecursionIn 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.MergesortStudents 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 AnalysisRandom and Pseudorandom NumbersAlgorithms and Recursion QuizThis lesson is a summative assessment of the unit's learning objectives. |
Preparing for the Exam
Mock ExamCompetency/Standard-Based QuizzesFlashcards - Quizlets |
Final Task
Congratulations! |
GACE CS Exam Prep is aligned with the following standards
Standards Framework | View Alignment |
---|---|
Georgia Assessments for the Certification of Educators | View (100%) |