Please enable JavaScript to use CodeHS

AP Computer Science A (Nitro) - Outline

  1. Primitive Types

    1. 1.1 Welcome to AP CS A!

    2. Video 1.1.1 Welcome to AP CS A
    3. 1.2 Why Programming? Why Java?

    4. Video 1.2.1 Printing in Java
    5. Check for Understanding 1.2.2 Printing in Java
    6. Example 1.2.3 Hello World
    7. Example 1.2.4 Printing Multiple Lines
    8. Exercise 1.2.5 Welcome Program
    9. Exercise 1.2.6 ASCII Art
    10. Exercise 1.2.7 Fixing a Paragraph
    11. Exercise 1.2.8 Heating Up
    12. Exercise 1.2.9 Personal Timeline
    13. 1.3 Variables and Data Types

    14. Video 1.3.1 Variables and Types
    15. Check for Understanding 1.3.2 Variables and Types
    16. Example 1.3.3 Variables
    17. Example 1.3.4 Using Final
    18. Exercise 1.3.5 Our First Integer
    19. Video 1.3.6 Variables and Types Pt. 2
    20. Check for Understanding 1.3.7 Variables and Types Pt. 2
    21. Example 1.3.8 Swapping Two Values
    22. Exercise 1.3.9 Answering Questions
    23. Exercise 1.3.10 Team Rankings
    24. 1.4 Expressions and Assignment Statements

    25. Video 1.4.1 Arithmetic Expressions
    26. Check for Understanding 1.4.2 Arithmetic Expressions
    27. Example 1.4.3 Calculator
    28. Example 1.4.4 Temperature Conversion
    29. Example 1.4.5 Tricky Java
    30. Exercise 1.4.6 Weight of a Pyramid
    31. Exercise 1.4.7 Add Fractions
    32. Exercise 1.4.8 Freely Falling Bodies
    33. 1.5 Compound Assignment Operators

    34. Video 1.5.1 Compound Assignment Operators
    35. Check for Understanding 1.5.2 Compound Assignment Operators
    36. Example 1.5.3 All Functions Calculator
    37. Example 1.5.4 Increase/Decrease by 1
    38. Exercise 1.5.5 Work Shift
    39. Exercise 1.5.6 My Age
    40. 1.6 User Input

    41. Video 1.6.1 User Input
    42. Check for Understanding 1.6.2 User Input Quiz
    43. Example 1.6.3 Increase/Decrease by 1 (User Input)
    44. Example 1.6.4 int Before String
    45. Exercise 1.6.5 My Age (User Input)
    46. Exercise 1.6.6 Night Out
    47. Exercise 1.6.7 MLA Citation
    48. 1.7 Casting and Ranges of Variables

    49. Video 1.7.1 Casting
    50. Check for Understanding 1.7.2 Casting
    51. Example 1.7.3 Casting
    52. Exercise 1.7.4 Casting to an Int
    53. Exercise 1.7.5 Casting to a Double
    54. Example 1.7.6 Casting Order of Operations
    55. Example 1.7.7 Rounding Using Casting
    56. Exercise 1.7.8 Movie Ratings
    57. Example 1.7.9 Implicit Casting
    58. Example 1.7.10 Min and Max Values of Integers
    59. Exercise 1.7.11 Integer Overflow
    60. 1.8 Primitive Types Quiz

    61. Unit Quiz 1.8.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 Using the Scanner Class
    28. Example 2.3.6 Null Pointer Exception
    29. Exercise 2.3.7 Plain Coffee
    30. Exercise 2.3.8 Custom Piñatas
    31. Exercise 2.3.9 Website Class
    32. Exercise 2.3.10 Empty References
    33. 2.4 Calling a Void Method

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

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

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

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

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

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

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

    101. 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. Resource 11.1.1 Using Karel in Java
    3. Video 11.1.2 Introduction to Programming With Karel
    4. Check for Understanding 11.1.3 Quiz: Karel Commands
    5. Example 11.1.4 Our First Karel Program
    6. Exercise 11.1.5 Your First Karel Program
    7. Exercise 11.1.6 Short Stack
    8. 11.2 More Basic Karel

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    109. 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. Unit Quizzes

    1. 20.1 Unit Quizzes

    2. Unit Quiz 20.1.1 Primitive Types Quiz
    3. Unit Quiz 20.1.2 Using Objects Quiz
    4. Unit Quiz 20.1.3 Boolean Expressions and If Statements Quiz
    5. Unit Quiz 20.1.4 Iteration Quiz
    6. Unit Quiz 20.1.5 Writing Classes Quiz
    7. Unit Quiz 20.1.6 Array Quiz
    8. Unit Quiz 20.1.7 ArrayList Quiz
    9. Unit Quiz 20.1.8 2D Array Quiz
    10. Unit Quiz 20.1.9 Inheritance Quiz
    11. Unit Quiz 20.1.10 Recursion Quiz
  21. Consumer Review Lab

    1. 21.1 Introduction

    2. Resource 21.1.1 Consumer Review Lab Activity Guide
    3. Exercise 21.1.2 Review
    4. Free Response 21.1.3 Review Free Response
    5. Check for Understanding 21.1.4 Check For Understanding
    6. 21.2 Sentiment Value and Star Ratings

    7. Exercise 21.2.1 Sentiment Value
    8. Free Response 21.2.2 Sentiment Value Free Response
    9. 21.3 Autogenerated Review

    10. Exercise 21.3.1 Autogenerate Review
    11. Free Response 21.3.2 Autogenerate Review Free Response
    12. 21.4 Create a Negative or Positive Review

    13. Exercise 21.4.1 Create a Negative or Positive Review
    14. Free Response 21.4.2 Create a Negative or Positive Review
    15. 21.5 Open Ended Activity!

    16. Exercise 21.5.1 Final Activity
    17. Free Response 21.5.2 Wrap Up
  22. Celebrity Lab

    1. 22.1 Activity 1: Introduction to Celebrity

    2. Free Response 22.1.1 Introduction to Celebrity
    3. 22.2 Activity 2: The Celebrity Class: A Simple Version

    4. Free Response 22.2.1 Celebrity Class: A Simple Version
    5. Exercise 22.2.2 Celebrity Constructor
    6. 22.3 Activity 3: Putting it All Together

    7. Exercise 22.3.1 Set up Constructors
    8. Exercise 22.3.2 Setting up the Game
    9. Exercise 22.3.3 Complete Game Play Methods
    10. Free Response 22.3.4 Check Your Understanding
    11. 22.4 Activity 4: Extending the Celebrity Class

    12. Free Response 22.4.1 Extending the Celebrity Class
    13. Example 22.4.2 Literature Celebrity
    14. Exercise 22.4.3 Custom Celebrity
    15. Exercise 22.4.4 Updating CelebrityGame
    16. Exercise 22.4.5 Updating the GUI
    17. 22.5 Activity 5: Open Ended Activity

    18. Free Response 22.5.1 Open Ended Activity
  23. Steganography Lab

    1. 23.1 Activity 1: Exploring Color

    2. Resource 23.1.1 Steganography Student Lab
    3. Free Response 23.1.2 Picture Lab A1: Digital Pictures and Color
    4. Free Response 23.1.3 Exploring Color
    5. Example 23.1.4 Clearing Bits
    6. Free Response 23.1.5 Clearing Bits Responses
    7. Exercise 23.1.6 Changing Colors
    8. Free Response 23.1.7 Changing Colors Response
    9. Exercise 23.1.8 Setting Bits
    10. 23.2 Activity 2: Hiding and Revealing a Picture

    11. Free Response 23.2.1 Hiding and Revealing
    12. Exercise 23.2.2 Hiding and Revealing
    13. 23.3 Activity 3: Identifying a Hidden Picture

    14. Exercise 23.3.1 Identifying a Hidden Picture
    15. Free Response 23.3.2 Identify a Hidden Picture: Check Your Understandin
    16. 23.4 Activity 4: Hiding and Revealing a Text Message

    17. Free Response 23.4.1 Hiding and Revealing a Text Message Intro
    18. Exercise 23.4.2 Hiding and Revealing a Text Message
    19. Free Response 23.4.3 Hiding and Revealing; Check your Understanding
    20. 23.5 Activity 5: Open Ended Project

    21. Exercise 23.5.1 Open Ended Project