Activity | Points | Item Type |
---|---|---|
Introduction to Programming in Java with Karel the Dog | ||
1.1 Introduction to Programming With Karel | Lesson | |
1.1.1 Introduction to Programming With Karel | 1 | Video |
1.1.2 Quiz: Karel Commands | 1 | Check for Understanding |
1.1.3 Our First Karel Program | 1 | Example |
1.1.4 Your First Karel Program | 5 | Exercise |
1.1.5 Short Stack | 5 | Exercise |
1.2 More Basic Karel | Lesson | |
1.2.1 More Basic Karel | 1 | Video |
1.2.2 More Basic Karel | 2 | Check for Understanding |
1.2.3 Tennis Ball Square | 1 | Example |
1.2.4 Make a Tower | 5 | Exercise |
1.2.5 Pyramid of Karel | 5 | Exercise |
1.3 Java Programs and the Run Method | Lesson | |
1.3.1 Writing a Java Program | 1 | Video |
1.3.2 Run Method | 2 | Check for Understanding |
1.3.3 Square Karel | 1 | Example |
1.3.4 Tower Karel | 5 | Exercise |
1.3.5 Gold Medal Karel | 5 | Exercise |
1.3.6 Maze Karel | 5 | Exercise |
1.4 Karel Can't Turn Right | Lesson | |
1.4.1 Karel Can't Turn Right | 1 | Video |
1.4.2 Karel Can't Turn Right | 2 | Check for Understanding |
1.4.3 Tower and Turn Right | 1 | Example |
1.4.4 Slide Karel | 5 | Exercise |
1.4.5 Fireman Karel | 5 | Exercise |
1.4.6 Right Turn Karel Badge | 1 | Badge |
1.5 Methods in Karel | Lesson | |
1.5.1 Methods in Karel | 1 | Video |
1.5.2 Methods in Karel | 1 | Check for Understanding |
1.5.3 Turn Around | 1 | Example |
1.5.4 Planting Bushes | 5 | Exercise |
1.5.5 Mario Karel | 5 | Exercise |
1.6 Top Down Design and Decomposition in Karel | Lesson | |
1.6.1 Top Down Design and Decomposition in Karel | 1 | Video |
1.6.2 Top Down Design and Decomposition | 2 | Check for Understanding |
1.6.3 Hurdle Karel | 1 | Example |
1.6.4 The Two Towers | 5 | Exercise |
1.6.5 Planting Flowers | 5 | Exercise |
1.7 Commenting Your Code | Lesson | |
1.7.1 Commenting Your Code | 1 | Video |
1.7.2 Commenting Your Code | 1 | Check for Understanding |
1.7.3 Hurdle Karel (Comments) | 1 | Example |
1.7.4 The Two Towers + Comments | 5 | Exercise |
1.8 Super Karel | Lesson | |
1.8.1 Super Karel | 1 | Video |
1.8.2 Super Karel | 2 | Check for Understanding |
1.8.3 Hurdle Karel (with SuperKarel) | 1 | Example |
1.8.4 The Two Towers + SuperKarel | 5 | Exercise |
1.8.5 Super Karel Badge | 1 | Badge |
1.9 For Loops | Lesson | |
1.9.1 For Loops | 1 | Video |
1.9.2 For Loops | 2 | Check for Understanding |
1.9.3 Repeated Move | 1 | Example |
1.9.4 Put Down Tennis Balls | 1 | Example |
1.9.5 Marathon Karel | 5 | Exercise |
1.9.6 Take 'em All | 5 | Exercise |
1.9.7 Dizzy Karel | 5 | Exercise |
1.9.8 For Loop Square | 5 | Exercise |
1.9.9 Planting Flowers | 5 | Exercise |
1.9.10 Lots of Hurdles | 5 | Exercise |
1.10 While Loops in Karel | Lesson | |
1.10.1 While Loops in Karel | 1 | Video |
1.10.2 While Loops in Karel | 2 | Check for Understanding |
1.10.3 Move to Wall | 1 | Example |
1.10.4 Follow The Yellow Ball Road | 5 | Exercise |
1.10.5 Just Keep Spinning | 5 | Exercise |
1.10.6 Lay Row of Tennis Balls | 5 | Exercise |
1.10.7 Big Tower | 5 | Exercise |
1.11 If Statements | Lesson | |
1.11.1 If Statements | 1 | Video |
1.11.2 If Statements Quiz | 2 | Check for Understanding |
1.11.3 If Statements | 1 | Example |
1.11.4 Safe Take Ball | 1 | Example |
1.11.5 Is There a Ball? | 5 | Exercise |
1.12 If/Else Statements | Lesson | |
1.12.1 If/Else Statements | 1 | Video |
1.12.2 If/Else Statements | 2 | Check for Understanding |
1.12.3 Flip Karel | 1 | Example |
1.12.4 Fix It Karel | 5 | Exercise |
1.12.5 Invert | 5 | Exercise |
1.12.6 Conditional Karel Badge | 1 | Badge |
1.13 Control Structures Example | Lesson | |
1.13.1 Control Structures Example | 1 | Video |
1.13.2 Control Structures Example | 2 | Check for Understanding |
1.13.3 Cleanup Karel | 1 | Example |
1.13.4 Random Hurdles | 5 | Exercise |
1.13.5 Fix It Karel | 5 | Exercise |
1.14 More Karel Examples and Testing | Lesson | |
1.14.1 More Karel Examples and Testing | 1 | Video |
1.14.2 Move Tennis Ball Stack | 1 | Example |
1.14.3 Climbing Karel | 1 | Example |
1.15 How to Indent Your Code | Lesson | |
1.15.1 How to Indent Your Code | 1 | Video |
1.15.2 How to Indent Your Code | 2 | Check for Understanding |
1.15.3 Dance and Clean Karel | 1 | Example |
1.15.4 Diagonal | 5 | Exercise |
1.15.5 Staircase | 5 | Exercise |
1.15.6 Karel Exercises Badge | 1 | Badge |
1.16 Karel Challenges | Lesson | |
1.16.1 Fetch | 10 | Challenge |
1.16.2 Racing Karel | 10 | Challenge |
1.16.3 Tower Builder | 10 | Challenge |
1.16.4 Super Cleanup Karel | 10 | Challenge |
1.16.5 Double Tennis Balls | 10 | Challenge |
1.16.6 Midpoint Karel | 10 | Challenge |
1.16.7 Karel Challenges Badge | 1 | Badge |
1.17 Introduction to Programming in Java Quiz | Lesson | |
1.17.1 Introduction to Programming in Java Quiz Unit 1 | 25 | Unit Quiz |
Basic Java | ||
2.1 Printing in Java | Lesson | |
2.1.1 Printing in Java | 1 | Video |
2.1.2 Printing in Java | 2 | Check for Understanding |
2.1.3 Hello world | 1 | Example |
2.1.4 Printing Multiple Lines | 1 | Example |
2.1.5 Welcome Program | 5 | Exercise |
2.1.6 ASCII Art | 5 | Exercise |
2.2 Variables and Types | Lesson | |
2.2.1 Variables and Types | 1 | Video |
2.2.2 Variables and Types | 2 | Check for Understanding |
2.2.3 Variables | 1 | Example |
2.2.4 Our First Integer | 5 | Exercise |
2.2.5 Answering Questions | 5 | Exercise |
2.3 User Input | Lesson | |
2.3.1 User Input | 1 | Video |
2.3.2 User Input | 2 | Check for Understanding |
2.3.3 UserInput | 1 | Example |
2.3.4 About You | 5 | Exercise |
2.3.5 Poetry | 5 | Exercise |
2.3.6 User Input Badge | 1 | Badge |
2.4 Arithmetic Expressions | Lesson | |
2.4.1 Arithmetic Expressions | 1 | Video |
2.4.2 Arithmetic Expressions | 2 | Check for Understanding |
2.4.3 Calculator | 1 | Example |
2.4.4 Tricky Java | 1 | Example |
2.4.5 Weight of a Pyramid | 5 | Exercise |
2.4.6 Add Fractions | 5 | Exercise |
2.5 Casting | Lesson | |
2.5.1 Casting | 1 | Video |
2.5.2 Casting | 2 | Check for Understanding |
2.5.3 Casting | 1 | Example |
2.5.4 Casting to an Int | 5 | Exercise |
2.5.5 Casting to a Double | 5 | Exercise |
2.5.6 Casting Order of Operations | 1 | Example |
2.5.7 Rounding using Casting | 1 | Example |
2.5.8 Movie Ratings | 5 | Exercise |
2.6 Booleans | Lesson | |
2.6.1 Booleans | 1 | Video |
2.6.2 Booleans | 2 | Check for Understanding |
2.6.3 Boolean Example | 1 | Example |
2.6.4 Ice Cream | 5 | Exercise |
2.6.5 Booleans Badge | 1 | Badge |
2.7 Logical Operators | Lesson | |
2.7.1 Logical Operators | 1 | Video |
2.7.2 Logical Operators | 2 | Check for Understanding |
2.7.3 Light Switch | 1 | Example |
2.7.4 Roller Coaster | 5 | Exercise |
2.8 Comparison Operators | Lesson | |
2.8.1 Comparison Operators | 1 | Video |
2.8.2 Comparison Operators | 2 | Check for Understanding |
2.8.3 Grade Range | 1 | Example |
2.8.4 Triple Double | 5 | Exercise |
2.9 For Loops | Lesson | |
2.9.1 For Loops | 1 | Video |
2.9.2 For Loops | 3 | Check for Understanding |
2.9.3 The For Loop | 1 | Example |
2.9.4 Repeat 1000 Times | 5 | Exercise |
2.9.5 General For Loop | 1 | Video |
2.9.6 Countdown | 1 | Example |
2.9.7 Count By Twos | 1 | Example |
2.9.8 Print The Odds | 5 | Exercise |
2.9.9 For Loop Examples | 1 | Video |
2.9.10 For Loop Sum | 1 | Example |
2.9.11 Factorial | 5 | Exercise |
2.10 While Loops | Lesson | |
2.10.1 While Loops | 1 | Video |
2.10.2 While Loops | 2 | Check for Understanding |
2.10.3 While Loop Countdown | 1 | Example |
2.10.4 Making Taffy | 5 | Exercise |
2.11 If Statements | Lesson | |
2.11.1 If Statements | 1 | Video |
2.11.2 If Statements | 2 | Check for Understanding |
2.11.3 Negative Numbers | 1 | Example |
2.11.4 Even and Odd | 1 | Example |
2.11.5 Find the Minimum | 5 | Exercise |
2.12 Loop-and-a-Half | Lesson | |
2.12.1 Loop-and-a-Half | 1 | Video |
2.12.2 Loop-and-a-Half Quiz | 2 | Check for Understanding |
2.12.3 Running Average | 1 | Example |
2.12.4 Guess the Number | 5 | Exercise |
2.12.5 Looper Badge | 1 | Badge |
2.13 Short-Circuit Evaluation | Lesson | |
2.13.1 Short-Circuit Evaluation | 1 | Video |
2.13.2 Short-Circuit Evaluation Quiz | 2 | Check for Understanding |
2.13.3 Pizza Slices | 1 | Example |
2.13.4 Divisibility | 5 | Exercise |
2.14 De Morgan's Laws | Lesson | |
2.14.1 De Morgan's Laws | 1 | Video |
2.14.2 De Morgan's Laws Quiz | 2 | Check for Understanding |
2.14.3 De Morgan AND | 1 | Example |
2.14.4 De Morgan OR | 1 | Example |
2.14.5 Amusement Park | 5 | Exercise |
2.15 Strings | Lesson | |
2.15.1 Strings | 1 | Video |
2.15.2 Strings | 2 | Check for Understanding |
2.15.3 Comparing Strings | 1 | Example |
2.15.4 Three Strings | 5 | Exercise |
2.15.5 Basic Java Exercises Badge | 1 | Badge |
2.16 Basic Java Quiz | Lesson | |
2.16.1 Basic Java Quiz | 25 | Unit Quiz |
Methods | ||
3.1 Java Methods | Lesson | |
3.1.1 Java Methods | 1 | Video |
3.1.2 Java Methods | 1 | Check for Understanding |
3.1.3 Print Line Break | 1 | Example |
3.1.4 Print Karel | 5 | Exercise |
3.2 Methods and Parameters | Lesson | |
3.2.1 Methods and Parameters | 1 | Video |
3.2.2 Methods and Parameters | 1 | Check for Understanding |
3.2.3 Line Breaks with Parameters | 1 | Example |
3.2.4 Sum | 1 | Example |
3.2.5 Product | 5 | Exercise |
3.2.6 Add10 | 5 | Exercise |
3.2.7 Countdown From | 5 | Exercise |
3.2.8 Repeating Message | 5 | Exercise |
3.3 Methods and Return Values | Lesson | |
3.3.1 Methods and Return Values | 1 | Video |
3.3.2 Return Value | 1 | Check for Understanding |
3.3.3 Methods and Return Values | 1 | Example |
3.3.4 Double Number | 5 | Practice |
3.3.5 Square | 5 | Practice |
3.3.6 Average | 5 | Practice |
3.4 Javadocs and More Methods | Lesson | |
3.4.1 Javadocs | 1 | Video |
3.4.2 Javadocs | 1 | Check for Understanding |
3.4.3 Javadoc Sum | 1 | Example |
3.4.4 Is in Range | 5 | Practice |
3.4.5 Sum Range | 5 | Practice |
3.4.6 Is Divisible | 5 | Practice |
3.4.7 Fahrenheit to Celsius | 5 | Practice |
3.4.8 Methods Badge | 1 | Badge |
3.5 Strings Methods | Lesson | |
3.5.1 String Methods | 1 | Video |
3.5.2 String Methods | 1 | Check for Understanding |
3.5.3 Looping Over a String | 1 | Example |
3.5.4 Yelling | 5 | Practice |
3.5.5 Porky Pig | 5 | Practice |
3.5.6 Triple String | 5 | Practice |
3.5.7 Full Name | 5 | Practice |
3.5.8 Repeating String | 5 | Practice |
3.6 Strings and Characters | Lesson | |
3.6.1 Strings and Characters | 1 | Video |
3.6.2 Chars are Numbers | 1 | Example |
3.6.3 Escape Sequences | 1 | Example |
3.6.4 Character Methods | 1 | Example |
3.6.5 Is it an Integer? | 5 | Practice |
3.7 Exceptions | Lesson | |
3.7.1 Exceptions | 1 | Video |
3.7.2 Exceptions Quiz | 2 | Check for Understanding |
3.7.3 Arithmetic Exception | 1 | Example |
3.7.4 Index Out Of Bounds Exception | 1 | Example |
3.7.5 Bug Hunter | 5 | Exercise |
3.8 String Processing | Lesson | |
3.8.1 String Processing | 1 | Video |
3.8.2 String Processing | 2 | Check for Understanding |
3.8.3 Finding Palindromes | 1 | Example |
3.8.4 String Concatenation | 1 | Example |
3.8.5 Fix the Sum String | 5 | Practice |
3.8.6 Convert To Uppercase | 5 | Practice |
3.8.7 Double Vowels | 5 | Practice |
3.8.8 All Same Letter | 5 | Practice |
3.8.9 AltCase | 5 | Practice |
3.8.10 Do the Brackets Match? | 5 | Practice |
3.8.11 Teen Talk | 5 | Practice |
3.8.12 Fixing Grammar | 5 | Practice |
3.8.13 Password Checker | 5 | Practice |
3.8.14 Replace Letter | 5 | Practice |
3.8.15 Methods Exercises Badge | 1 | Badge |
3.9 Methods Quiz | Lesson | |
3.9.1 Methods Quiz | 25 | Unit Quiz |
Classes and Object-Oriented Programming | ||
4.1 Introduction to Classes and Objects | Lesson | |
4.1.1 What is a Class? | 1 | Video |
4.1.2 Quiz: Classes and Objects | 1 | Check for Understanding |
4.1.3 The Rectangle Class | 1 | Example |
4.1.4 The Point Class | 1 | Example |
4.1.5 The Student Class | 1 | Example |
4.1.6 Using the Rectangle Class | 5 | Exercise |
4.1.7 Calling A Method | 5 | Exercise |
4.1.8 Using the Point Class | 5 | Exercise |
4.1.9 Using the Student Class | 5 | Exercise |
4.2 Classes vs. Objects | Lesson | |
4.2.1 Classes and Objects | 1 | Video |
4.2.2 Classes vs. Objects vs. Instances | 1 | Check for Understanding |
4.2.3 Classes, Objects, and Instances | 1 | Example |
4.2.4 Creating Rectangle Objects | 1 | Example |
4.2.5 Text Messages | 5 | Exercise |
4.3 Using a Class as a Client | Lesson | |
4.3.1 How to Use a Class | 1 | Video |
4.3.2 Quiz: Client of a Class | 1 | Check for Understanding |
4.3.3 Using the Rectangle Class as a Client | 1 | Example |
4.3.4 Using the Randomizer Class as a Client | 1 | Example |
4.3.5 Coin Flips | 5 | Exercise |
4.3.6 Longest Streak | 5 | Exercise |
4.3.7 Testing the GeoLocation Class | 1 | Example |
4.3.8 How Far Away is ...? | 5 | Exercise |
4.3.9 Client Badge | 1 | Badge |
4.4 Writing Classes | Lesson | |
4.4.1 Constructors | 1 | Video |
4.4.2 Quiz: Constructors | 2 | Check for Understanding |
4.4.3 Rectangle toString | 1 | Example |
4.4.4 Student toString | 1 | Example |
4.4.5 toString for Flowers | 5 | Exercise |
4.4.6 Instance Variables for Your Dog | 5 | Exercise |
4.4.7 Student GPA Field | 5 | Exercise |
4.4.8 Free Response: What instance variables? | 5 | Free Response |
4.4.9 Pizza Time! | 5 | Exercise |
4.4.10 Fractions | 5 | Exercise |
4.5 Writing Classes and Instance Methods | Lesson | |
4.5.1 Writing Instance Methods | 1 | Video |
4.5.2 Quiz: Writing Methods | 2 | Check for Understanding |
4.5.3 Area of a Rectangle | 1 | Example |
4.5.4 Moving a Point | 1 | Example |
4.5.5 Writing getPerimeter() | 5 | Exercise |
4.5.6 Honors Students | 5 | Exercise |
4.5.7 Batting Average | 5 | Exercise |
4.5.8 Distance in Kilometers | 5 | Exercise |
4.5.9 Combination Lock FRQ | 1 | Resource |
4.6 Getter and Setter Methods | Lesson | |
4.6.1 Getter and Setter Methods | 1 | Video |
4.6.2 Quiz: Getter and Setter Methods | 1 | Check for Understanding |
4.6.3 Rectangle Getter Methods | 1 | Example |
4.6.4 Student Getter Methods | 1 | Example |
4.6.5 Text Messages Getter Methods | 5 | Exercise |
4.6.6 Fractions Getter/Setter Methods | 5 | Exercise |
4.6.7 Full Fraction Class | 5 | Exercise |
4.6.8 Full Dragon Class | 5 | Exercise |
4.6.9 A Different Dragon Class | 5 | Exercise |
4.7 Class Methods and Class Variables | Lesson | |
4.7.1 Static Methods and Variables (Class Methods and Class Variables) | 1 | Video |
4.7.2 Quiz: Static Methods | 1 | Check for Understanding |
4.7.3 Student Class Variables and Methods | 1 | Example |
4.7.4 Using the Math Class | 1 | Example |
4.7.5 Using Randomizer | 1 | Example |
4.7.6 Static Variables: Circle | 1 | Example |
4.7.7 The Unit Circle | 5 | Exercise |
4.7.8 How Many Players in the Game? | 5 | Exercise |
4.7.9 Circle Area, another way | 5 | Exercise |
4.7.10 Rock, Paper, Scissors: Get Winner | 5 | Practice |
4.7.11 Rock, Paper, Scissors! | 5 | Exercise |
4.8 Wrapper Classes | Lesson | |
4.8.1 Wrapper Classes | 1 | Video |
4.8.2 Quiz: Wrapper Classes | 3 | Check for Understanding |
4.8.3 Creating Integers | 1 | Example |
4.8.4 Using Doubles | 1 | Example |
4.8.5 Autoboxing Example | 1 | Example |
4.8.6 Order Up! | 5 | Exercise |
4.8.7 Currency | 5 | Exercise |
4.8.8 Guess the number! | 5 | Exercise |
4.9 Method Overloading | Lesson | |
4.9.1 Method Overloading | 1 | Video |
4.9.2 Method Overloading Quiz | 1 | Check for Understanding |
4.9.3 Sum Method Overloading | 1 | Example |
4.9.4 Constructor Overloading | 1 | Example |
4.9.5 Average Method Overloading | 5 | Exercise |
4.9.6 Overloading Badge | 1 | Badge |
4.10 Local Variables and Scope | Lesson | |
4.10.1 Local Variables and Scope | 1 | Video |
4.10.2 Local Variables and Scope Quiz | 2 | Check for Understanding |
4.10.3 Instance Variable Scope | 1 | Example |
4.10.4 Local Variable Scope | 1 | Example |
4.10.5 Variable Shadowing | 1 | Example |
4.10.6 Which Variables Exist? | 5 | Exercise |
4.11 Key Terms for Classes | Lesson | |
4.11.1 Key Terms for Classes | 1 | Video |
4.11.2 Quiz: This Keyword | 1 | Check for Understanding |
4.11.3 Rectangles and this | 1 | Example |
4.11.4 Batteries | 5 | Exercise |
4.11.5 Write Your Own CodeHS | 5 | Exercise |
4.12 Objects vs Primitives | Lesson | |
4.12.1 Objects vs Primitives | 1 | Video |
4.12.2 Objects vs Primitives Quiz | 2 | Check for Understanding |
4.12.3 Comparing Rectangles | 1 | Example |
4.12.4 Changing Dogs | 1 | Example |
4.12.5 Null Pointer Exception | 1 | Example |
4.12.6 Objects vs Primitives | 5 | Free Response |
4.12.7 Comparing Circles | 5 | Exercise |
4.13 Inheritance | Lesson | |
4.13.1 Inheritance | 1 | Video |
4.13.2 Quiz: Subclasses and Superclasses | 2 | Check for Understanding |
4.13.3 Square is a Rectangle | 1 | Example |
4.13.4 Clothing Store | 5 | Exercise |
4.13.5 Inheritance Badge | 1 | Badge |
4.14 Class Design and Abstract Classes | Lesson | |
4.14.1 Class Design and Abstract Classes | 1 | Video |
4.14.2 Quiz: Class Design | 2 | Check for Understanding |
4.14.3 The Shape Hierarchy | 1 | Example |
4.14.4 Classes for Dessert | 1 | Example |
4.14.5 Finding The Perimeters | 5 | Exercise |
4.15 Polymorphism | Lesson | |
4.15.1 Polymorphism | 1 | Video |
4.15.2 Quiz: Polymorphism | 2 | Check for Understanding |
4.15.3 Animal Sounds | 1 | Example |
4.15.4 Shape Areas | 1 | Example |
4.15.5 Fun with Solids | 5 | Exercise |
4.16 Object Superclass | Lesson | |
4.16.1 Object Superclass | 1 | Video |
4.16.2 Quiz: Object Superclass | 5 | Check for Understanding |
4.16.3 Default Values | 1 | Example |
4.16.4 Override toString | 1 | Example |
4.16.5 Override equals | 1 | Example |
4.16.6 Equal? | 5 | Exercise |
4.16.7 Equals? - Part 2 | 5 | Exercise |
4.16.8 Equal Rectangles | 5 | Exercise |
4.16.9 2D Array Tester | 5 | Exercise |
4.17 Interfaces | Lesson | |
4.17.1 Interfaces | 1 | Video |
4.17.2 Quiz: Interfaces | 1 | Check for Understanding |
4.17.3 Comparable Interface | 1 | Example |
4.17.4 Summable Interface | 1 | Example |
4.17.5 Fraction is Comparable | 5 | Exercise |
4.17.6 City is Summable | 5 | Exercise |
4.17.7 Classes and Object-Oriented Programming Badge | 1 | Badge |
4.18 Ethical and Social Implications of Computing | Lesson | |
4.18.1 Implications of Computing Systems | 1 | Video |
4.18.2 Computing and Your Life | 5 | Free Response |
4.18.3 Quiz: Ethical and Social Impact | 4 | Check for Understanding |
4.18.4 ACM General Ethical Principles | 1 | Connection |
4.18.5 ACM General Ethical Principles | 5 | Free Response |
4.18.6 Bias in Facial Recognition | 1 | Connection |
4.18.7 Bias in Facial Recognition | 5 | Free Response |
4.18.8 Self-driving Cars | 1 | Connection |
4.18.9 Self-driving Cars | 5 | Free Response |
4.19 Classes and Object-Oriented Programming Quiz | Lesson | |
4.19.1 Classes and Object-Oriented Programming Quiz | 19 | Unit Quiz |
Data Structures | ||
5.1 What are Data Structures? | Lesson | |
5.1.1 What are Data Structures? | 1 | Video |
5.1.2 Quiz: Data Structures | 1 | Check for Understanding |
5.1.3 Data Structures Everywhere | 5 | Free Response |
5.2 Introduction to Arrays | Lesson | |
5.2.1 Introduction to Arrays | 1 | Video |
5.2.2 Quiz: Arrays | 1 | Check for Understanding |
5.2.3 Making an Array | 1 | Example |
5.2.4 Make an Empty Array | 1 | Example |
5.2.5 Indexing Into an Array | 1 | Example |
5.2.6 Our First Array | 5 | Exercise |
5.2.7 Array Length | 5 | Practice |
5.2.8 Last Element in Array | 5 | Practice |
5.3 Using Arrays | Lesson | |
5.3.1 Using Arrays | 1 | Video |
5.3.2 Quiz: Using Arrays | 2 | Check for Understanding |
5.3.3 Iterating Over an Array | 1 | Example |
5.3.4 Sum Array | 1 | Example |
5.3.5 Array Out of Bounds | 1 | Example |
5.3.6 Print Array | 5 | Exercise |
5.3.7 Print Odd Array Indices | 5 | Exercise |
5.3.8 Find the Last Multiple of 3 | 5 | Practice |
5.3.9 Classroom Example | 1 | Example |
5.3.10 Exam Scores | 1 | Example |
5.3.11 Array References | 1 | Example |
5.3.12 Find the Median | 5 | Practice |
5.3.13 Most Improved | 5 | Exercise |
5.3.14 Arrays Badge | 1 | Badge |
5.4 Enhanced For Loops | Lesson | |
5.4.1 Enhanced For Loops | 1 | Video |
5.4.2 Enhanced For Loop | 5 | Check for Understanding |
5.4.3 Enhanced For Loop | 1 | Example |
5.4.4 Classroom Array | 1 | Example |
5.4.5 Updating Values in a Loop | 1 | Example |
5.4.6 Print Odds | 5 | Exercise |
5.4.7 Largest Value | 5 | Exercise |
5.4.8 Classroom Array | 5 | Exercise |
5.4.9 Array Average | 5 | Exercise |
5.5 ArrayList Methods | Lesson | |
5.5.1 ArrayLists | 1 | Video |
5.5.2 Quiz: ArrayList | 1 | Check for Understanding |
5.5.3 Hello World ArrayList | 1 | Example |
5.5.4 ArrayList and Java Primitives | 1 | Example |
5.5.5 ArrayList Size Method | 1 | Example |
5.5.6 Get First Element | 5 | Exercise |
5.5.7 Reading List | 1 | Example |
5.5.8 Texting in Class | 1 | Example |
5.5.9 Road Trip! | 5 | Exercise |
5.5.10 MagicalWorld Candy FRQ | 1 | Resource |
5.6 Arrays vs ArrayLists | Lesson | |
5.6.1 Arrays vs ArrayLists | 1 | Video |
5.6.2 Quiz: Arrays vs ArrayList | 2 | Check for Understanding |
5.6.3 Expanding Array | 1 | Example |
5.6.4 Improving Expanding Array | 5 | Exercise |
5.6.5 Array vs ArrayList | 1 | Example |
5.6.6 Seat Assignments FRQ | 1 | Resource |
5.7 Additional Loop Examples | Lesson | |
5.7.1 Additional Loop Examples | 5 | Video |
5.7.2 Additional Loop Examples | 3 | Check for Understanding |
5.7.3 For and While Loops | 5 | Example |
5.7.4 ArrayList Traversing Error | 5 | Example |
5.7.5 Traversing ArrayLists Simultaneously | 5 | Example |
5.7.6 Replace FOR Loop with WHILE Loop | 5 | Exercise |
5.7.7 Traversing Odds | 5 | Exercise |
5.7.8 ArrayList Equals | 5 | Exercise |
5.8 The List Interface | Lesson | |
5.8.1 The List Interface | 1 | Video |
5.8.2 The List Interface Quiz | 1 | Check for Understanding |
5.8.3 Reverse the List | 1 | Example |
5.8.4 Summer Reading Short List | 7 | Practice |
5.9 2D Arrays (Matrices or Grids) | Lesson | |
5.9.1 2D Arrays | 1 | Video |
5.9.2 Quiz: 2D Arrays | 2 | Check for Understanding |
5.9.3 Nested Loops | 1 | Example |
5.9.4 Ice Cream Combos | 5 | Practice |
5.9.5 First 2D Array | 1 | Example |
5.9.6 Initializing a 2D Array | 1 | Example |
5.9.7 The Matrix | 1 | Example |
5.9.8 Sum Rows in a Matrix | 7 | Practice |
5.9.9 Matrix Badge | 1 | Badge |
5.10 Traversing 2D Arrays | Lesson | |
5.10.1 Traversing 2D Arrays | 1 | Video |
5.10.2 Quiz: Traversing 2D Arrays | 3 | Check for Understanding |
5.10.3 Traversing Gradebook | 1 | Example |
5.10.4 Linear Search 2D Arrays | 1 | Example |
5.10.5 Row vs. Column Major | 1 | Example |
5.10.6 Row vs. Column Major | 5 | Free Response |
5.10.7 Sum Rows in a 2D Array | 5 | Exercise |
5.10.8 2D Array Tester | 5 | Exercise |
5.10.9 Tic Tac Toe Methods | 5 | Exercise |
5.10.10 Finalizing Tic Tac Toe | 5 | Challenge |
5.11 HashMaps | Lesson | |
5.11.1 HashMaps | 1 | Video |
5.11.2 Quiz: HashMaps | 1 | Check for Understanding |
5.11.3 The Phonebook | 1 | Example |
5.11.4 Word Counts | 5 | Exercise |
5.12 Binary | Lesson | |
5.12.1 Number Systems | 1 | Video |
5.12.2 Number Systems Quiz | 3 | Check for Understanding |
5.12.3 Converting Octal to Decimal | 1 | Example |
5.12.4 Converting Binary to Decimal | 7 | Practice |
5.12.5 Using Binary | 1 | Video |
5.12.6 Using Binary Quiz | 4 | Check for Understanding |
5.12.7 Integer Limits | 1 | Example |
5.12.8 Binary Translator | 5 | Exercise |
5.12.9 Genres Galore Online Shop FRQ | 1 | Resource |
5.13 Ethical Issues Around Data Collection | Lesson | |
5.13.1 Ethical Issues Around Data Collection | 1 | Video |
5.13.2 Ethical Issues Around Data Collection | 5 | Check for Understanding |
5.13.3 The Curly Fry Conundrum | 1 | Connection |
5.13.4 Reflection | 5 | Free Response |
5.13.5 Guidelines on Ethical Data Use | 1 | Connection |
5.13.6 Issue News Article | 5 | Free Response |
5.13.7 ArrayList Badge | 5 | Badge |
5.14 Data Structures Quiz | Lesson | |
5.14.1 Data Structures Quiz | 23 | Unit Quiz |
Blackjack | ||
6.1 Writing BlackJack | Lesson | |
6.1.1 The Card Class | 1 | Video |
6.1.2 The Card Class | 1 | Example |
6.1.3 The Deck Class | 1 | Video |
6.1.4 The Deck Class | 1 | Example |
6.1.5 The Hand Class | 1 | Video |
6.1.6 The Hand Class | 1 | Example |
6.1.7 The Blackjack Class | 1 | Video |
6.1.8 The Blackjack Game | 1 | Example |
6.1.9 Improving Blackjack | 5 | Exercise |
Battleship | ||
7.1 Battleship | Lesson | |
7.1.1 Battleship Demo | 1 | Video |
7.1.2 Battleship Part 1: The Ship Class | 5 | Exercise |
7.1.3 Battleship Part 2: The Location Class | 5 | Exercise |
7.1.4 Battleship Part 3: The Grid Class | 5 | Exercise |
7.1.5 Battleship Part 4: Adding a Ship to the Grid | 5 | Exercise |
7.1.6 Battleship Part 5: The Player Class | 5 | Exercise |
7.1.7 Battleship Part 6: The Battleship Class | 5 | Exercise |
7.1.8 Battleship Part 7: Finishing the Game | 5 | Exercise |
7.1.9 Battleship Extensions | 5 | Exercise |
Algorithms and Recursion | ||
8.1 What is an Algorithm? | Lesson | |
8.1.1 What is an Algorithm? | 1 | Video |
8.1.2 Every Day Algorithms | 5 | Free Response |
8.2 Linear Search | Lesson | |
8.2.1 Linear Search | 1 | Video |
8.2.2 Linear Search | 1 | Example |
8.2.3 Linear Search on ArrayList | 5 | Practice |
8.2.4 Gradebook FRQ | 1 | Resource |
8.3 Binary Search | Lesson | |
8.3.1 Binary Search | 1 | Video |
8.3.2 Binary Search | 2 | Check for Understanding |
8.3.3 Binary Search | 1 | Example |
8.3.4 Comparing Binary Search and Linear Search | 5 | Exercise |
8.3.5 Binary Search Badge | 1 | Badge |
8.4 Selection Sort | Lesson | |
8.4.1 Selection Sort | 1 | Video |
8.4.2 Selection Sort | 1 | Check for Understanding |
8.4.3 Selection Sort | 1 | Example |
8.4.4 Visualizing Algorithms | 1 | Example |
8.4.5 Explore Selection Sort | 5 | Exercise |
8.5 Insertion Sort | Lesson | |
8.5.1 Insertion Sort | 1 | Video |
8.5.2 Insertion Sort | 1 | Check for Understanding |
8.5.3 Visualizing Algorithms | 1 | Example |
8.5.4 Insertion Sort | 1 | Example |
8.5.5 Explore Insertion Sort | 5 | Exercise |
8.6 Advanced: Recursion | Lesson | |
8.6.1 Recursion | 1 | Video |
8.6.2 Factorial | 1 | Example |
8.6.3 Factorial Unit Test Example | 5 | Practice |
8.6.4 Recursion Walkthrough | 5 | Video |
8.6.5 Recursion Example | 5 | Example |
8.6.6 Recursive Binary Search | 5 | Example |
8.6.7 Fibonacci Recursive | 1 | Example |
8.6.8 Bacteria Cultures | 10 | Practice |
8.6.9 Recursive Minimum | 10 | Practice |
8.6.10 AP Multiple Choice Practice | 1 | AP Practice |
8.7 Mergesort | Lesson | |
8.7.1 Mergesort | 1 | Video |
8.7.2 Visualizing Algorithms | 1 | Example |
8.7.3 Merge Sort | 1 | Example |
8.7.4 Explore Merge Sort | 5 | Exercise |
8.7.5 Algorithms Badge | 1 | Badge |
8.8 Informal Code Analysis | Lesson | |
8.8.1 Informal Code Analysis | 1 | Video |
8.8.2 Informal Code Analysis | 7 | Check for Understanding |
8.8.3 Loop Execution Count | 1 | Example |
8.8.4 While Loop Time | 1 | Example |
8.8.5 For Loop Time | 1 | Example |
8.8.6 Time Comparisons | 5 | Free Response |
8.8.7 Improving isChar Speed | 5 | Exercise |
8.8.8 Improving isChar Speed Check | 1 | Example |
8.8.9 isChar Speed Reflection | 5 | Free Response |
8.9 Algorithms and Recursion Quiz | Lesson | |
8.9.1 Algorithms and Recursion Quiz | 19 | Unit Quiz |
AP Test Practice | ||
9.1 AP Practice Test 1 | Lesson | |
9.1.1 Final AP Review | 40 | AP Practice |
9.1.2 Free Response 1a | 10 | Practice |
9.1.3 Free Response 1b | 10 | Practice |
9.1.4 Free Response 2a | 10 | Practice |
9.1.5 Free Response 2b | 10 | Practice |
9.1.6 Free Response 3a | 10 | Practice |
9.1.7 Free Response 3b | 5 | Exercise |
9.1.8 Free Response 4a | 5 | Exercise |
9.1.9 Free Response 4b | 5 | Exercise |
9.1.10 AP Practice Test Badge | 0 | Badge |
Final Project | ||
10.1 Final Project | Lesson | |
10.1.1 Brainstorm | 5 | Free Response |
10.1.2 Milestones | 5 | Free Response |
10.1.3 Final Project | 5 | Exercise |
10.1.4 Final Project Badge | 0 | Badge |
10.2 AP Java Completed | Lesson | |
10.2.1 AP Java Badge | 0 | Badge |
Project: Pokemon Simulation | ||
11.1 Pokemon Simulation | Lesson | |
11.1.1 Pokemon Demo | 1 | Video |
11.1.2 The Move Class | 10 | Challenge |
11.1.3 The Pokemon Class | 10 | Challenge |
11.1.4 Adding Pokemon Images | 10 | Challenge |
11.1.5 Pokemon can Attack! | 10 | Challenge |
11.1.6 The PokemonTrainer Class | 10 | Challenge |
11.1.7 The PokemonSimulation Class | 10 | Challenge |
11.1.8 Finishing the Battle | 10 | Challenge |
11.1.9 Adding the ComputerTrainer | 10 | Challenge |
11.1.10 Pokemon Extensions | 10 | Challenge |
11.1.11 Pokemon Badge | 0 | Badge |
Project: Mad Libs | ||
12.1 Mad Libs | Lesson | |
12.1.1 Mad Libs Demo | 1 | Video |
12.1.2 Collecting the Placeholders | 10 | Challenge |
12.1.3 Getting User Input | 10 | Challenge |
12.1.4 Replacing a Placeholder | 10 | Challenge |
12.1.5 Generating the Mad Lib | 10 | Challenge |
12.1.6 Write your own Mad Lib! | 10 | Challenge |
12.1.7 Mad Lib Extensions | 10 | Challenge |
Java Outside of CodeHS | ||
13.1 Java Outside of CodeHS | Lesson | |
13.1.1 Java Outside of CodeHS | 1 | Video |
13.1.2 Hello World in Eclipse | 1 | Video |
13.1.3 Hello World in BlueJ | 1 | Video |
13.1.4 Hello World in Terminal | 1 | Video |
13.1.5 Java main vs run | 1 | Video |
13.1.6 Using the main Method in Eclipse | 1 | Video |
13.1.7 Using the main Method in BlueJ | 1 | Video |
13.1.8 Using the main Method in the Terminal | 1 | Video |
13.1.9 Hello World with main Method | 1 | Example |
13.1.10 Getting User Input | 1 | Video |
13.1.11 Using Scanner for Input | 1 | Example |
Project: Quiz Creation | ||
14.1 Quiz Creation | Lesson | |
14.1.1 Quiz Demo | 1 | Video |
14.1.2 The Question Class | 10 | Challenge |
14.1.3 Question toString | 10 | Challenge |
14.1.4 The Quiz Class | 10 | Challenge |
14.1.5 Using the QuizFileReader Class | 10 | Challenge |
14.1.6 Constructing Quizzes from Files | 10 | Challenge |
14.1.7 The QuizRunner Class | 10 | Challenge |
14.1.8 Write your own Quiz! | 10 | Challenge |
14.1.9 Quiz Extensions | 10 | Challenge |
Elevens | ||
15.1 Elevens | Lesson | |
15.1.1 Elevens Activity Guide | 1 | Connection |
15.1.2 Activity 1: Design and Create a Card Class | 5 | Exercise |
15.1.3 Activity 2: Initial Design of a Deck Class | 5 | Exercise |
15.1.4 Activity 2 Questions | 5 | Free Response |
15.1.5 Activity 3: Shuffling the Cards in a Deck | 5 | Exercise |
15.1.6 Activity 3 Questions | 5 | Free Response |
15.1.7 Activity 4: Adding a Shuffle Method to the Deck | 5 | Exercise |
15.1.8 Activity 6: Playing Elevens | 5 | Exercise |
15.1.9 Activity 6 Questions | 5 | Free Response |
15.1.10 Activity 7: Elevens Board Class Design | 5 | Example |
15.1.11 Activity 7 Questions | 5 | Free Response |
15.1.12 Activity 8: Using an Abstract Board Class | 5 | Example |
15.1.13 Activity 8 Questions | 5 | Free Response |
15.1.14 Activity 9: Implementing the Elevens Board | 5 | Exercise |
15.1.15 Activity 9 Questions | 5 | Free Response |
Magpie | ||
16.1 Magpie Lab | Lesson | |
16.1.1 Magpie Student Guide | 1 | Connection |
16.1.2 Activity 1: Chatbots | 5 | Free Response |
16.1.3 Activity 2: Introduction to Magpie | 1 | Example |
16.1.4 Activity 2: Modifying Magpie | 5 | Exercise |
16.1.5 Activity 2: Questions | 5 | Free Response |
16.1.6 Activity 3: Improving Keyword Detection | 5 | Exercise |
16.1.7 Activity 4: Responses that Transform Statements | 5 | Exercise |
Picture Lab | ||
17.1 Picture Lab | Lesson | |
17.1.1 Introduction & Student Guide | 1 | Connection |
17.1.2 A1: Digital Pictures and Color | 5 | Free Response |
17.1.3 A2: Picking a Color | 1 | Example |
17.1.4 A2 Questions: Picking a Color | 5 | Free Response |
17.1.5 A3: Exploring a Picture | 1 | Example |
17.1.6 A3 Questions: Exploring a Picture | 5 | Free Response |
17.1.7 A4: Two-Dimensional Arrays in Java | 5 | Exercise |
17.1.8 A5: Interfaces | 5 | Free Response |
17.1.9 A5: Modifying a Picture | 5 | Exercise |
17.1.10 A6: Mirroring a Picture | 5 | Exercise |
17.1.11 A9: Edge Detection | 5 | Exercise |
Consumer Review Lab | ||
18.1 Introduction | Lesson | |
18.1.1 Consumer Review Lab Activity Guide | 5 | Resource |
18.1.2 Review | 5 | Exercise |
18.1.3 Review Free Response | 5 | Free Response |
18.1.4 Check For Understanding | 1 | Check for Understanding |
18.2 Sentiment Value and Star Ratings | Lesson | |
18.2.1 Sentiment Value | 5 | Exercise |
18.2.2 Sentiment Value Free Response | 5 | Free Response |
18.3 Autogenerated Review | Lesson | |
18.3.1 Autogenerate Review | 5 | Exercise |
18.3.2 Autogenerate Review Free Response | 5 | Free Response |
18.4 Create a Negative or Positive Review | Lesson | |
18.4.1 Create a Negative or Positive Review | 5 | Exercise |
18.4.2 Create a Negative or Positive Review | 5 | Free Response |
18.5 Open Ended Activity! | Lesson | |
18.5.1 Final Activity | 5 | Exercise |
18.5.2 Wrap Up | 5 | Free Response |
Celebrity Lab | ||
19.1 Activity 1: Introduction to Celebrity | Lesson | |
19.1.1 Introduction to Celebrity | 5 | Free Response |
19.2 Activity 2: The Celebrity Class: A Simple Version | Lesson | |
19.2.1 Celebrity Class: A Simple Version | 5 | Free Response |
19.2.2 Celebrity Constructor | 5 | Exercise |
19.3 Activity 3: Putting it All Together | Lesson | |
19.3.1 Set up Constructors | 5 | Exercise |
19.3.2 Setting up the Game | 5 | Exercise |
19.3.3 Complete Game Play Methods | 5 | Exercise |
19.3.4 Check Your Understanding | 5 | Free Response |
19.4 Activity 4: Extending the Celebrity Class | Lesson | |
19.4.1 Extending the Celebrity Class | 5 | Free Response |
19.4.2 Literature Celebrity | 5 | Example |
19.4.3 Custom Celebrity | 5 | Exercise |
19.4.4 Updating CelebrityGame | 5 | Exercise |
19.4.5 Updating the GUI | 5 | Exercise |
19.5 Activity 5: Open Ended Activity | Lesson | |
19.5.1 Open Ended Activity | 5 | Free Response |
Steganography Lab | ||
20.1 Activity 1: Exploring Color | Lesson | |
20.1.1 Steganography Student Lab | 5 | Resource |
20.1.2 Picture Lab A1: Digital Pictures and Color | 5 | Free Response |
20.1.3 Exploring Color | 5 | Free Response |
20.1.4 Clearing Bits | 5 | Example |
20.1.5 Clearing Bits Responses | 5 | Free Response |
20.1.6 Changing Colors | 5 | Exercise |
20.1.7 Changing Colors Response | 5 | Free Response |
20.1.8 Setting Bits | 5 | Exercise |
20.2 Activity 2: Hiding and Revealing a Picture | Lesson | |
20.2.1 Hiding and Revealing | 5 | Free Response |
20.2.2 Hiding and Revealing | 5 | Exercise |
20.3 Activity 3: Identifying a Hidden Picture | Lesson | |
20.3.1 Identifying a Hidden Picture | 5 | Exercise |
20.3.2 Identify a Hidden Picture: Check Your Understanding | 5 | Free Response |
20.4 Activity 4: Hiding and Revealing a Text Message | Lesson | |
20.4.1 Hiding and Revealing a Text Message Intro | 5 | Free Response |
20.4.2 Hiding and Revealing a Text Message | 5 | Exercise |
20.4.3 Hiding and Revealing; Check your Understanding | 5 | Free Response |
20.5 Activity 5: Open Ended Project | Lesson | |
20.5.1 Open Ended Project | 5 | Exercise |
Java Level 1 Certification Practice | ||
21.1 Practice #1: Java Fundamentals | Lesson | |
21.1.1 Quiz: Java Fundamentals | 10 | Quiz |
21.1.2 Practice #1 Reflection | 5 | Notes |
21.2 Practice #2: Data Types and Lists | Lesson | |
21.2.1 Quiz: Data Types and Lists | 10 | Quiz |
21.2.2 Practice #2 Reflection | 5 | Notes |
21.3 Practice #3: Implementing Flow Control | Lesson | |
21.3.1 Quiz: Implementing Flow Control | 10 | Quiz |
21.3.2 Practice #3 Reflection | 5 | Notes |
21.4 Practice #4: OOP and Other Advanced Topics | Lesson | |
21.4.1 Quiz: OOP and Other Advanced Topics | 15 | Quiz |
21.4.2 Practice #4 Reflection | 5 | Notes |
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