| Activity | Points | Item Type |
|---|---|---|
| Data Structures | ||
| 1.1 What are Data Structures? | Lesson | |
| 1.1.1 What are Data Structures? | 1 | Video |
| 1.1.2 Quiz: Data Structures | 1 | Quiz |
| 1.1.3 Data Structures Everywhere | 4 | Free Response |
| 1.2 Introduction to Arrays | Lesson | |
| 1.2.1 Introduction to Arrays | 1 | Video |
| 1.2.2 Quiz: Arrays | 1 | Quiz |
| 1.2.3 Making an Array | 1 | Example |
| 1.2.4 Make an Empty Array | 1 | Example |
| 1.2.5 Indexing Into an Array | 1 | Example |
| 1.2.6 Our First Array | 5 | Exercise |
| 1.2.7 Array Length | 5 | Practice |
| 1.2.8 Last Element in Array | 5 | Practice |
| 1.3 Using Arrays | Lesson | |
| 1.3.1 Using Arrays | 1 | Video |
| 1.3.2 Quiz: Using Arrays | 1 | Quiz |
| 1.3.3 Iterating Over an Array | 1 | Example |
| 1.3.4 Sum Array | 1 | Example |
| 1.3.5 Array Out of Bounds | 1 | Example |
| 1.3.6 Print Array | 5 | Exercise |
| 1.3.7 Print Odd Array Indices | 5 | Exercise |
| 1.3.8 Find the Minimum Index | 5 | Practice |
| 1.3.9 Classroom Example | 1 | Example |
| 1.3.10 Exam Scores | 1 | Example |
| 1.3.11 Array References | 1 | Example |
| 1.3.12 Find the Median | 5 | Practice |
| 1.3.13 Top Student | 5 | Exercise |
| 1.4 ArrayList Methods | Lesson | |
| 1.4.1 ArrayLists | 1 | Video |
| 1.4.2 Quiz: ArrayList | 1 | Quiz |
| 1.4.3 Hello World ArrayList | 1 | Example |
| 1.4.4 ArrayList and Java Primitives | 1 | Example |
| 1.4.5 ArrayList Size Method | 1 | Example |
| 1.4.6 Get First Element | 5 | Exercise |
| 1.4.7 Reading List | 1 | Example |
| 1.4.8 Texting in Class | 1 | Example |
| 1.4.9 Road Trip! | 5 | Exercise |
| 1.5 Arrays vs ArrayLists | Lesson | |
| 1.5.1 Arrays vs ArrayLists | 1 | Video |
| 1.5.2 Quiz: Arrays vs ArrayList | 1 | Quiz |
| 1.5.3 Expanding Array | 1 | Example |
| 1.5.4 Improving Expanding Array | 5 | Exercise |
| 1.5.5 Array vs ArrayList | 1 | Example |
| 1.6 The List Interface | Lesson | |
| 1.6.1 The List Interface | 1 | Video |
| 1.6.2 The List Interface Quiz | 1 | Quiz |
| 1.6.3 Reverse the List | 1 | Example |
| 1.6.4 Summer Reading | 7 | Practice |
| 1.7 2D Arrays (Matrices or Grids) | Lesson | |
| 1.7.1 2D Arrays | 1 | Video |
| 1.7.2 Quiz: 2D Arrays | 1 | Quiz |
| 1.7.3 Nested Loops | 1 | Example |
| 1.7.4 Ice Cream Combos | 5 | Practice |
| 1.7.5 First 2D Array | 1 | Example |
| 1.7.6 Initializing a 2D Array | 1 | Example |
| 1.7.7 The Matrix | 1 | Example |
| 1.7.8 Sum Rows in a Matrix | 7 | Practice |
| 1.8 HashMaps | Lesson | |
| 1.8.1 HashMaps | 1 | Video |
| 1.8.2 Quiz: HashMaps | 1 | Quiz |
| 1.8.3 The Phonebook | 1 | Example |
| 1.8.4 Word Counts | 10 | Exercise |
| 1.9 Binary | Lesson | |
| 1.9.1 Number Systems | 1 | Video |
| 1.9.2 Number Systems Quiz | 3 | Quiz |
| 1.9.3 Converting Octal to Decimal | 1 | Example |
| 1.9.4 Converting Binary to Decimal | 7 | Practice |
| 1.9.5 Using Binary | 1 | Video |
| 1.9.6 Using Binary Quiz | 2 | Quiz |
| 1.9.7 Integer Limits | 1 | Example |
| 1.9.8 Binary Translator | 7 | Practice |
| 1.10 Writing BlackJack | Lesson | |
| 1.10.1 The Card Class | 1 | Video |
| 1.10.2 The Card Class | 1 | Example |
| 1.10.3 The Deck Class | 1 | Video |
| 1.10.4 The Deck Class | 1 | Example |
| 1.10.5 The Hand Class | 1 | Video |
| 1.10.6 The Hand Class | 1 | Example |
| 1.10.7 The Blackjack Class | 1 | Video |
| 1.10.8 The Blackjack Game | 1 | Example |
| 1.10.9 Improving Blackjack | 10 | Exercise |
| 1.10.10 Data Structures Exercises Badge | 1 | Badge |
| 1.11 Battleship | Lesson | |
| 1.11.1 Battleship Demo | 1 | Video |
| 1.11.2 Battleship Part 1: The Ship Class | 5 | Exercise |
| 1.11.3 Battleship Part 2: The Location Class | 5 | Exercise |
| 1.11.4 Battleship Part 3: The Grid Class | 7 | Exercise |
| 1.11.5 Battleship Part 4: Adding a Ship to the Grid | 6 | Exercise |
| 1.11.6 Battleship Part 5: The Player Class | 5 | Exercise |
| 1.11.7 Battleship Part 6: The Battleship Class | 5 | Exercise |
| 1.11.8 Battleship Part 7: Finishing the Game | 10 | Exercise |
| 1.11.9 Battleship Extensions | 7 | Exercise |
| 1.11.10 Battleship Badge | 1 | Badge |
| 1.12 Unit Quiz | Lesson | |
| 1.12.1 Unit 5 - Data Structures | 23 | Quiz |
| Final Project | ||
| 2.1 Final Project | Lesson | |
| 2.1.1 Brainstorm | 5 | Free Response |
| 2.1.2 Milestones | 5 | Free Response |
| 2.1.3 Final Project | 10 | Exercise |
| 2.1.4 Final Project Badge | 1 | Badge |
| 2.2 Intro Java Completed | Lesson | |
| 2.2.1 Intro Java Badge | 1 | Badge |
| Algorithms and Recursion | ||
| 3.1 What is an Algorithm? | Lesson | |
| 3.1.1 What is an Algorithm? | 1 | Video |
| 3.1.2 Every Day Algorithms | 5 | Free Response |
| 3.2 Linear Search | Lesson | |
| 3.2.1 Linear Search | 1 | Video |
| 3.2.2 Linear Search | 1 | Example |
| 3.2.3 Linear Search on ArrayList | 5 | Practice |
| 3.2.4 Gradebook FRQ | 1 | Resource |
| 3.3 Binary Search | Lesson | |
| 3.3.1 Binary Search | 1 | Video |
| 3.3.2 Binary Search | 2 | Check for Understanding |
| 3.3.3 Binary Search | 1 | Example |
| 3.3.4 Comparing Binary Search and Linear Search | 5 | Exercise |
| 3.3.5 Binary Search Badge | 1 | Badge |
| 3.4 Selection Sort | Lesson | |
| 3.4.1 Selection Sort | 1 | Video |
| 3.4.2 Selection Sort | 1 | Check for Understanding |
| 3.4.3 Selection Sort | 1 | Example |
| 3.4.4 Visualizing Algorithms | 1 | Example |
| 3.4.5 Explore Selection Sort | 5 | Exercise |
| 3.5 Insertion Sort | Lesson | |
| 3.5.1 Insertion Sort | 1 | Video |
| 3.5.2 Insertion Sort | 1 | Check for Understanding |
| 3.5.3 Visualizing Algorithms | 1 | Example |
| 3.5.4 Insertion Sort | 1 | Example |
| 3.5.5 Explore Insertion Sort | 5 | Exercise |
| 3.6 Advanced: Recursion | Lesson | |
| 3.6.1 Recursion | 1 | Video |
| 3.6.2 Factorial | 1 | Example |
| 3.6.3 Factorial Unit Test Example | 5 | Practice |
| 3.6.4 Recursion Walkthrough | 5 | Video |
| 3.6.5 Recursion Example | 5 | Example |
| 3.6.6 Recursive Binary Search | 5 | Example |
| 3.6.7 Fibonacci Recursive | 1 | Example |
| 3.6.8 Bacteria Cultures | 10 | Practice |
| 3.6.9 Recursive Minimum | 10 | Practice |
| 3.7 Mergesort | Lesson | |
| 3.7.1 Mergesort | 1 | Video |
| 3.7.2 Visualizing Algorithms | 1 | Example |
| 3.7.3 Merge Sort | 1 | Example |
| 3.7.4 Explore Merge Sort | 5 | Exercise |
| 3.7.5 Algorithms Badge | 1 | Badge |
| 3.8 Informal Code Analysis | Lesson | |
| 3.8.1 Informal Code Analysis | 1 | Video |
| 3.8.2 Informal Code Analysis | 7 | Check for Understanding |
| 3.8.3 Loop Execution Count | 1 | Example |
| 3.8.4 While Loop Time | 1 | Example |
| 3.8.5 For Loop Time | 1 | Example |
| 3.8.6 Time Comparisons | 5 | Free Response |
| 3.8.7 Improving isChar Speed | 5 | Exercise |
| 3.8.8 Improving isChar Speed Check | 1 | Example |
| 3.8.9 isChar Speed Reflection | 5 | Free Response |
| 3.9 Algorithms and Recursion Quiz | Lesson | |
| 3.9.1 Algorithms and Recursion Quiz | 19 | Unit Quiz |
| Project: Pokemon Simulation | ||
| 4.1 Pokemon Simulation | Lesson | |
| 4.1.1 Pokemon Demo | 1 | Video |
| 4.1.2 The Move Class | 10 | Challenge |
| 4.1.3 The Pokemon Class | 10 | Challenge |
| 4.1.4 Adding Pokemon Images | 10 | Challenge |
| 4.1.5 Pokemon can Attack! | 10 | Challenge |
| 4.1.6 The PokemonTrainer Class | 10 | Challenge |
| 4.1.7 The PokemonSimulation Class | 10 | Challenge |
| 4.1.8 Finishing the Battle | 10 | Challenge |
| 4.1.9 Adding the ComputerTrainer | 10 | Challenge |
| 4.1.10 Pokemon Extensions | 10 | Challenge |
| 4.1.11 Pokemon Badge | 0 | Badge |
| Project: Mad Libs | ||
| 5.1 Mad Libs | Lesson | |
| 5.1.1 Mad Libs Demo | 1 | Video |
| 5.1.2 Collecting the Placeholders | 10 | Challenge |
| 5.1.3 Getting User Input | 10 | Challenge |
| 5.1.4 Replacing a Placeholder | 10 | Challenge |
| 5.1.5 Generating the Mad Lib | 10 | Challenge |
| 5.1.6 Write your own Mad Lib! | 10 | Challenge |
| 5.1.7 Mad Lib Extensions | 10 | Challenge |
| Java Outside of CodeHS | ||
| 6.1 Java Outside of CodeHS | Lesson | |
| 6.1.1 Java Outside of CodeHS | 1 | Video |
| 6.1.2 Hello World in Eclipse | 1 | Video |
| 6.1.3 Hello World in BlueJ | 1 | Video |
| 6.1.4 Hello World in Terminal | 1 | Video |
| 6.1.5 Java main vs run | 1 | Video |
| 6.1.6 Using the main Method in Eclipse | 1 | Video |
| 6.1.7 Using the main Method in BlueJ | 1 | Video |
| 6.1.8 Using the main Method in the Terminal | 1 | Video |
| 6.1.9 Hello World with main Method | 1 | Example |
| 6.1.10 Getting User Input | 1 | Video |
| 6.1.11 Using Scanner for Input | 1 | Example |
| Project: Quiz Creation | ||
| 7.1 Quiz Creation | Lesson | |
| 7.1.1 Quiz Demo | 1 | Video |
| 7.1.2 The Question Class | 10 | Challenge |
| 7.1.3 Question toString | 10 | Challenge |
| 7.1.4 The Quiz Class | 10 | Challenge |
| 7.1.5 Using the QuizFileReader Class | 10 | Challenge |
| 7.1.6 Constructing Quizzes from Files | 10 | Challenge |
| 7.1.7 The QuizRunner Class | 10 | Challenge |
| 7.1.8 Write your own Quiz! | 10 | Challenge |
| 7.1.9 Quiz Extensions | 10 | Challenge |
| Computer Ethics | ||
| 8.1 Computer Ethics | Lesson | |
| 8.1.1 Student Honor Code | 0 | Resource |
| 8.1.2 Computing Ethics | 0 | Resource |
| 8.1.3 Self Driving Cars | 5 | Free Response |
| Java Pretest | ||
| 9.1 Java Pretest | Lesson | |
| 9.1.1 About the Pretest | 1 | Notes |
| 9.1.2 Mindsets | 0 | Survey |
| 9.1.3 Knowledge & Skills: Java | 15 | Quiz |
| Java Posttest | ||
| 10.1 Java Posttest | Lesson | |
| 10.1.1 About the Posttest | 1 | Notes |
| 10.1.2 Mindsets | 0 | Survey |
| 10.1.3 Java Knowledge & Skills | 15 | Quiz |
Sign up for a free teacher account to get access to curriculum, teacher tools and teacher resources.
Teacher SignupSign up as a student if you are in a school and have a class code given to you by your teacher.
Student Signup