Please enable JavaScript to use CodeHS

AP Computer Science A (Nitro) - Outline

  1. Primitive Types

    1. 1.1 Why Programming? Why Java?

    2. Video 1.1.1 Printing in Java
    3. Check for Understanding 1.1.2 Printing in Java
    4. Example 1.1.3 Hello World
    5. Example 1.1.4 Printing Multiple Lines
    6. Exercise 1.1.5 Welcome Program
    7. Exercise 1.1.6 ASCII Art
    8. Exercise 1.1.7 Fixing a Paragraph
    9. Exercise 1.1.8 Heating Up
    10. Exercise 1.1.9 Personal Timeline
    11. 1.2 Variables and Data Types

    12. Video 1.2.1 Variables and Types
    13. Check for Understanding 1.2.2 Variables and Types
    14. Example 1.2.3 Variables
    15. Example 1.2.4 Using Final
    16. Exercise 1.2.5 Our First Integer
    17. Video 1.2.6 Variables and Types Pt. 2
    18. Check for Understanding 1.2.7 Variables and Types Pt. 2
    19. Example 1.2.8 Swapping Two Values
    20. Exercise 1.2.9 Answering Questions
    21. Exercise 1.2.10 Team Rankings
    22. 1.3 Expressions and Assignment Statements

    23. Video 1.3.1 Arithmetic Expressions
    24. Check for Understanding 1.3.2 Arithmetic Expressions
    25. Example 1.3.3 Calculator
    26. Example 1.3.4 Temperature Conversion
    27. Example 1.3.5 Tricky Java
    28. Exercise 1.3.6 Weight of a Pyramid
    29. Exercise 1.3.7 Add Fractions
    30. Exercise 1.3.8 Freely Falling Bodies
    31. 1.4 Compound Assignment Operators

    32. Video 1.4.1 Compound Assignment Operators
    33. Check for Understanding 1.4.2 Compound Assignment Operators
    34. Example 1.4.3 All Functions Calculator
    35. Example 1.4.4 Increase/Decrease by 1
    36. Exercise 1.4.5 Work Shift
    37. Exercise 1.4.6 My Age
    38. 1.5 User Input

    39. Video 1.5.1 User Input
    40. Check for Understanding 1.5.2 User Input Quiz
    41. Example 1.5.3 Using the Scanner Class
    42. Example 1.5.4 Increase/Decrease by 1 (User Input)
    43. Example 1.5.5 int Before String
    44. Exercise 1.5.6 My Age (User Input)
    45. Exercise 1.5.7 Night Out
    46. Exercise 1.5.8 MLA Citation
    47. 1.6 Casting and Ranges of Variables

    48. Video 1.6.1 Casting
    49. Check for Understanding 1.6.2 Casting
    50. Example 1.6.3 Casting
    51. Exercise 1.6.4 Casting to an Int
    52. Exercise 1.6.5 Casting to a Double
    53. Example 1.6.6 Casting Order of Operations
    54. Example 1.6.7 Rounding Using Casting
    55. Exercise 1.6.8 Movie Ratings
    56. Example 1.6.9 Implicit Casting
    57. Example 1.6.10 Min and Max Values of Integers
    58. Exercise 1.6.11 Integer Overflow
    59. 1.7 Primitive Types Quiz

    60. Unit Quiz 1.7.1 Primitive Types Quiz
  2. Using Objects

    1. 2.1 Objects: Instances of Classes

    2. Video 2.1.1 Objects: Instances of Classes
    3. Check for Understanding 2.1.2 Quiz: Classes and Objects
    4. Video 2.1.3 Multi-File Exercises in Java
    5. Example 2.1.4 Rectangle Skeleton
    6. Example 2.1.5 GrilledCheese Skeleton
    7. Example 2.1.6 Shark Skeleton
    8. Free Response 2.1.7 Free Response: What instance variables?
    9. Exercise 2.1.8 Pizza Instance Variables
    10. Exercise 2.1.9 Phone Skeleton
    11. 2.2 Creating and Storing Objects (Instantiation)

    12. Video 2.2.1 Creating and Storing Objects
    13. Check for Understanding 2.2.2 Quiz: Constructors
    14. Example 2.2.3 The Rectangle Class
    15. Example 2.2.4 The Point Class
    16. Example 2.2.5 The Student Class
    17. Exercise 2.2.6 Using the Rectangle Class
    18. Exercise 2.2.7 Student GPA Field
    19. Exercise 2.2.8 Instance Variables for Your Dog
    20. Exercise 2.2.9 Pizza Time!
    21. Badge 2.2.10 Instantiation Badge
    22. 2.3 Overloading

    23. Video 2.3.1 Method Overloading
    24. Check for Understanding 2.3.2 Method Overloading Quiz
    25. Example 2.3.3 Overloaded Rectangle
    26. Example 2.3.4 Overloaded GrilledCheese
    27. Example 2.3.5 Null Pointer Exception
    28. Exercise 2.3.6 Plain Coffee
    29. Exercise 2.3.7 Custom Piñatas
    30. Exercise 2.3.8 Website Class
    31. Exercise 2.3.9 Empty References
    32. 2.4 Calling a Void Method

    33. Video 2.4.1 Calling a Void Method
    34. Check for Understanding 2.4.2 Quiz: Void Methods
    35. Example 2.4.3 Area of a Rectangle
    36. Example 2.4.4 Program Flow
    37. Exercise 2.4.5 Hello!
    38. Exercise 2.4.6 Loose Change
    39. Exercise 2.4.7 Chat Bot
    40. Exercise 2.4.8 Greetings and Salutations
    41. 2.5 Calling a Void Method with Parameters

    42. Video 2.5.1 Calling a Void Method with Parameters
    43. Check for Understanding 2.5.2 Methods and Parameters
    44. Example 2.5.3 Rectangle
    45. Example 2.5.4 Moving a Point
    46. Exercise 2.5.5 Using the Point Class
    47. Example 2.5.6 Calculator
    48. Exercise 2.5.7 Basketball Players
    49. Exercise 2.5.8 More Operations
    50. Exercise 2.5.9 Chat Bot 2.0
    51. 2.6 Calling a Non-void Method

    52. Video 2.6.1 Calling a Non-void Method
    53. Check for Understanding 2.6.2 Quiz: Non-Void Methods
    54. Example 2.6.3 Rectangle
    55. Example 2.6.4 Desks in a Room
    56. Example 2.6.5 Activity Log
    57. Exercise 2.6.6 Number Games
    58. Exercise 2.6.7 Construction Costs
    59. Exercise 2.6.8 How Far Away is ...?
    60. 2.7 String Objects

    61. Video 2.7.1 String Objects
    62. Check for Understanding 2.7.2 String Objects
    63. Example 2.7.3 Immutable Strings
    64. Example 2.7.4 String Concatenation
    65. Example 2.7.5 Rectangle Dimensions
    66. Example 2.7.6 Printing Equations
    67. Exercise 2.7.7 Pretty Printing Operations
    68. Exercise 2.7.8 Full Name
    69. Exercise 2.7.9 QuoteMachine
    70. 2.8 String Methods

    71. Video 2.8.1 String Methods
    72. Check for Understanding 2.8.2 String Methods
    73. Example 2.8.3 Bigger Strings?
    74. Example 2.8.4 Chopping Strings
    75. Example 2.8.5 Object Concatenation
    76. Exercise 2.8.6 Speaking
    77. Exercise 2.8.7 toString for Flowers
    78. Exercise 2.8.8 Organizing Files
    79. Exercise 2.8.9 Concatenating Fractions
    80. Exercise 2.8.10 Word Games
    81. 2.9 Wrapper Classes: Integers and Doubles

    82. Video 2.9.1 Wrapper Classes
    83. Check for Understanding 2.9.2 Quiz: Wrapper Classes
    84. Example 2.9.3 Creating Integers
    85. Example 2.9.4 Using Doubles
    86. Example 2.9.5 Autoboxing Example
    87. Exercise 2.9.6 Order Up!
    88. Exercise 2.9.7 Currency
    89. Exercise 2.9.8 Guess the number!
    90. 2.10 Using the Math Class

    91. Video 2.10.1 Using the Math Class
    92. Check for Understanding 2.10.2 Quiz: Static Methods
    93. Example 2.10.3 Using the Math Class
    94. Example 2.10.4 Static Methods: Rectangle
    95. Example 2.10.5 Generating Random Numbers
    96. Exercise 2.10.6 Circle Area
    97. Exercise 2.10.7 The Unit Circle
    98. Exercise 2.10.8 Racing
    99. 2.11 Using Objects Quiz

    100. Unit Quiz 2.11.1 Using Objects Quiz
  3. Boolean Expressions and if Statements

    1. 3.1 Boolean Expressions and if Statements

    2. Video 3.1.1 Comparison Operators
    3. Check for Understanding 3.1.2 Comparison Operators
    4. Example 3.1.3 Old Enough To Vote
    5. Example 3.1.4 Grade Range
    6. Example 3.1.5 Equality of Strings
    7. Exercise 3.1.6 Number Order
    8. Exercise 3.1.7 Sugar Tax
    9. Exercise 3.1.8 Triple Double
    10. 3.2 if Statements and Control Flow

    11. Video 3.2.1 If Statements
    12. Check for Understanding 3.2.2 If Statements
    13. Example 3.2.3 Can Vote
    14. Example 3.2.4 Negative Numbers
    15. Example 3.2.5 Rectangle
    16. Exercise 3.2.6 Discounts
    17. Exercise 3.2.7 Sweet or Unsweet?
    18. Exercise 3.2.8 Cooking
    19. Exercise 3.2.9 Rating
    20. 3.3 if-else Statements

    21. Video 3.3.1 If-Else Statements
    22. Check for Understanding 3.3.2 If-Else
    23. Example 3.3.3 Bill with add tip
    24. Example 3.3.4 Even and Odd
    25. Exercise 3.3.5 Positive or Negative
    26. Exercise 3.3.6 Battleships Move
    27. Exercise 3.3.7 Ratings
    28. Exercise 3.3.8 Player Score
    29. 3.4 else if Statements

    30. Video 3.4.1 else-if Statements
    31. Check for Understanding 3.4.2 else-if
    32. Example 3.4.3 Add Tip
    33. Example 3.4.4 Add Tip - 8 or 4 Customers
    34. Example 3.4.5 Add Tip - 8, 4, 2 Customers
    35. Exercise 3.4.6 Positive, Negative, or Zero
    36. Exercise 3.4.7 Salmon Spawn
    37. Exercise 3.4.8 Berries
    38. Exercise 3.4.9 Battleships
    39. 3.5 Compound Boolean Expressions

    40. Video 3.5.1 Compound Boolean Expressions
    41. Check for Understanding 3.5.2 Logical Operators
    42. Example 3.5.3 Light Switch
    43. Example 3.5.4 Number in Range
    44. Example 3.5.5 Pizza Slices
    45. Exercise 3.5.6 Roller Coaster
    46. Exercise 3.5.7 Compound Roller Coaster
    47. Exercise 3.5.8 Divisibility
    48. Exercise 3.5.9 Find the Minimum
    49. 3.6 Equivalent Boolean Expressions

    50. Video 3.6.1 Equivalent Boolean Expressions
    51. Check for Understanding 3.6.2 De Morgan's Laws
    52. Example 3.6.3 De Morgan AND
    53. Example 3.6.4 De Morgan OR
    54. Exercise 3.6.5 Amusement Park
    55. Exercise 3.6.6 Odd Numbers
    56. Exercise 3.6.7 Odd and Even
    57. Free Response 3.6.8 Odd and Even Free Response
    58. 3.7 Comparing Objects

    59. Video 3.7.1 Comparing Objects
    60. Check for Understanding 3.7.2 Comparing Objects
    61. Example 3.7.3 Comparing Strings
    62. Example 3.7.4 Comparing Rectangles
    63. Example 3.7.5 Null Test
    64. Example 3.7.6 Identify Aliases
    65. Exercise 3.7.7 String Variable Trace
    66. Free Response 3.7.8 String Trace
    67. Exercise 3.7.9 Three Strings
    68. Exercise 3.7.10 Comparing Circles
    69. 3.8 Boolean Expressions and if Statements Quiz

    70. Unit Quiz 3.8.1 Boolean Expressions and If Statements Quiz
  4. Iteration

    1. 4.1 Iteration

    2. Video 4.1.1 While Loops
    3. Check for Understanding 4.1.2 While Loops
    4. Example 4.1.3 While Loop Countdown
    5. Example 4.1.4 Get Down to One
    6. Example 4.1.5 Running Average
    7. Exercise 4.1.6 Making Taffy
    8. Exercise 4.1.7 Guess the Number
    9. Exercise 4.1.8 Divisibility
    10. Exercise 4.1.9 Max and Min Values
    11. 4.2 For Loops

    12. Video 4.2.1 For Loops
    13. Check for Understanding 4.2.2 For Loops
    14. Example 4.2.3 For Loop
    15. Example 4.2.4 Countdown
    16. Example 4.2.5 Count By Twos
    17. Exercise 4.2.6 Print the Odds
    18. Exercise 4.2.7 Repeat 100 Times
    19. Exercise 4.2.8 Replace WHILE with FOR Loop
    20. Exercise 4.2.9 Replace FOR Loop with WHILE Loop
    21. Exercise 4.2.10 Multiplication Table
    22. 4.3 Developing Algorithms Using Strings

    23. Video 4.3.1 Developing Algorithms Using Strings
    24. Check for Understanding 4.3.2 Developing Algorithms Using Strings
    25. Example 4.3.3 Traversing Strings
    26. Example 4.3.4 Replace Characters
    27. Example 4.3.5 Reverse String
    28. Exercise 4.3.6 Replace Letter
    29. Exercise 4.3.7 Password Checker
    30. Exercise 4.3.8 Finding Palindromes
    31. Exercise 4.3.9 Fixing Grammar
    32. Exercise 4.3.10 Teen Talk
    33. Badge 4.3.11 String Processing Badge
    34. 4.4 Nested Iteration

    35. Video 4.4.1 Nested Iteration
    36. Check for Understanding 4.4.2 Nested Iteration
    37. Example 4.4.3 Make a Rectangle
    38. Example 4.4.4 Nested Loop Iteration Counts
    39. Example 4.4.5 Inverted Triangle
    40. Exercise 4.4.6 Upright Number Triangle
    41. Exercise 4.4.7 Make a Tree
    42. Exercise 4.4.8 Multiplication Table
    43. 4.5 Informal Code Analysis

    44. Video 4.5.1 Informal Code Analysis
    45. Check for Understanding 4.5.2 Informal Code Analysis
    46. Example 4.5.3 Loop Execution Count
    47. Example 4.5.4 While Loop Time
    48. Example 4.5.5 For Loop Time
    49. Free Response 4.5.6 Time Comparisons
    50. Exercise 4.5.7 Improving findChar Speed
    51. Example 4.5.8 Improving findChar Speed Check
    52. Free Response 4.5.9 findChar Speed Reflection
    53. 4.6 Iteration Quiz

    54. Unit Quiz 4.6.1 Iteration Quiz
  5. Writing Classes

    1. 5.1 Writing Classes

    2. Video 5.1.1 Anatomy of Classes
    3. Check for Understanding 5.1.2 Quiz: Access Modifiers
    4. Example 5.1.3 Rectangle Getter Methods
    5. Exercise 5.1.4 Access for DNA Class
    6. Exercise 5.1.5 Access for Employee Class
    7. Exercise 5.1.6 Fixing Circle
    8. 5.2 Constructors

    9. Video 5.2.1 Constructors
    10. Check for Understanding 5.2.2 Quiz: Constructors
    11. Example 5.2.3 SuperHero Class
    12. Example 5.2.4 Initializing an Object without a Constructor
    13. Exercise 5.2.5 Batting Average
    14. Exercise 5.2.6 Dog Class
    15. Exercise 5.2.7 Student Overload
    16. Exercise 5.2.8 SchoolClub Class
    17. 5.3 Documentation with Comments

    18. Video 5.3.1 Documentation with Comments
    19. Check for Understanding 5.3.2 Quiz: Comments
    20. Example 5.3.3 Comments for Debugging
    21. Example 5.3.4 Power Class with Comments
    22. Exercise 5.3.5 Commenting Activity Tracker
    23. Exercise 5.3.6 Commenting Activity Log
    24. Exercise 5.3.7 C.Y.O.A. Layout
    25. Exercise 5.3.8 C.Y.O.A. Finishing the story
    26. 5.4 Accessor Methods

    27. Video 5.4.1 Accessor Methods
    28. Check for Understanding 5.4.2 Quiz: Accessors
    29. Example 5.4.3 Student Getter Methods
    30. Example 5.4.4 SuperHero Class with Secret Identity
    31. Exercise 5.4.5 Text Messages Getter Methods
    32. Exercise 5.4.6 Full Dragon Class
    33. Exercise 5.4.7 A Different Dragon Class
    34. Exercise 5.4.8 A Chef's Best Meal
    35. 5.5 Mutator Methods

    36. Video 5.5.1 Mutator Methods
    37. Check for Understanding 5.5.2 Quiz: Mutators
    38. Example 5.5.3 SuperHero Class with Mutator Methods
    39. Example 5.5.4 Student Setters
    40. Exercise 5.5.5 Rectangle class
    41. Exercise 5.5.6 Full Fraction Class
    42. Exercise 5.5.7 Weekly Routine
    43. 5.6 Writing Methods

    44. Video 5.6.1 Writing Methods
    45. Check for Understanding 5.6.2 Quiz: Writing Methods
    46. Example 5.6.3 Triangle Class
    47. Example 5.6.4 Baseball Player Class
    48. Exercise 5.6.5 Distance Conversions
    49. Exercise 5.6.6 Food App Demo
    50. Exercise 5.6.7 Car Class
    51. Resource 5.6.8 Combination Lock FRQ
    52. 5.7 Static Variables and Methods

    53. Video 5.7.1 Static Variables and Methods
    54. Check for Understanding 5.7.2 Quiz: Static Methods
    55. Example 5.7.3 Static SuperHero
    56. Example 5.7.4 Static Variables: Circle
    57. Exercise 5.7.5 Randomizer Class
    58. Exercise 5.7.6 Rock, Paper, Scissors!
    59. Exercise 5.7.7 How Many Players in the Game?
    60. 5.8 Scope and Access

    61. Video 5.8.1 Scope and Access
    62. Check for Understanding 5.8.2 Quiz: Local Variables and Scope
    63. Example 5.8.3 Instance Variable Scope
    64. Example 5.8.4 Local Variable Scope
    65. Example 5.8.5 Variable Shadowing
    66. Example 5.8.6 Method Decomposition with Triva
    67. Exercise 5.8.7 Scope
    68. Exercise 5.8.8 Which Variables Exist?
    69. Exercise 5.8.9 Broken Calculator
    70. 5.9 this Keyword

    71. Video 5.9.1 this Keyword
    72. Check for Understanding 5.9.2 Quiz: this Keyword
    73. Example 5.9.3 Rectangles and this
    74. Example 5.9.4 Student and this
    75. Exercise 5.9.5 Write Your Own CodeHS
    76. Exercise 5.9.6 Song Class
    77. Exercise 5.9.7 Fraction Math
    78. 5.10 Ethical and Social Implications of Computing

    79. Video 5.10.1 Implications of Computing Systems
    80. Free Response 5.10.2 Computing and Your Life
    81. Check for Understanding 5.10.3 Quiz: Ethical and Social Impact
    82. Connection 5.10.4 ACM General Ethical Principles
    83. Free Response 5.10.5 ACM General Ethical Principles
    84. Connection 5.10.6 Bias in Facial Recognition
    85. Free Response 5.10.7 Bias in Facial Recognition
    86. Connection 5.10.8 Self-driving Cars
    87. Free Response 5.10.9 Self-driving Cars
    88. 5.11 Writing Classes Quiz

    89. Unit Quiz 5.11.1 Writing Classes Quiz
  6. Array

    1. 6.1 Array

    2. Video 6.1.1 Introduction to Arrays
    3. Check for Understanding 6.1.2 Quiz: Arrays
    4. Example 6.1.3 Making an Array
    5. Example 6.1.4 Make an Empty Array
    6. Example 6.1.5 Indexing Into an Array
    7. Exercise 6.1.6 Our First Array
    8. Exercise 6.1.7 Set Scores
    9. Exercise 6.1.8 Last Element in Array
    10. Exercise 6.1.9 Snap Shot Splash Screen
    11. 6.2 Traversing Arrays

    12. Video 6.2.1 Using Arrays
    13. Check for Understanding 6.2.2 Quiz: Using Arrays
    14. Example 6.2.3 Iterating Over An Array - For Loop
    15. Example 6.2.4 Iterating Over An Array - While Loop
    16. Example 6.2.5 Array Out of Bounds
    17. Example 6.2.6 Finding a Target Value
    18. Exercise 6.2.7 Print Array
    19. Exercise 6.2.8 Print Odd Array Indices
    20. Exercise 6.2.9 Find Index of a String
    21. Exercise 6.2.10 Fibonacci Sequence
    22. 6.3 Enhanced for Loop for Arrays

    23. Video 6.3.1 Enhanced For Loop for Arrays
    24. Check for Understanding 6.3.2 Enhanced For Loop for Arrays
    25. Example 6.3.3 Enhanced For Loop
    26. Example 6.3.4 Classroom Array
    27. Example 6.3.5 Updating Values in a Loop
    28. Exercise 6.3.6 Print Odds
    29. Exercise 6.3.7 Largest Value
    30. Exercise 6.3.8 Classroom Array
    31. Exercise 6.3.9 Array Average
    32. 6.4 Developing Algorithms Using Arrays

    33. Video 6.4.1 Developing Algorithms Using Arrays
    34. Check for Understanding 6.4.2 Developing Algorithms Using Arrays
    35. Example 6.4.3 Finding the Minimum Value
    36. Example 6.4.4 Reordering an Array
    37. Example 6.4.5 Finding Duplicates
    38. Exercise 6.4.6 Find the Median
    39. Exercise 6.4.7 Find the Last Multiple of 3
    40. Exercise 6.4.8 Most Improved
    41. Challenge 6.4.9 Car Showroom
    42. 6.5 Array Quiz

    43. Unit Quiz 6.5.1 Array Quiz
  7. ArrayList

    1. 7.1 ArrayList

    2. Video 7.1.1 ArrayLists
    3. Check for Understanding 7.1.2 Quiz: ArrayList
    4. Example 7.1.3 Initializing an ArrayList
    5. Example 7.1.4 Array vs. ArrayList Initialization
    6. Free Response 7.1.5 Arrays vs. ArrayLists
    7. Exercise 7.1.6 Initializing an ArrayList
    8. Exercise 7.1.7 Car Inventory
    9. 7.2 ArrayList Methods

    10. Video 7.2.1 ArrayLists Methods
    11. Check for Understanding 7.2.2 Quiz: ArrayList Methods
    12. Example 7.2.3 ArrayList and Java Primitives
    13. Example 7.2.4 ArrayList Methods
    14. Example 7.2.5 Array vs. ArrayList Methods
    15. Exercise 7.2.6 Get First Element
    16. Exercise 7.2.7 ArrayList of Even Numbers
    17. Exercise 7.2.8 Teacher Class List
    18. Exercise 7.2.9 Teacher Class List Methods
    19. 7.3 Traversing ArrayLists

    20. Video 7.3.1 Traversing ArrayLists
    21. Check for Understanding 7.3.2 Quiz: Traversing Arrays
    22. Example 7.3.3 Reading List
    23. Example 7.3.4 While Loop ArrayList Traversal
    24. Example 7.3.5 ArrayList Traversing Error
    25. Exercise 7.3.6 Traversing Odds
    26. Exercise 7.3.7 ArrayList Helper Methods
    27. Exercise 7.3.8 Road Trip!
    28. 7.4 Developing Algorithms using ArrayLists

    29. Video 7.4.1 Developing Algorithms Using ArrayLists
    30. Check for Understanding 7.4.2 Quiz: Developing Algorithms
    31. Example 7.4.3 Traversing ArrayLists Simultaneously
    32. Example 7.4.4 Inserting Elements While Traversing ArrayLists
    33. Exercise 7.4.5 ArrayList equals
    34. Exercise 7.4.6 Airline Tickets
    35. Exercise 7.4.7 Billboard Top 10
    36. Exercise 7.4.8 User Data Cleanup
    37. 7.5 Searching

    38. Video 7.5.1 Linear Search
    39. Check for Understanding 7.5.2 Quiz: Linear Search
    40. Example 7.5.3 Linear Search
    41. Exercise 7.5.4 Linear Search on ArrayList with While Loop
    42. Exercise 7.5.5 Fantasy Football Roster
    43. Resource 7.5.6 Card Collection FRQ
    44. 7.6 Sorting

    45. Video 7.6.1 Selection Sort
    46. Check for Understanding 7.6.2 Selection Sort
    47. Example 7.6.3 Selection Sort
    48. Exercise 7.6.4 Explore Selection Sort
    49. Video 7.6.5 Insertion Sort
    50. Check for Understanding 7.6.6 Insertion Sort
    51. Example 7.6.7 Insertion Sort
    52. Example 7.6.8 Visualizing Algorithms
    53. Exercise 7.6.9 Explore Insertion Sort
    54. Exercise 7.6.10 Selection Sort vs. Insertion Sort Run Time
    55. Free Response 7.6.11 Selection Sort vs. Insertion Sort
    56. Exercise 7.6.12 Phonebook
    57. 7.7 Ethical Issues Around Data Collection

    58. Video 7.7.1 Ethical Issues Around Data Collection
    59. Check for Understanding 7.7.2 Ethical Issues Around Data Collection
    60. Connection 7.7.3 The Curly Fry Conundrum
    61. Free Response 7.7.4 Reflection
    62. Connection 7.7.5 Guidelines on Ethical Data Use
    63. Free Response 7.7.6 Issue News Article
    64. Badge 7.7.7 ArrayList Badge
    65. 7.8 ArrayList Quiz

    66. Unit Quiz 7.8.1 ArrayList Quiz
  8. 2D Array

    1. 8.1 2D Arrays

    2. Video 8.1.1 2D Arrays
    3. Check for Understanding 8.1.2 Quiz: 2D Arrays
    4. Example 8.1.3 GradeBook
    5. Example 8.1.4 ChessBoard
    6. Exercise 8.1.5 Manipulating 2D Arrays
    7. Exercise 8.1.6 Complete Chessboard
    8. Exercise 8.1.7 Tic Tac Toe Board
    9. 8.2 Traversing 2D Arrays

    10. Video 8.2.1 Traversing 2D Arrays
    11. Check for Understanding 8.2.2 Quiz: Traversing 2D Arrays
    12. Example 8.2.3 Traversing Gradebook
    13. Example 8.2.4 Linear Search 2D Arrays
    14. Example 8.2.5 Row vs. Column Major
    15. Free Response 8.2.6 Row vs. Column Major
    16. Exercise 8.2.7 Sum Rows in a 2D Array
    17. Exercise 8.2.8 Tic Tac Toe Methods
    18. Challenge 8.2.9 Finalizing Tic Tac Toe
    19. Badge 8.2.10 2D Array Badge
    20. 8.3 2D Array Quiz

    21. Unit Quiz 8.3.1 2D Array Quiz
  9. Inheritance

    1. 9.1 Inheritance

    2. Video 9.1.1 Inheritance
    3. Check for Understanding 9.1.2 Quiz: Subclasses and Superclasses
    4. Example 9.1.3 Person Superclass
    5. Example 9.1.4 Vehicle Superclass
    6. Example 9.1.5 High School Student
    7. Exercise 9.1.6 Person / Student Object
    8. Exercise 9.1.7 Books
    9. Exercise 9.1.8 Computers
    10. Exercise 9.1.9 More Animals!
    11. 9.2 Writing Constructors for Subclasses

    12. Video 9.2.1 Writing Constructors for Subclasses
    13. Check for Understanding 9.2.2 Quiz: Writing Constructors for Subclasses
    14. Example 9.2.3 Student Subclass
    15. Example 9.2.4 Shape Class
    16. Example 9.2.5 Implicit Call to Super
    17. Exercise 9.2.6 Students
    18. Exercise 9.2.7 Instruments
    19. Exercise 9.2.8 Foods
    20. Exercise 9.2.9 Clothing Store
    21. 9.3 Overriding Methods

    22. Video 9.3.1 Overriding Methods
    23. Check for Understanding 9.3.2 Quiz: Overriding Methods
    24. Example 9.3.3 Square is a Rectangle
    25. Example 9.3.4 Student toString
    26. Example 9.3.5 Restaurant Bills
    27. Exercise 9.3.6 Dogs Bark
    28. Exercise 9.3.7 Electric Cars
    29. Exercise 9.3.8 Online Companies
    30. 9.4 super Keyword

    31. Video 9.4.1 super Keyword
    32. Check for Understanding 9.4.2 Quiz: super Keyword
    33. Example 9.4.3 Square Class
    34. Example 9.4.4 Animal Class
    35. Example 9.4.5 Apple Pie
    36. Exercise 9.4.6 Squares
    37. Exercise 9.4.7 Bank Accounts
    38. Exercise 9.4.8 Employees
    39. Exercise 9.4.9 Student Test Scores
    40. 9.5 Creating References Using Inheritance

    41. Video 9.5.1 Creating References Using Inheritance Hierarchies
    42. Check for Understanding 9.5.2 Quiz: References Using Inheritance Hierarchies
    43. Example 9.5.3 Animal Sounds
    44. Example 9.5.4 Shape Areas
    45. Example 9.5.5 Person Class
    46. Exercise 9.5.6 Pies
    47. Exercise 9.5.7 Creating .equals
    48. Exercise 9.5.8 Online Companies Revisited
    49. Exercise 9.5.9 Assignments
    50. 9.6 Polymorphism

    51. Video 9.6.1 Polymorphism
    52. Check for Understanding 9.6.2 Quiz: Polymorphism
    53. Example 9.6.3 Using Person Methods
    54. Example 9.6.4 Modified Student Class
    55. Example 9.6.5 Vehicle Methods
    56. Exercise 9.6.6 Which Team?
    57. Exercise 9.6.7 Cars
    58. Exercise 9.6.8 Library Books
    59. Exercise 9.6.9 Fun with Solids
    60. 9.7 Object Superclass

    61. Video 9.7.1 Object Superclass
    62. Check for Understanding 9.7.2 Quiz: Object Superclass
    63. Example 9.7.3 Default Values
    64. Example 9.7.4 Override toString
    65. Example 9.7.5 Override equals
    66. Exercise 9.7.6 Equal?
    67. Exercise 9.7.7 Equals? - Part 2
    68. Exercise 9.7.8 Equal Rectangles
    69. Exercise 9.7.9 2D Array Tester
    70. 9.8 Inheritance Quiz

    71. Unit Quiz 9.8.1 Inheritance Quiz
  10. Recursion

    1. 10.1 Recursion

    2. Video 10.1.1 Recursion
    3. Check for Understanding 10.1.2 Quiz: Recursion
    4. Example 10.1.3 Summing
    5. Example 10.1.4 Sum Array
    6. Example 10.1.5 Fibonacci Recursion
    7. Exercise 10.1.6 Factorial
    8. Exercise 10.1.7 Countdown!
    9. Exercise 10.1.8 Recursive Minimum
    10. Exercise 10.1.9 Bacteria Cultures
    11. 10.2 Recursive Searching

    12. Video 10.2.1 Recursive Searching
    13. Check for Understanding 10.2.2 Quiz: Recursive Searching
    14. Example 10.2.3 Binary Search
    15. Example 10.2.4 Binary Recursive
    16. Example 10.2.5 Binary vs Linear
    17. Exercise 10.2.6 Exploring Binary Searches
    18. Exercise 10.2.7 Comparing Binary Search and Linear Search
    19. Exercise 10.2.8 Maximum Iterations
    20. 10.3 Recursive Sorting

    21. Video 10.3.1 Recursive Sorting
    22. Check for Understanding 10.3.2 Quiz: Recursive Sorting
    23. Example 10.3.3 Merge Sort
    24. Example 10.3.4 Sort Visualizer
    25. Exercise 10.3.5 Explore Merge Sort
    26. Exercise 10.3.6 Merge Sort Benchmark Testing
    27. Exercise 10.3.7 Recursive Calls
    28. Exercise 10.3.8 Sort Benchmark Testing
    29. 10.4 Recursion Quiz

    30. Unit Quiz 10.4.1 Recursion Quiz
  11. Introduction to Programming in Java with Karel the Dog

    1. 11.1 Introduction to Programming With Karel

    2. Video 11.1.1 Introduction to Programming With Karel
    3. Check for Understanding 11.1.2 Quiz: Karel Commands
    4. Example 11.1.3 Our First Karel Program
    5. Exercise 11.1.4 Your First Karel Program
    6. Exercise 11.1.5 Short Stack
    7. 11.2 More Basic Karel

    8. Video 11.2.1 More Basic Karel
    9. Check for Understanding 11.2.2 More Basic Karel
    10. Example 11.2.3 Tennis Ball Square
    11. Exercise 11.2.4 Make a Tower
    12. Exercise 11.2.5 Pyramid of Karel
    13. 11.3 Java Programs and the Run Method

    14. Video 11.3.1 Writing a Java Program
    15. Check for Understanding 11.3.2 Run Method
    16. Example 11.3.3 Square Karel
    17. Exercise 11.3.4 Tower Karel
    18. Exercise 11.3.5 Gold Medal Karel
    19. Exercise 11.3.6 Maze Karel
    20. 11.4 Karel Can't Turn Right

    21. Video 11.4.1 Karel Can't Turn Right
    22. Check for Understanding 11.4.2 Karel Can't Turn Right
    23. Example 11.4.3 Tower and Turn Right
    24. Exercise 11.4.4 Slide Karel
    25. Exercise 11.4.5 Fireman Karel
    26. Badge 11.4.6 Right Turn Karel Badge
    27. 11.5 Methods in Karel

    28. Video 11.5.1 Methods in Karel
    29. Check for Understanding 11.5.2 Methods in Karel
    30. Example 11.5.3 Turn Around
    31. Exercise 11.5.4 Planting Bushes
    32. Exercise 11.5.5 Mario Karel
    33. 11.6 Top Down Design and Decomposition in Karel

    34. Video 11.6.1 Top Down Design and Decomposition in Karel
    35. Check for Understanding 11.6.2 Top Down Design and Decomposition
    36. Example 11.6.3 Hurdle Karel
    37. Exercise 11.6.4 The Two Towers
    38. Exercise 11.6.5 Planting Flowers
    39. 11.7 Commenting Your Code

    40. Video 11.7.1 Commenting Your Code
    41. Check for Understanding 11.7.2 Commenting Your Code
    42. Example 11.7.3 Hurdle Karel (Comments)
    43. Exercise 11.7.4 The Two Towers + Comments
    44. 11.8 Super Karel

    45. Video 11.8.1 Super Karel
    46. Check for Understanding 11.8.2 Super Karel
    47. Example 11.8.3 Hurdle Karel (with SuperKarel)
    48. Exercise 11.8.4 The Two Towers + SuperKarel
    49. Badge 11.8.5 Super Karel Badge
    50. 11.9 For Loops

    51. Video 11.9.1 For Loops
    52. Check for Understanding 11.9.2 For Loops
    53. Example 11.9.3 Repeated Move
    54. Example 11.9.4 Put Down Tennis Balls
    55. Exercise 11.9.5 Marathon Karel
    56. Exercise 11.9.6 Take 'em All
    57. Exercise 11.9.7 Dizzy Karel
    58. Exercise 11.9.8 For Loop Square
    59. Exercise 11.9.9 Planting Flowers
    60. Exercise 11.9.10 Lots of Hurdles
    61. 11.10 While Loops in Karel

    62. Video 11.10.1 While Loops in Karel
    63. Check for Understanding 11.10.2 While Loops in Karel
    64. Example 11.10.3 Move to Wall
    65. Exercise 11.10.4 Follow The Yellow Ball Road
    66. Exercise 11.10.5 Just Keep Spinning
    67. Exercise 11.10.6 Lay Row of Tennis Balls
    68. Exercise 11.10.7 Big Tower
    69. 11.11 If Statements

    70. Video 11.11.1 If Statements
    71. Check for Understanding 11.11.2 If Statements Quiz
    72. Example 11.11.3 If Statements
    73. Example 11.11.4 Safe Take Ball
    74. Exercise 11.11.5 Is There a Ball?
    75. 11.12 If/Else Statements

    76. Video 11.12.1 If/Else Statements
    77. Check for Understanding 11.12.2 If/Else Statements
    78. Example 11.12.3 Flip Karel
    79. Exercise 11.12.4 Fix It Karel
    80. Exercise 11.12.5 Invert
    81. Badge 11.12.6 Conditional Karel Badge
    82. 11.13 Control Structures Example

    83. Video 11.13.1 Control Structures Example
    84. Check for Understanding 11.13.2 Control Structures Example
    85. Example 11.13.3 Cleanup Karel
    86. Exercise 11.13.4 Random Hurdles
    87. Exercise 11.13.5 Fix It Karel
    88. 11.14 More Karel Examples and Testing

    89. Video 11.14.1 More Karel Examples and Testing
    90. Example 11.14.2 Move Tennis Ball Stack
    91. Example 11.14.3 Climbing Karel
    92. 11.15 How to Indent Your Code

    93. Video 11.15.1 How to Indent Your Code
    94. Check for Understanding 11.15.2 How to Indent Your Code
    95. Example 11.15.3 Dance and Clean Karel
    96. Exercise 11.15.4 Diagonal
    97. Exercise 11.15.5 Staircase
    98. Badge 11.15.6 Karel Exercises Badge
    99. 11.16 Karel Challenges

    100. Challenge 11.16.1 Fetch
    101. Challenge 11.16.2 Racing Karel
    102. Challenge 11.16.3 Tower Builder
    103. Challenge 11.16.4 Super Cleanup Karel
    104. Challenge 11.16.5 Double Tennis Balls
    105. Challenge 11.16.6 Midpoint Karel
    106. Badge 11.16.7 Karel Challenges Badge
    107. 11.17 Unit 1 Quiz

    108. Unit Quiz 11.17.1 AP Java Unit 1
  12. AP Test Practice

    1. 12.1 AP Practice Test 1

    2. Final 12.1.1 Final AP Review
    3. Practice 12.1.2 Free Response 1a
    4. Practice 12.1.3 Free Response 1b
    5. Practice 12.1.4 Free Response 2a
    6. Practice 12.1.5 Free Response 2b
    7. Practice 12.1.6 Free Response 3a
    8. Exercise 12.1.7 Free Response 3b
    9. Exercise 12.1.8 Free Response 4a
    10. Exercise 12.1.9 Free Response 4b
    11. Badge 12.1.10 AP Practice Test Badge
  13. Java Pretest

    1. 13.1 Java Pretest

    2. Notes 13.1.1 About the Pretest
    3. Survey 13.1.2 Mindsets
    4. Quiz 13.1.3 Knowledge & Skills: Java
  14. Java Posttest

    1. 14.1 Java Posttest

    2. Notes 14.1.1 About the Posttest
    3. Survey 14.1.2 Mindsets
    4. Quiz 14.1.3 Java Knowledge & Skills
  15. Teacher Feedback

    1. 15.1 Teacher Feedback

    2. Resource 15.1.1 Feedback Survey
  16. Additional Exercises

    1. 16.1 Unit 3

    2. Example 16.1.1 Lesson 3.2 Air Hockey
    3. Exercise 16.1.2 Lesson 3.2 Constructions
    4. Exercise 16.1.3 Lesson 3.2 Game Bonus
    5. Example 16.1.4 Lesson 3.3 Floating Point Error
    6. Exercise 16.1.5 Lesson 3.3 Comparing Doubles
    7. Exercise 16.1.6 Lesson 3.4 Classifying the Rich
    8. Exercise 16.1.7 Lesson 3.4 Mesozoic Age
    9. Challenge 16.1.8 Lesson 3.4 Dinosaurs
    10. Exercise 16.1.9 Lesson 3.5 Salmon Season
    11. Exercise 16.1.10 Lesson 3.6 Used Car
    12. Example 16.1.11 Lesson 3.7 Changing Dogs
    13. Example 16.1.12 Lesson 3.7 Creating Strings with New
    14. Example 16.1.13 Lesson 3.7 Creating Strings with Literals
    15. 16.2 Unit 4

    16. Exercise 16.2.1 Lesson 4.1 Find Digits
    17. Exercise 16.2.2 Lesson 4.2 Factorial
    18. Exercise 16.2.3 Lesson 4.2 Five Little Ducks
    19. Exercise 16.2.4 Lesson 4.3 Fix the Sum
    20. Example 16.2.5 Lesson 4.5 Values Held in Variables
    21. Quiz 16.2.6 Lesson 4.5 Values Held in Variables
    22. Exercise 16.2.7 Lesson 4.5 Values Held In Variables
    23. Example 16.2.8 Lesson 4.5 Variable Trace
    24. Free Response 16.2.9 Lesson 4.5 Variable Trace
    25. 16.3 Unit 5

    26. Quiz 16.3.1 Lesson 5.10 Ethical Programmer Agreement
    27. Presentation 16.3.2 Lesson 5.10 Explore a Software Application
    28. Free Response 16.3.3 Lesson 5.10 Career Choice and Computing
    29. 16.4 Unit 7

    30. Exercise 16.4.1 The Congo Company - Marketing Analysis
    31. Free Response 16.4.2 The Congo Company - Strategy
    32. Exercise 16.4.3 The Congo Company - Optimization
  17. Elevens

    1. 17.1 Elevens

    2. Connection 17.1.1 Elevens Activity Guide
    3. Exercise 17.1.2 Activity 1: Design and Create a Card Class
    4. Exercise 17.1.3 Activity 2: Initial Design of a Deck Class
    5. Free Response 17.1.4 Activity 2 Questions
    6. Exercise 17.1.5 Activity 3: Shuffling the Cards in a Deck
    7. Free Response 17.1.6 Activity 3 Questions
    8. Exercise 17.1.7 Activity 4: Adding a Shuffle Method to the Deck
    9. Exercise 17.1.8 Activity 6: Playing Elevens
    10. Free Response 17.1.9 Activity 6 Questions
    11. Exercise 17.1.10 Activity 7: Elevens Board Class Design
    12. Free Response 17.1.11 Activity 7 Questions
    13. Exercise 17.1.12 Activity 8: Using an Abstract Board Class
    14. Free Response 17.1.13 Activity 8 Questions
    15. Exercise 17.1.14 Activity 9: Implementing the Elevens Board
    16. Free Response 17.1.15 Activity 9 Questions
  18. Magpie

    1. 18.1 Magpie Lab

    2. Connection 18.1.1 Magpie Student Guide
    3. Free Response 18.1.2 Activity 1: Chatbots
    4. Example 18.1.3 Activity 2: Introduction to Magpie
    5. Exercise 18.1.4 Activity 2: Modifying Magpie
    6. Free Response 18.1.5 Activity 2: Questions
    7. Exercise 18.1.6 Activity 3: Improving Keyword Detection
    8. Exercise 18.1.7 Activity 4: Responses that Transform Statements
  19. Picture Lab

    1. 19.1 Picture Lab

    2. Resource 19.1.1 Introduction & Student Guide
    3. Free Response 19.1.2 A1: Digital Pictures and Color
    4. Example 19.1.3 A2: Picking a Color
    5. Free Response 19.1.4 A2 Questions: Picking a Color
    6. Example 19.1.5 A3: Exploring a Picture
    7. Free Response 19.1.6 A3 Questions: Exploring a Picture
    8. Exercise 19.1.7 A4: Two-Dimensional Arrays in Java
    9. Free Response 19.1.8 A5: Interfaces
    10. Exercise 19.1.9 A5: Modifying a Picture
    11. Exercise 19.1.10 A6: Mirroring a Picture
    12. Exercise 19.1.11 A9: Edge Detection
  20. Consumer Review Lab

    1. 20.1 Introduction

    2. Resource 20.1.1 Consumer Review Lab Activity Guide
    3. Exercise 20.1.2 Review
    4. Free Response 20.1.3 Review Free Response
    5. Check for Understanding 20.1.4 Check For Understanding
    6. 20.2 Sentiment Value and Star Ratings

    7. Exercise 20.2.1 Sentiment Value
    8. Free Response 20.2.2 Sentiment Value Free Response
    9. 20.3 Autogenerated Review

    10. Exercise 20.3.1 Autogenerate Review
    11. Free Response 20.3.2 Autogenerate Review Free Response
    12. 20.4 Create a Negative or Positive Review

    13. Exercise 20.4.1 Create a Negative or Positive Review
    14. Free Response 20.4.2 Create a Negative or Positive Review
    15. 20.5 Open Ended Activity!

    16. Exercise 20.5.1 Final Activity
    17. Free Response 20.5.2 Wrap Up
  21. Celebrity Lab

    1. 21.1 Activity 1: Introduction to Celebrity

    2. Free Response 21.1.1 Introduction to Celebrity
    3. 21.2 Activity 2: The Celebrity Class: A Simple Version

    4. Free Response 21.2.1 Celebrity Class: A Simple Version
    5. Exercise 21.2.2 Celebrity Constructor
    6. 21.3 Activity 3: Putting it All Together

    7. Exercise 21.3.1 Set up Constructors
    8. Exercise 21.3.2 Setting up the Game
    9. Exercise 21.3.3 Complete Game Play Methods
    10. Free Response 21.3.4 Check Your Understanding
    11. 21.4 Activity 4: Extending the Celebrity Class

    12. Free Response 21.4.1 Extending the Celebrity Class
    13. Example 21.4.2 Literature Celebrity
    14. Exercise 21.4.3 Custom Celebrity
    15. Exercise 21.4.4 Updating CelebrityGame
    16. Exercise 21.4.5 Updating the GUI
    17. 21.5 Activity 5: Open Ended Activity

    18. Free Response 21.5.1 Open Ended Activity
  22. Steganography Lab

    1. 22.1 Activity 1: Exploring Color

    2. Resource 22.1.1 Steganography Student Lab
    3. Free Response 22.1.2 Picture Lab A1: Digital Pictures and Color
    4. Free Response 22.1.3 Exploring Color
    5. Example 22.1.4 Clearing Bits
    6. Free Response 22.1.5 Clearing Bits Responses
    7. Exercise 22.1.6 Changing Colors
    8. Free Response 22.1.7 Changing Colors Response
    9. Exercise 22.1.8 Setting Bits
    10. 22.2 Activity 2: Hiding and Revealing a Picture

    11. Free Response 22.2.1 Hiding and Revealing
    12. Exercise 22.2.2 Hiding and Revealing
    13. 22.3 Activity 3: Identifying a Hidden Picture

    14. Exercise 22.3.1 Identifying a Hidden Picture
    15. Free Response 22.3.2 Identify a Hidden Picture: Check Your Understandin
    16. 22.4 Activity 4: Hiding and Revealing a Text Message

    17. Free Response 22.4.1 Hiding and Revealing a Text Message Intro
    18. Exercise 22.4.2 Hiding and Revealing a Text Message
    19. Free Response 22.4.3 Hiding and Revealing; Check your Understanding
    20. 22.5 Activity 5: Open Ended Project

    21. Exercise 22.5.1 Open Ended Project
  23. Deprecated Activities 08/25/21