Please enable JavaScript to use CodeHS

Outline


1. Introduction to Programming in Java with Karel the Dog
1.1 Introduction to Programming With Karel
Video 1.1.1 Introduction to Programming With Karel
Check for Understanding 1.1.2 Quiz: Karel Commands
Example 1.1.3 Our First Karel Program
Exercise 1.1.4 Your First Karel Program
Exercise 1.1.5 Short Stack
1.2 More Basic Karel
Video 1.2.1 More Basic Karel
Check for Understanding 1.2.2 More Basic Karel
Example 1.2.3 Tennis Ball Square
Exercise 1.2.4 Make a Tower
Exercise 1.2.5 Pyramid of Karel
1.3 Java Programs and the Run Method
Video 1.3.1 Writing a Java Program
Check for Understanding 1.3.2 Run Method
Example 1.3.3 Square Karel
Exercise 1.3.4 Tower Karel
Exercise 1.3.5 Gold Medal Karel
Exercise 1.3.6 Maze Karel
1.4 Karel Can't Turn Right
Video 1.4.1 Karel Can't Turn Right
Check for Understanding 1.4.2 Karel Can't Turn Right
Example 1.4.3 Tower and Turn Right
Exercise 1.4.4 Slide Karel
Exercise 1.4.5 Fireman Karel
Badge 1.4.6 Right Turn Karel Badge
1.5 Methods in Karel
Video 1.5.1 Methods in Karel
Check for Understanding 1.5.2 Methods in Karel
Example 1.5.3 Turn Around
Exercise 1.5.4 Planting Bushes
Exercise 1.5.5 Mario Karel
1.6 Top Down Design and Decomposition in Karel
Video 1.6.1 Top Down Design and Decomposition in Karel
Check for Understanding 1.6.2 Top Down Design and Decomposition
Example 1.6.3 Hurdle Karel
Exercise 1.6.4 The Two Towers
Exercise 1.6.5 Planting Flowers
1.7 Commenting Your Code
Video 1.7.1 Commenting Your Code
Check for Understanding 1.7.2 Commenting Your Code
Example 1.7.3 Hurdle Karel (Comments)
Exercise 1.7.4 The Two Towers + Comments
1.8 Super Karel
Video 1.8.1 Super Karel
Check for Understanding 1.8.2 Super Karel
Example 1.8.3 Hurdle Karel (with SuperKarel)
Exercise 1.8.4 The Two Towers + SuperKarel
Badge 1.8.5 Super Karel Badge
1.9 For Loops
Video 1.9.1 For Loops
Check for Understanding 1.9.2 For Loops
Example 1.9.3 Repeated Move
Example 1.9.4 Put Down Tennis Balls
Exercise 1.9.5 Marathon Karel
Exercise 1.9.6 Take 'em All
Exercise 1.9.7 Dizzy Karel
Exercise 1.9.8 For Loop Square
Exercise 1.9.9 Planting Flowers
Exercise 1.9.10 Lots of Hurdles
1.10 While Loops in Karel
Video 1.10.1 While Loops in Karel
Check for Understanding 1.10.2 While Loops in Karel
Example 1.10.3 Move to Wall
Exercise 1.10.4 Follow The Yellow Ball Road
Exercise 1.10.5 Just Keep Spinning
Exercise 1.10.6 Lay Row of Tennis Balls
Exercise 1.10.7 Big Tower
1.11 If Statements
Video 1.11.1 If Statements
Check for Understanding 1.11.2 If Statements Quiz
Example 1.11.3 If Statements
Example 1.11.4 Safe Take Ball
Exercise 1.11.5 Is There a Ball?
1.12 If/Else Statements
Video 1.12.1 If/Else Statements
Check for Understanding 1.12.2 If/Else Statements
Example 1.12.3 Flip Karel
Exercise 1.12.4 Fix It Karel
Exercise 1.12.5 Invert
Badge 1.12.6 Conditional Karel Badge
1.13 Control Structures Example
Video 1.13.1 Control Structures Example
Check for Understanding 1.13.2 Control Structures Example
Example 1.13.3 Cleanup Karel
Exercise 1.13.4 Random Hurdles
Exercise 1.13.5 Fix It Karel
1.14 More Karel Examples and Testing
Video 1.14.1 More Karel Examples and Testing
Example 1.14.2 Move Tennis Ball Stack
Example 1.14.3 Climbing Karel
1.15 How to Indent Your Code
Video 1.15.1 How to Indent Your Code
Check for Understanding 1.15.2 How to Indent Your Code
Example 1.15.3 Dance and Clean Karel
Exercise 1.15.4 Diagonal
Exercise 1.15.5 Staircase
Badge 1.15.6 Karel Exercises Badge
1.16 Karel Challenges
Challenge 1.16.1 Fetch
Challenge 1.16.2 Racing Karel
Challenge 1.16.3 Tower Builder
Challenge 1.16.4 Super Cleanup Karel
Challenge 1.16.5 Double Tennis Balls
Challenge 1.16.6 Midpoint Karel
Badge 1.16.7 Karel Challenges Badge
1.17 Introduction to Programming in Java Quiz
Unit Quiz 1.17.1 Introduction to Programming in Java Quiz Unit 1
2. Basic Java
2.1 Printing in Java
Video 2.1.1 Printing in Java
Check for Understanding 2.1.2 Printing in Java
Example 2.1.3 Hello world
Example 2.1.4 Printing Multiple Lines
Exercise 2.1.5 Welcome Program
Exercise 2.1.6 ASCII Art
2.2 Variables and Types
Video 2.2.1 Variables and Types
Check for Understanding 2.2.2 Variables and Types
Example 2.2.3 Variables
Exercise 2.2.4 Our First Integer
Exercise 2.2.5 Answering Questions
2.3 User Input
Video 2.3.1 User Input
Check for Understanding 2.3.2 User Input
Example 2.3.3 UserInput
Exercise 2.3.4 About You
Exercise 2.3.5 Poetry
Badge 2.3.6 User Input Badge
2.4 Arithmetic Expressions
Video 2.4.1 Arithmetic Expressions
Check for Understanding 2.4.2 Arithmetic Expressions
Example 2.4.3 Calculator
Example 2.4.4 Tricky Java
Exercise 2.4.5 Weight of a Pyramid
Exercise 2.4.6 Add Fractions
2.5 Casting
Video 2.5.1 Casting
Check for Understanding 2.5.2 Casting
Example 2.5.3 Casting
Exercise 2.5.4 Casting to an Int
Exercise 2.5.5 Casting to a Double
Example 2.5.6 Casting Order of Operations
Example 2.5.7 Rounding using Casting
Exercise 2.5.8 Movie Ratings
2.6 Booleans
Video 2.6.1 Booleans
Check for Understanding 2.6.2 Booleans
Example 2.6.3 Boolean Example
Exercise 2.6.4 Ice Cream
Badge 2.6.5 Booleans Badge
2.7 Logical Operators
Video 2.7.1 Logical Operators
Check for Understanding 2.7.2 Logical Operators
Example 2.7.3 Light Switch
Exercise 2.7.4 Roller Coaster
2.8 Comparison Operators
Video 2.8.1 Comparison Operators
Check for Understanding 2.8.2 Comparison Operators
Example 2.8.3 Grade Range
Exercise 2.8.4 Triple Double
2.9 For Loops
Video 2.9.1 For Loops
Check for Understanding 2.9.2 For Loops
Example 2.9.3 The For Loop
Exercise 2.9.4 Repeat 1000 Times
Video 2.9.5 General For Loop
Example 2.9.6 Countdown
Example 2.9.7 Count By Twos
Exercise 2.9.8 Print The Odds
Video 2.9.9 For Loop Examples
Example 2.9.10 For Loop Sum
Exercise 2.9.11 Factorial
2.10 While Loops
Video 2.10.1 While Loops
Check for Understanding 2.10.2 While Loops
Example 2.10.3 While Loop Countdown
Exercise 2.10.4 Making Taffy
2.11 If Statements
Video 2.11.1 If Statements
Check for Understanding 2.11.2 If Statements
Example 2.11.3 Negative Numbers
Example 2.11.4 Even and Odd
Exercise 2.11.5 Find the Minimum
2.12 Loop-and-a-Half
Video 2.12.1 Loop-and-a-Half
Check for Understanding 2.12.2 Loop-and-a-Half Quiz
Example 2.12.3 Running Average
Exercise 2.12.4 Guess the Number
Badge 2.12.5 Looper Badge
2.13 Short-Circuit Evaluation
Video 2.13.1 Short-Circuit Evaluation
Check for Understanding 2.13.2 Short-Circuit Evaluation Quiz
Example 2.13.3 Pizza Slices
Exercise 2.13.4 Divisibility
2.14 De Morgan's Laws
Video 2.14.1 De Morgan's Laws
Check for Understanding 2.14.2 De Morgan's Laws Quiz
Example 2.14.3 De Morgan AND
Example 2.14.4 De Morgan OR
Exercise 2.14.5 Amusement Park
2.15 Strings
Video 2.15.1 Strings
Check for Understanding 2.15.2 Strings
Example 2.15.3 Comparing Strings
Exercise 2.15.4 Three Strings
Badge 2.15.5 Basic Java Exercises Badge
2.16 Basic Java Quiz
Unit Quiz 2.16.1 Basic Java Quiz
3. Methods
3.1 Java Methods
Video 3.1.1 Java Methods
Check for Understanding 3.1.2 Java Methods
Example 3.1.3 Print Line Break
Exercise 3.1.4 Print Karel
3.2 Methods and Parameters
Video 3.2.1 Methods and Parameters
Check for Understanding 3.2.2 Methods and Parameters
Example 3.2.3 Line Breaks with Parameters
Example 3.2.4 Sum
Exercise 3.2.5 Product
Exercise 3.2.6 Add10
Exercise 3.2.7 Countdown From
Exercise 3.2.8 Repeating Message
3.3 Methods and Return Values
Video 3.3.1 Methods and Return Values
Check for Understanding 3.3.2 Return Value
Example 3.3.3 Methods and Return Values
Practice 3.3.4 Double Number
Practice 3.3.5 Square
Practice 3.3.6 Average
3.4 Javadocs and More Methods
Video 3.4.1 Javadocs
Check for Understanding 3.4.2 Javadocs
Example 3.4.3 Javadoc Sum
Practice 3.4.4 Is in Range
Practice 3.4.5 Sum Range
Practice 3.4.6 Is Divisible
Practice 3.4.7 Fahrenheit to Celsius
Badge 3.4.8 Methods Badge
3.5 Strings Methods
Video 3.5.1 String Methods
Check for Understanding 3.5.2 String Methods
Example 3.5.3 Looping Over a String
Practice 3.5.4 Yelling
Practice 3.5.5 Porky Pig
Practice 3.5.6 Triple String
Practice 3.5.7 Full Name
Practice 3.5.8 Repeating String
3.6 Strings and Characters
Video 3.6.1 Strings and Characters
Example 3.6.2 Chars are Numbers
Example 3.6.3 Escape Sequences
Example 3.6.4 Character Methods
Practice 3.6.5 Is it an Integer?
3.7 Exceptions
Video 3.7.1 Exceptions
Check for Understanding 3.7.2 Exceptions Quiz
Example 3.7.3 Arithmetic Exception
Example 3.7.4 Index Out Of Bounds Exception
Exercise 3.7.5 Bug Hunter
3.8 String Processing
Video 3.8.1 String Processing
Check for Understanding 3.8.2 String Processing
Example 3.8.3 Finding Palindromes
Example 3.8.4 String Concatenation
Practice 3.8.5 Fix the Sum String
Practice 3.8.6 Convert To Uppercase
Practice 3.8.7 Double Vowels
Practice 3.8.8 All Same Letter
Practice 3.8.9 AltCase
Practice 3.8.10 Do the Brackets Match?
Practice 3.8.11 Teen Talk
Practice 3.8.12 Fixing Grammar
Practice 3.8.13 Password Checker
Practice 3.8.14 Replace Letter
Badge 3.8.15 Methods Exercises Badge
3.9 Methods Quiz
Unit Quiz 3.9.1 Methods Quiz
4. Classes and Object-Oriented Programming
4.1 Using a Class as a Client
Video 4.1.1 How to Use a Class
Check for Understanding 4.1.2 Quiz: Client of a Class
Example 4.1.3 Using the Randomizer Class as a Client
Exercise 4.1.4 Coin Flips
Exercise 4.1.5 Longest Streak
Example 4.1.6 Testing the GeoLocation Class
Exercise 4.1.7 How Far Away is ...?
5. Data Structures
5.1 What are Data Structures?
Video 5.1.1 What are Data Structures?
Check for Understanding 5.1.2 Quiz: Data Structures
Free Response 5.1.3 Data Structures Everywhere
5.2 Introduction to Arrays
Video 5.2.1 Introduction to Arrays
Check for Understanding 5.2.2 Quiz: Arrays
Example 5.2.3 Making an Array
Example 5.2.4 Make an Empty Array
Example 5.2.5 Indexing Into an Array
Exercise 5.2.6 Our First Array
Practice 5.2.7 Array Length
Practice 5.2.8 Last Element in Array
5.3 Using Arrays
Video 5.3.1 Using Arrays
Check for Understanding 5.3.2 Quiz: Using Arrays
Example 5.3.3 Iterating Over an Array
Example 5.3.4 Sum Array
Example 5.3.5 Array Out of Bounds
Exercise 5.3.6 Print Array
Exercise 5.3.7 Print Odd Array Indices
Practice 5.3.8 Find the Last Multiple of 3
Example 5.3.9 Classroom Example
Example 5.3.10 Exam Scores
Example 5.3.11 Array References
Practice 5.3.12 Find the Median
Exercise 5.3.13 Most Improved
Badge 5.3.14 Arrays Badge
5.4 Enhanced For Loops
Video 5.4.1 Enhanced For Loops
Check for Understanding 5.4.2 Enhanced For Loop
Example 5.4.3 Enhanced For Loop
Example 5.4.4 Classroom Array
Example 5.4.5 Updating Values in a Loop
Exercise 5.4.6 Print Odds
Exercise 5.4.7 Largest Value
Exercise 5.4.8 Classroom Array
Exercise 5.4.9 Array Average
5.5 ArrayList Methods
Video 5.5.1 ArrayLists
Check for Understanding 5.5.2 Quiz: ArrayList
Example 5.5.3 Hello World ArrayList
Example 5.5.4 ArrayList and Java Primitives
Example 5.5.5 ArrayList Size Method
Exercise 5.5.6 Get First Element
Example 5.5.7 Reading List
Example 5.5.8 Texting in Class
Exercise 5.5.9 Road Trip!
Resource 5.5.10 MagicalWorld Candy FRQ
5.6 Arrays vs ArrayLists
Video 5.6.1 Arrays vs ArrayLists
Check for Understanding 5.6.2 Quiz: Arrays vs ArrayList
Example 5.6.3 Expanding Array
Exercise 5.6.4 Improving Expanding Array
Example 5.6.5 Array vs ArrayList
Resource 5.6.6 Seat Assignments FRQ
5.7 Additional Loop Examples
Video 5.7.1 Additional Loop Examples
Check for Understanding 5.7.2 Additional Loop Examples
Example 5.7.3 For and While Loops
Example 5.7.4 ArrayList Traversing Error
Example 5.7.5 Traversing ArrayLists Simultaneously
Exercise 5.7.6 Replace FOR Loop with WHILE Loop
Exercise 5.7.7 Traversing Odds
Exercise 5.7.8 ArrayList Equals
5.8 The List Interface
Video 5.8.1 The List Interface
Check for Understanding 5.8.2 The List Interface Quiz
Example 5.8.3 Reverse the List
Practice 5.8.4 Summer Reading Short List
5.9 2D Arrays (Matrices or Grids)
Video 5.9.1 2D Arrays
Check for Understanding 5.9.2 Quiz: 2D Arrays
Example 5.9.3 Nested Loops
Practice 5.9.4 Ice Cream Combos
Example 5.9.5 First 2D Array
Example 5.9.6 Initializing a 2D Array
Example 5.9.7 The Matrix
Practice 5.9.8 Sum Rows in a Matrix
Badge 5.9.9 Matrix Badge
5.10 Traversing 2D Arrays
Video 5.10.1 Traversing 2D Arrays
Check for Understanding 5.10.2 Quiz: Traversing 2D Arrays
Example 5.10.3 Traversing Gradebook
Example 5.10.4 Linear Search 2D Arrays
Example 5.10.5 Row vs. Column Major
Free Response 5.10.6 Row vs. Column Major
Exercise 5.10.7 Sum Rows in a 2D Array
Exercise 5.10.8 2D Array Tester
Exercise 5.10.9 Tic Tac Toe Methods
Challenge 5.10.10 Finalizing Tic Tac Toe
5.11 HashMaps
Video 5.11.1 HashMaps
Check for Understanding 5.11.2 Quiz: HashMaps
Example 5.11.3 The Phonebook
Exercise 5.11.4 Word Counts
5.12 Binary
Video 5.12.1 Number Systems
Check for Understanding 5.12.2 Number Systems Quiz
Example 5.12.3 Converting Octal to Decimal
Practice 5.12.4 Converting Binary to Decimal
Video 5.12.5 Using Binary
Check for Understanding 5.12.6 Using Binary Quiz
Example 5.12.7 Integer Limits
Exercise 5.12.8 Binary Translator
Resource 5.12.9 Genres Galore Online Shop FRQ
5.13 Ethical Issues Around Data Collection
Video 5.13.1 Ethical Issues Around Data Collection
Check for Understanding 5.13.2 Ethical Issues Around Data Collection
Connection 5.13.3 The Curly Fry Conundrum
Free Response 5.13.4 Reflection
Connection 5.13.5 Guidelines on Ethical Data Use
Free Response 5.13.6 Issue News Article
Badge 5.13.7 ArrayList Badge
5.14 Data Structures Quiz
Unit Quiz 5.14.1 Data Structures Quiz
6. Blackjack
6.1 Writing BlackJack
Video 6.1.1 The Card Class
Example 6.1.2 The Card Class
Video 6.1.3 The Deck Class
Example 6.1.4 The Deck Class
Video 6.1.5 The Hand Class
Example 6.1.6 The Hand Class
Video 6.1.7 The Blackjack Class
Example 6.1.8 The Blackjack Game
Exercise 6.1.9 Improving Blackjack
7. Battleship
7.1 Battleship
Video 7.1.1 Battleship Demo
Exercise 7.1.2 Battleship Part 1: The Ship Class
Exercise 7.1.3 Battleship Part 2: The Location Class
Exercise 7.1.4 Battleship Part 3: The Grid Class
Exercise 7.1.5 Battleship Part 4: Adding a Ship to the Grid
Exercise 7.1.6 Battleship Part 5: The Player Class
Exercise 7.1.7 Battleship Part 6: The Battleship Class
Exercise 7.1.8 Battleship Part 7: Finishing the Game
Exercise 7.1.9 Battleship Extensions
8. Algorithms and Recursion
8.1 What is an Algorithm?
Video 8.1.1 What is an Algorithm?
Free Response 8.1.2 Every Day Algorithms
8.2 Linear Search
Video 8.2.1 Linear Search
Example 8.2.2 Linear Search
Practice 8.2.3 Linear Search on ArrayList
Resource 8.2.4 Gradebook FRQ
8.3 Binary Search
Video 8.3.1 Binary Search
Check for Understanding 8.3.2 Binary Search
Example 8.3.3 Binary Search
Exercise 8.3.4 Comparing Binary Search and Linear Search
Badge 8.3.5 Binary Search Badge
8.4 Selection Sort
Video 8.4.1 Selection Sort
Check for Understanding 8.4.2 Selection Sort
Example 8.4.3 Selection Sort
Example 8.4.4 Visualizing Algorithms
Exercise 8.4.5 Explore Selection Sort
8.5 Insertion Sort
Video 8.5.1 Insertion Sort
Check for Understanding 8.5.2 Insertion Sort
Example 8.5.3 Visualizing Algorithms
Example 8.5.4 Insertion Sort
Exercise 8.5.5 Explore Insertion Sort
8.6 Advanced: Recursion
Video 8.6.1 Recursion
Example 8.6.2 Factorial
Practice 8.6.3 Factorial Unit Test Example
Video 8.6.4 Recursion Walkthrough
Example 8.6.5 Recursion Example
Example 8.6.6 Recursive Binary Search
Example 8.6.7 Fibonacci Recursive
Practice 8.6.8 Bacteria Cultures
Practice 8.6.9 Recursive Minimum
AP Practice 8.6.10 AP Multiple Choice Practice
8.7 Mergesort
Video 8.7.1 Mergesort
Example 8.7.2 Visualizing Algorithms
Example 8.7.3 Merge Sort
Exercise 8.7.4 Explore Merge Sort
Badge 8.7.5 Algorithms Badge
8.8 Informal Code Analysis
Video 8.8.1 Informal Code Analysis
Check for Understanding 8.8.2 Informal Code Analysis
Example 8.8.3 Loop Execution Count
Example 8.8.4 While Loop Time
Example 8.8.5 For Loop Time
Free Response 8.8.6 Time Comparisons
Exercise 8.8.7 Improving isChar Speed
Example 8.8.8 Improving isChar Speed Check
Free Response 8.8.9 isChar Speed Reflection
8.9 Algorithms and Recursion Quiz
Unit Quiz 8.9.1 Algorithms and Recursion Quiz
9. AP Test Practice
9.1 AP Practice Test 1
AP Practice 9.1.1 Final AP Review
Practice 9.1.2 Free Response 1a
Practice 9.1.3 Free Response 1b
Practice 9.1.4 Free Response 2a
Practice 9.1.5 Free Response 2b
Practice 9.1.6 Free Response 3a
Exercise 9.1.7 Free Response 3b
Exercise 9.1.8 Free Response 4a
Exercise 9.1.9 Free Response 4b
Badge 9.1.10 AP Practice Test Badge
10. Final Project
10.1 Final Project
Free Response 10.1.1 Brainstorm
Free Response 10.1.2 Milestones
Exercise 10.1.3 Final Project
Badge 10.1.4 Final Project Badge
10.2 AP Java Completed
Badge 10.2.1 AP Java Badge