Please enable JavaScript to use CodeHS

Arizona Software and App Design II - Outline

  1. Networks and the Internet

    1. 1.1 Intro to the Internet

    2. Video 1.1.1 Welcome to the Internet
    3. Quiz 1.1.2 Welcome to the Internet Quiz
    4. Free Response 1.1.3 The Internet and You
    5. 1.2 Internet Hardware

    6. Video 1.2.1 Hardware of the Internet
    7. Quiz 1.2.2 Internet Hardware Quiz
    8. Connection 1.2.3 The Internet is in the Ocean
    9. 1.3 Internet Addresses

    10. Video 1.3.1 Internet Addresses
    11. Quiz 1.3.2 Internet Addresses Quiz
    12. Free Response 1.3.3 The Need for Addresses
    13. Quiz 1.3.4 4-bit Addresses
    14. Free Response 1.3.5 IPv4 vs IPv6
    15. 1.4 DNS

    16. Video 1.4.1 DNS
    17. Quiz 1.4.2 DNS Quiz
    18. Connection 1.4.3 How Does DNS Work?
    19. Free Response 1.4.4 How Does DNS Work?
    20. Badge 1.4.5 DNS Badge
    21. 1.5 Routing

    22. Video 1.5.1 Routing
    23. Quiz 1.5.2 Routing Quiz
    24. Free Response 1.5.3 Redundancy
    25. Connection 1.5.4 Route Tracing
    26. 1.6 Packets and Protocols

    27. Video 1.6.1 Packets and Protocols
    28. Quiz 1.6.2 Packets and Protocols Quiz
    29. Resource 1.6.3 Passing Notes
    30. Connection 1.6.4 How the Internet Works
    31. Free Response 1.6.5 The Story of the Internet
    32. 1.7 The Impact of the Internet

    33. Video 1.7.1 The Impact of the Internet
    34. Quiz 1.7.2 The Impact of the Internet Quiz
    35. Connection 1.7.3 What is the Digital Divide?
    36. Free Response 1.7.4 What is the Digital Divide?
    37. 1.8 Networks and the Internet Quiz

    38. Quiz 1.8.1 Networks and the Internet Quiz
    39. Badge 1.8.2 The Internet Badge
  2. Primitive Types

    1. 2.1 Why Programming? Why Java?

    2. Video 2.1.1 Printing in Java
    3. Check for Understanding 2.1.2 Printing in Java
    4. Example 2.1.3 Hello World
    5. Example 2.1.4 Printing Multiple Lines
    6. Exercise 2.1.5 Welcome Program
    7. Exercise 2.1.6 ASCII Art
    8. Exercise 2.1.7 Fixing a Paragraph
    9. Exercise 2.1.8 Heating Up
    10. Exercise 2.1.9 Personal Timeline
    11. 2.2 Variables and Data Types

    12. Video 2.2.1 Variables and Types
    13. Check for Understanding 2.2.2 Variables and Types
    14. Example 2.2.3 Variables
    15. Example 2.2.4 Using Final
    16. Exercise 2.2.5 Our First Integer
    17. Video 2.2.6 Variables and Types Pt. 2
    18. Check for Understanding 2.2.7 Variables and Types Pt. 2
    19. Example 2.2.8 Swapping Two Values
    20. Exercise 2.2.9 Answering Questions
    21. Exercise 2.2.10 Team Rankings
    22. 2.3 Expressions and Assignment Statements

    23. Video 2.3.1 Arithmetic Expressions
    24. Check for Understanding 2.3.2 Arithmetic Expressions
    25. Example 2.3.3 Calculator
    26. Example 2.3.4 Temperature Conversion
    27. Example 2.3.5 Tricky Java
    28. Exercise 2.3.6 Weight of a Pyramid
    29. Exercise 2.3.7 Add Fractions
    30. Exercise 2.3.8 Freely Falling Bodies
    31. 2.4 Compound Assignment Operators

    32. Video 2.4.1 Compound Assignment Operators
    33. Check for Understanding 2.4.2 Compound Assignment Operators
    34. Example 2.4.3 All Functions Calculator
    35. Example 2.4.4 Increase/Decrease by 1
    36. Exercise 2.4.5 Work Shift
    37. Exercise 2.4.6 Personalized T-shirts
    38. 2.5 User Input

    39. Video 2.5.1 User Input
    40. Check for Understanding 2.5.2 User Input Quiz
    41. Example 2.5.3 Using the Scanner Class
    42. Example 2.5.4 Increase/Decrease by 1 (User Input)
    43. Example 2.5.5 int Before String
    44. Exercise 2.5.6 Personalized T-shirts (User Input)
    45. Exercise 2.5.7 Night Out
    46. Exercise 2.5.8 MLA Citation
    47. 2.6 Casting and Ranges of Variables

    48. Video 2.6.1 Casting
    49. Check for Understanding 2.6.2 Casting
    50. Example 2.6.3 Casting
    51. Exercise 2.6.4 Casting to an Int
    52. Exercise 2.6.5 Casting to a Double
    53. Example 2.6.6 Casting Order of Operations
    54. Example 2.6.7 Rounding Using Casting
    55. Exercise 2.6.8 Movie Ratings
    56. Example 2.6.9 Implicit Casting
    57. Example 2.6.10 Min and Max Values of Integers
    58. Exercise 2.6.11 Integer Overflow
    59. 2.7 Primitive Types Quiz

    60. Unit Quiz 2.7.1 Primitive Types Quiz
  3. Using Objects

    1. 3.1 Objects: Instances of Classes

    2. Video 3.1.1 Objects: Instances of Classes
    3. Check for Understanding 3.1.2 Quiz: Classes and Objects
    4. Video 3.1.3 Multi-File Exercises in Java
    5. Example 3.1.4 Rectangle Skeleton
    6. Example 3.1.5 GrilledCheese Skeleton
    7. Example 3.1.6 Shark Skeleton
    8. Free Response 3.1.7 Free Response: What instance variables?
    9. Exercise 3.1.8 Pizza Instance Variables
    10. Exercise 3.1.9 Game Skeleton
    11. 3.2 Creating and Storing Objects (Instantiation)

    12. Video 3.2.1 Creating and Storing Objects
    13. Check for Understanding 3.2.2 Quiz: Constructors
    14. Article 3.2.3 Official Objects Documentation
    15. Free Response 3.2.4 Official Objects Documentation Response
    16. Example 3.2.5 The Rectangle Class
    17. Example 3.2.6 The Point Class
    18. Example 3.2.7 The Student Class
    19. Exercise 3.2.8 Using the Rectangle Class
    20. Exercise 3.2.9 New Student Field
    21. Exercise 3.2.10 More Instance Variables
    22. Exercise 3.2.11 Pizza Time!
    23. Badge 3.2.12 Instantiation Badge
    24. 3.3 Overloading

    25. Video 3.3.1 Method Overloading
    26. Check for Understanding 3.3.2 Method Overloading Quiz
    27. Example 3.3.3 Overloaded Rectangle
    28. Example 3.3.4 Overloaded GrilledCheese
    29. Example 3.3.5 Null Pointer Exception
    30. Exercise 3.3.6 Plain Coffee
    31. Exercise 3.3.7 Custom Piñatas
    32. Exercise 3.3.8 Website Class
    33. Exercise 3.3.9 Empty References
    34. 3.4 Calling a Void Method

    35. Video 3.4.1 Calling a Void Method
    36. Check for Understanding 3.4.2 Quiz: Void Methods
    37. Example 3.4.3 Area of a Rectangle
    38. Example 3.4.4 Program Flow
    39. Exercise 3.4.5 Hello!
    40. Exercise 3.4.6 Loose Change
    41. Exercise 3.4.7 Chat Bot
    42. Exercise 3.4.8 Greetings and Salutations
    43. 3.5 Calling a Void Method with Parameters

    44. Video 3.5.1 Calling a Void Method with Parameters
    45. Check for Understanding 3.5.2 Methods and Parameters
    46. Example 3.5.3 Rectangle
    47. Example 3.5.4 Moving a Point
    48. Exercise 3.5.5 Using the Point Class
    49. Example 3.5.6 Calculator
    50. Exercise 3.5.7 Cricket Players
    51. Exercise 3.5.8 More Operations
    52. Exercise 3.5.9 Chat Bot 2.0
    53. 3.6 Calling a Non-void Method

    54. Video 3.6.1 Calling a Non-void Method
    55. Check for Understanding 3.6.2 Quiz: Non-Void Methods
    56. Example 3.6.3 Rectangle
    57. Example 3.6.4 Desks in a Room
    58. Example 3.6.5 Activity Log
    59. Exercise 3.6.6 Number Games
    60. Exercise 3.6.7 Construction Costs
    61. Exercise 3.6.8 How Far Away is ...?
    62. 3.7 String Objects

    63. Video 3.7.1 String Objects
    64. Check for Understanding 3.7.2 String Objects
    65. Example 3.7.3 Immutable Strings
    66. Example 3.7.4 String Concatenation
    67. Example 3.7.5 Rectangle Dimensions
    68. Example 3.7.6 Printing Equations
    69. Exercise 3.7.7 Pretty Printing Operations
    70. Exercise 3.7.8 Auto-fill
    71. Exercise 3.7.9 QuoteMachine
    72. 3.8 String Methods

    73. Video 3.8.1 String Methods
    74. Check for Understanding 3.8.2 String Methods
    75. Example 3.8.3 Bigger Strings?
    76. Example 3.8.4 Chopping Strings
    77. Example 3.8.5 Object Concatenation
    78. Exercise 3.8.6 Speaking
    79. Exercise 3.8.7 toString for Animals
    80. Exercise 3.8.8 Organizing Class Roster
    81. Exercise 3.8.9 Concatenating Fractions
    82. Exercise 3.8.10 Word Games
    83. 3.9 Wrapper Classes: Integers and Doubles

    84. Video 3.9.1 Wrapper Classes
    85. Check for Understanding 3.9.2 Quiz: Wrapper Classes
    86. Example 3.9.3 Creating Integers
    87. Example 3.9.4 Using Doubles
    88. Example 3.9.5 Autoboxing Example
    89. Exercise 3.9.6 Order Up!
    90. Exercise 3.9.7 Currency
    91. Exercise 3.9.8 Guess the number!
    92. 3.10 Using the Math Class

    93. Video 3.10.1 Using the Math Class
    94. Check for Understanding 3.10.2 Quiz: Static Methods
    95. Example 3.10.3 Using the Math Class
    96. Example 3.10.4 Static Methods: Rectangle
    97. Example 3.10.5 Generating Random Numbers
    98. Exercise 3.10.6 Circle Area
    99. Exercise 3.10.7 The Unit Circle
    100. Exercise 3.10.8 Racing
    101. 3.11 Using Objects Quiz

    102. Unit Quiz 3.11.1 Using Objects Quiz
  4. Boolean Expressions and if Statements

    1. 4.1 Boolean Expressions and if Statements

    2. Video 4.1.1 Comparison Operators
    3. Check for Understanding 4.1.2 Comparison Operators
    4. Example 4.1.3 Old Enough To Vote
    5. Example 4.1.4 Grade Range
    6. Example 4.1.5 Equality of Strings
    7. Exercise 4.1.6 Meeting Goals
    8. Exercise 4.1.7 Sugar Tax
    9. Exercise 4.1.8 Triple Double
    10. 4.2 if Statements and Control Flow

    11. Video 4.2.1 If Statements
    12. Check for Understanding 4.2.2 If Statements
    13. Example 4.2.3 Can Vote
    14. Example 4.2.4 Negative Numbers
    15. Example 4.2.5 Rectangle
    16. Exercise 4.2.6 Discounts
    17. Exercise 4.2.7 Sweet or Unsweet?
    18. Exercise 4.2.8 Cooking
    19. Exercise 4.2.9 Rating
    20. 4.3 if-else Statements

    21. Video 4.3.1 If-Else Statements
    22. Check for Understanding 4.3.2 If-Else
    23. Example 4.3.3 Bill with add tip
    24. Example 4.3.4 Even and Odd
    25. Exercise 4.3.5 Running Speed
    26. Exercise 4.3.6 Battleships Move
    27. Exercise 4.3.7 Ratings
    28. Exercise 4.3.8 Player Score
    29. 4.4 else if Statements

    30. Video 4.4.1 else-if Statements
    31. Check for Understanding 4.4.2 else-if
    32. Example 4.4.3 Add Tip
    33. Example 4.4.4 Add Tip - 8 or 4 Customers
    34. Example 4.4.5 Add Tip - 8, 4, 2 Customers
    35. Exercise 4.4.6 Positive, Negative, or Zero
    36. Exercise 4.4.7 Salmon Spawn
    37. Exercise 4.4.8 Berries
    38. Exercise 4.4.9 Battleships
    39. 4.5 Compound Boolean Expressions

    40. Video 4.5.1 Compound Boolean Expressions
    41. Check for Understanding 4.5.2 Logical Operators
    42. Example 4.5.3 Light Switch
    43. Example 4.5.4 Number in Range
    44. Example 4.5.5 Pizza Slices
    45. Exercise 4.5.6 Roller Coaster
    46. Exercise 4.5.7 Compound Roller Coaster
    47. Exercise 4.5.8 Divisibility
    48. Exercise 4.5.9 Find the Median
    49. 4.6 Equivalent Boolean Expressions

    50. Video 4.6.1 Equivalent Boolean Expressions
    51. Check for Understanding 4.6.2 De Morgan's Laws
    52. Example 4.6.3 De Morgan AND
    53. Example 4.6.4 De Morgan OR
    54. Exercise 4.6.5 Amusement Park
    55. Exercise 4.6.6 Negative Numbers
    56. Exercise 4.6.7 Odd and Even
    57. Free Response 4.6.8 Odd and Even Free Response
    58. 4.7 Comparing Objects

    59. Video 4.7.1 Comparing Objects
    60. Check for Understanding 4.7.2 Comparing Objects
    61. Example 4.7.3 Comparing Strings
    62. Example 4.7.4 Comparing Rectangles
    63. Example 4.7.5 Null Test
    64. Example 4.7.6 Identify Aliases
    65. Exercise 4.7.7 String Variable Trace
    66. Free Response 4.7.8 String Trace
    67. Exercise 4.7.9 Three Strings
    68. Exercise 4.7.10 Comparing Circles
    69. 4.8 Boolean Expressions and if Statements Quiz

    70. Unit Quiz 4.8.1 Boolean Expressions and If Statements Quiz
  5. Computer Systems and Software Management

    1. 5.1 Hardware

    2. Video 5.1.1 Hardware
    3. Check for Understanding 5.1.2 Hardware Quiz
    4. Free Response 5.1.3 Hardware vs. Software
    5. Notes 5.1.4 Converting Between Units of Computer Storage
    6. Free Response 5.1.5 Converting Between Memory Units
    7. Badge 5.1.6 Hardware Badge
    8. 5.2 Operating Systems

    9. Video 5.2.1 Operating Systems
    10. Check for Understanding 5.2.2 Operating Systems Quiz
    11. Example 5.2.3 Detect My OS
    12. Free Response 5.2.4 Label Your Computer
    13. Free Response 5.2.5 Computer Analogy
    14. Connection 5.2.6 Upgrading a Mac OS
    15. Example 5.2.7 Windows OS Installation Simulation
    16. Free Response 5.2.8 Installing an OS
    17. 5.3 Comparing Operating Systems

    18. Video 5.3.1 Comparing Operating Systems
    19. Check for Understanding 5.3.2 Comparing Operating Systems Quiz
    20. Example 5.3.3 Windows Simulation
    21. Example 5.3.4 MacOS Simulation
    22. Connection 5.3.5 Choose a Linux Distro!
    23. Free Response 5.3.6 Which would you choose?
    24. 5.4 Compatibility

    25. Video 5.4.1 Compatibility
    26. Check for Understanding 5.4.2 Compatibility Quiz
    27. Example 5.4.3 What Processor? Windows
    28. Example 5.4.4 What Processor? Mac
    29. Free Response 5.4.5 What Processor are you running?
    30. 5.5 Software and Applications

    31. Video 5.5.1 Software and Applications
    32. Check for Understanding 5.5.2 Software and Applications Quiz
    33. Example 5.5.3 Spreadsheet Simulation
    34. Example 5.5.4 Messaging Simulation
    35. Example 5.5.5 Kanban Board Simulation
    36. Free Response 5.5.6 Software Simulations
    37. 5.6 Software Licenses

    38. Video 5.6.1 Software Licenses
    39. Check for Understanding 5.6.2 Software Licenses Quiz
    40. Free Response 5.6.3 Do I need a Software License?
    41. Free Response 5.6.4 Is This Original?
    42. Article 5.6.5 The Rise of Open Source Software
    43. Free Response 5.6.6 The Rise of Open Source Software Response
    44. Connection 5.6.7 Guide to Legal and Ethical Use of Software
    45. Free Response 5.6.8 Guide to Legal and Ethical Use of Software Response
    46. Free Response 5.6.9 Open-source vs Proprietary Reflection
    47. 5.7 Error Handling

    48. Video 5.7.1 Error Handling
    49. Quiz 5.7.2 Error Handling Quiz
    50. Example 5.7.3 Dividing By Zero
    51. Example 5.7.4 Element Out of Range
    52. Notes 5.7.5 Checked and Unchecked Exceptions
    53. Exercise 5.7.6 Voting Age Verifier
    54. Exercise 5.7.7 Throwing Custom Exceptions
    55. 5.8 Application Security

    56. Free Response 5.8.1 Share What You Learned
    57. Video 5.8.2 Application Security
    58. Check for Understanding 5.8.3 Application Security
    59. Example 5.8.4 Windows Updates
    60. Connection 5.8.5 Windows Defender Antivirus
    61. Free Response 5.8.6 Windows Defender Antivirus
    62. Free Response 5.8.7 CodeHS System Restore
    63. Notes 5.8.8 Software Vulnerabilities
    64. Article 5.8.9 Buffer Overflow
    65. Free Response 5.8.10 Buffer Overflow Response
    66. Article 5.8.11 Common Vulnerabilities Exploits
    67. Free Response 5.8.12 Common Vulnerabilities Exploits Response
    68. 5.9 Browser Configuration

    69. Check for Understanding 5.9.1 Pick the Label
    70. Video 5.9.2 Browser Configuration
    71. Check for Understanding 5.9.3 Browser Configuration
    72. Connection 5.9.4 Cached CodeHS
    73. Free Response 5.9.5 Cached CodeHS
    74. Example 5.9.6 Is Your Popup Blocker On?
    75. Free Response 5.9.7 Browser Extensions Lab
    76. 5.10 System Administration

    77. Video 5.10.1 User Accounts
    78. Check for Understanding 5.10.2 User Accounts Quiz
    79. Free Response 5.10.3 User Accounts
    80. Free Response 5.10.4 Shared Folders and Files
    81. Video 5.10.5 Host Security
    82. Check for Understanding 5.10.6 Host Security Quiz
    83. Free Response 5.10.7 Security Baseline
    84. 5.11 Command Line Interface

    85. Notes 5.11.1 Linux/MacOS vs. Windows
    86. Video 5.11.2 Command Line Interface
    87. Check for Understanding 5.11.3 Command Line Interface Quiz
    88. Resource 5.11.4 Command Equivalents
    89. Video 5.11.5 Windows Command Prompt
    90. Free Response 5.11.6 Windows Command Prompt
    91. Free Response 5.11.7 Directory Directions
    92. Connection 5.11.8 Neural Interface?
    93. Free Response 5.11.9 Neural Interface?
    94. 5.12 Executing Code

    95. Video 5.12.1 Executing Your Code
    96. Quiz 5.12.2 Executing Your Code
    97. Notes 5.12.3 What Does Bytecode Look Like?
    98. Free Response 5.12.4 Researching Bytecode
    99. 5.13 Version Control

    100. Video 5.13.1 Version Control
    101. Quiz 5.13.2 Version Control Quiz
    102. Connection 5.13.3 Visualizing Commits and Branches
    103. Free Response 5.13.4 Visualizing Commits and Branches Response
    104. Free Response 5.13.5 Create a Git Repository
    105. Notes 5.13.6 Initializing Your Repository
    106. Notes 5.13.7 Add, Commit, Push
    107. Notes 5.13.8 Make A Change and Pull
    108. Notes 5.13.9 Reverting Your Commit
    109. Free Response 5.13.10 Version Control Reflection
    110. 5.14 System Administration Quiz

    111. Unit Quiz 5.14.1 System Administration Quiz
  6. Iteration

    1. 6.1 Iteration

    2. Video 6.1.1 While Loops
    3. Check for Understanding 6.1.2 While Loops
    4. Example 6.1.3 While Loop Countdown
    5. Example 6.1.4 Get Down to One
    6. Example 6.1.5 Running Average
    7. Exercise 6.1.6 Making Taffy
    8. Exercise 6.1.7 Guess the Number
    9. Exercise 6.1.8 Divisibility
    10. Exercise 6.1.9 Max and Min Values
    11. 6.2 For Loops

    12. Video 6.2.1 For Loops
    13. Check for Understanding 6.2.2 For Loops
    14. Example 6.2.3 For Loop
    15. Example 6.2.4 Countdown
    16. Example 6.2.5 Count By Twos
    17. Exercise 6.2.6 Print the Odds
    18. Exercise 6.2.7 Repeat
    19. Exercise 6.2.8 Replace WHILE with FOR Loop
    20. Exercise 6.2.9 Replace FOR Loop with WHILE Loop
    21. Exercise 6.2.10 Multiplication Table
    22. 6.3 Developing Algorithms Using Strings

    23. Video 6.3.1 Developing Algorithms Using Strings
    24. Check for Understanding 6.3.2 Developing Algorithms Using Strings
    25. Example 6.3.3 Traversing Strings
    26. Example 6.3.4 Replace Characters
    27. Example 6.3.5 Reverse String
    28. Exercise 6.3.6 Replace Letter
    29. Exercise 6.3.7 Password Checker
    30. Exercise 6.3.8 Finding Palindromes
    31. Exercise 6.3.9 Fixing Grammar
    32. Exercise 6.3.10 Teen Talk
    33. Badge 6.3.11 String Processing Badge
    34. 6.4 Nested Iteration

    35. Video 6.4.1 Nested Iteration
    36. Check for Understanding 6.4.2 Nested Iteration
    37. Example 6.4.3 Make a Rectangle
    38. Example 6.4.4 Nested Loop Iteration Counts
    39. Example 6.4.5 Inverted Triangle
    40. Exercise 6.4.6 Upright Number Triangle
    41. Exercise 6.4.7 Make a Tree
    42. Exercise 6.4.8 Multiplication Table
    43. 6.5 Informal Code Analysis

    44. Video 6.5.1 Informal Code Analysis
    45. Check for Understanding 6.5.2 Informal Code Analysis
    46. Example 6.5.3 Loop Execution Count
    47. Example 6.5.4 While Loop Time
    48. Example 6.5.5 For Loop Time
    49. Free Response 6.5.6 Time Comparisons
    50. Exercise 6.5.7 Improving findChar Speed
    51. Example 6.5.8 Improving findChar Speed Check
    52. Free Response 6.5.9 findChar Speed Reflection
    53. 6.6 Iteration Quiz

    54. Unit Quiz 6.6.1 Iteration Quiz
  7. Writing Classes

    1. 7.1 Writing Classes

    2. Video 7.1.1 Anatomy of Classes
    3. Check for Understanding 7.1.2 Quiz: Access Modifiers
    4. Example 7.1.3 Rectangle Getter Methods
    5. Exercise 7.1.4 Access for DNA Class
    6. Exercise 7.1.5 Access for Employee Class
    7. Exercise 7.1.6 Fixing Circle
    8. 7.2 Constructors

    9. Video 7.2.1 Constructors
    10. Check for Understanding 7.2.2 Quiz: Constructors
    11. Example 7.2.3 SuperHero Class
    12. Example 7.2.4 Initializing an Object without a Constructor
    13. Exercise 7.2.5 Batting Average
    14. Exercise 7.2.6 Dog Class
    15. Exercise 7.2.7 Student Overload
    16. Exercise 7.2.8 SchoolClub Class
    17. 7.3 Documentation with Comments

    18. Video 7.3.1 Documentation with Comments
    19. Check for Understanding 7.3.2 Quiz: Comments
    20. Example 7.3.3 Comments for Debugging
    21. Example 7.3.4 Power Class with Comments
    22. Exercise 7.3.5 Commenting Activity Tracker
    23. Exercise 7.3.6 Commenting Activity Log
    24. Exercise 7.3.7 C.Y.O.A. Layout
    25. Exercise 7.3.8 C.Y.O.A. Finishing the story
    26. 7.4 Accessor Methods

    27. Video 7.4.1 Accessor Methods
    28. Check for Understanding 7.4.2 Quiz: Accessors
    29. Example 7.4.3 Student Getter Methods
    30. Example 7.4.4 SuperHero Class with Secret Identity
    31. Exercise 7.4.5 Add Some Getter Methods
    32. Exercise 7.4.6 Full Dragon Class
    33. Exercise 7.4.7 A Different Dragon Class
    34. Exercise 7.4.8 A Chef's Best Meal
    35. 7.5 Mutator Methods

    36. Video 7.5.1 Mutator Methods
    37. Check for Understanding 7.5.2 Quiz: Mutators
    38. Example 7.5.3 SuperHero Class with Mutator Methods
    39. Example 7.5.4 Student Setters
    40. Exercise 7.5.5 Rectangle class
    41. Exercise 7.5.6 Full Fraction Class
    42. Exercise 7.5.7 Weekly Routine
    43. 7.6 Writing Methods

    44. Video 7.6.1 Writing Methods
    45. Check for Understanding 7.6.2 Quiz: Writing Methods
    46. Example 7.6.3 Triangle Class
    47. Example 7.6.4 Baseball Player Class
    48. Exercise 7.6.5 Distance Conversions
    49. Exercise 7.6.6 Food App Demo
    50. Exercise 7.6.7 Car Class
    51. Resource 7.6.8 Combination Lock FRQ
    52. 7.7 Static Variables and Methods

    53. Video 7.7.1 Static Variables and Methods
    54. Check for Understanding 7.7.2 Quiz: Static Methods
    55. Example 7.7.3 Static SuperHero
    56. Example 7.7.4 Static Variables: Circle
    57. Exercise 7.7.5 Randomizer Class
    58. Exercise 7.7.6 Rock, Paper, Scissors!
    59. Exercise 7.7.7 In the Game?
    60. 7.8 Scope and Access

    61. Video 7.8.1 Scope and Access
    62. Check for Understanding 7.8.2 Quiz: Local Variables and Scope
    63. Example 7.8.3 Instance Variable Scope
    64. Example 7.8.4 Local Variable Scope
    65. Example 7.8.5 Variable Shadowing
    66. Example 7.8.6 Method Decomposition with Trivia
    67. Exercise 7.8.7 Scope
    68. Exercise 7.8.8 Which Variables Exist?
    69. Exercise 7.8.9 Broken Calculator
    70. 7.9 this Keyword

    71. Video 7.9.1 this Keyword
    72. Check for Understanding 7.9.2 Quiz: this Keyword
    73. Example 7.9.3 Rectangles and this
    74. Example 7.9.4 Student and this
    75. Exercise 7.9.5 Write Your Own CodeHS
    76. Exercise 7.9.6 Song Class
    77. Exercise 7.9.7 Fraction Math
    78. 7.10 Ethical and Social Implications of Computing

    79. Video 7.10.1 Implications of Computing Systems
    80. Free Response 7.10.2 Computing and Your Life
    81. Check for Understanding 7.10.3 Quiz: Ethical and Social Impact
    82. Connection 7.10.4 ACM General Ethical Principles
    83. Free Response 7.10.5 ACM General Ethical Principles
    84. Connection 7.10.6 Bias in Facial Recognition
    85. Free Response 7.10.7 Bias in Facial Recognition
    86. Connection 7.10.8 Self-driving Cars
    87. Free Response 7.10.9 Self-driving Cars
    88. 7.11 Writing Classes Quiz

    89. Unit Quiz 7.11.1 Writing Classes Quiz
  8. Data Structures

    1. 8.1 What are Data Structures?

    2. Video 8.1.1 What are Data Structures?
    3. Check for Understanding 8.1.2 Quiz: Data Structures
    4. Free Response 8.1.3 Data Structures Everywhere
    5. 8.2 Introduction to Arrays

    6. Video 8.2.1 Introduction to Arrays
    7. Check for Understanding 8.2.2 Quiz: Arrays
    8. Example 8.2.3 Making an Array
    9. Example 8.2.4 Make an Empty Array
    10. Example 8.2.5 Indexing Into an Array
    11. Exercise 8.2.6 Our First Array
    12. Practice 8.2.7 Array Length
    13. Practice 8.2.8 Last Element in Array
    14. 8.3 Using Arrays

    15. Video 8.3.1 Using Arrays
    16. Check for Understanding 8.3.2 Quiz: Using Arrays
    17. Example 8.3.3 Iterating Over an Array
    18. Example 8.3.4 Sum Array
    19. Example 8.3.5 Array Out of Bounds
    20. Exercise 8.3.6 Print Array
    21. Exercise 8.3.7 Print Odd Array Indices
    22. Practice 8.3.8 Find the Last Multiple of 3
    23. Example 8.3.9 Classroom Example
    24. Example 8.3.10 Exam Scores
    25. Example 8.3.11 Array References
    26. Practice 8.3.12 Find the Median
    27. Exercise 8.3.13 Most Improved
    28. Badge 8.3.14 Arrays Badge
    29. 8.4 Enhanced For Loops

    30. Video 8.4.1 Enhanced For Loops
    31. Check for Understanding 8.4.2 Enhanced For Loop
    32. Example 8.4.3 Enhanced For Loop
    33. Example 8.4.4 Classroom Array
    34. Example 8.4.5 Updating Values in a Loop
    35. Exercise 8.4.6 Print Odds
    36. Exercise 8.4.7 Largest Value
    37. Exercise 8.4.8 Classroom Array
    38. Exercise 8.4.9 Array Average
    39. 8.5 ArrayList Methods

    40. Video 8.5.1 ArrayLists
    41. Check for Understanding 8.5.2 Quiz: ArrayList
    42. Example 8.5.3 Hello World ArrayList
    43. Example 8.5.4 ArrayList and Java Primitives
    44. Example 8.5.5 ArrayList Size Method
    45. Exercise 8.5.6 Get First Element
    46. Example 8.5.7 Reading List
    47. Example 8.5.8 Texting in Class
    48. Exercise 8.5.9 Road Trip!
    49. Resource 8.5.10 MagicalWorld Candy FRQ
    50. 8.6 Arrays vs ArrayLists

    51. Video 8.6.1 Arrays vs ArrayLists
    52. Check for Understanding 8.6.2 Quiz: Arrays vs ArrayList
    53. Example 8.6.3 Expanding Array
    54. Exercise 8.6.4 Improving Expanding Array
    55. Example 8.6.5 Array vs ArrayList
    56. Resource 8.6.6 Seat Assignments FRQ
    57. 8.7 Additional Loop Examples

    58. Video 8.7.1 Additional Loop Examples
    59. Check for Understanding 8.7.2 Additional Loop Examples
    60. Example 8.7.3 For and While Loops
    61. Example 8.7.4 ArrayList Traversing Error
    62. Example 8.7.5 Traversing ArrayLists Simultaneously
    63. Exercise 8.7.6 Replace FOR Loop with WHILE Loop
    64. Exercise 8.7.7 Traversing Odds
    65. Exercise 8.7.8 ArrayList Equals
    66. 8.8 The List Interface

    67. Video 8.8.1 The List Interface
    68. Check for Understanding 8.8.2 The List Interface Quiz
    69. Example 8.8.3 Reverse the List
    70. Practice 8.8.4 Summer Reading Short List
    71. 8.9 2D Arrays

    72. Video 8.9.1 2D Arrays
    73. Check for Understanding 8.9.2 Quiz: 2D Arrays
    74. Example 8.9.3 Nested Loops
    75. Practice 8.9.4 Ice Cream Combos
    76. Example 8.9.5 First 2D Array
    77. Example 8.9.6 Initializing a 2D Array
    78. Example 8.9.7 The Matrix
    79. Practice 8.9.8 Sum Rows in a Matrix
    80. Badge 8.9.9 Matrix Badge
    81. 8.10 Traversing 2D Arrays

    82. Video 8.10.1 Traversing 2D Arrays
    83. Check for Understanding 8.10.2 Quiz: Traversing 2D Arrays
    84. Example 8.10.3 Traversing Gradebook
    85. Example 8.10.4 Linear Search 2D Arrays
    86. Example 8.10.5 Row vs. Column Major
    87. Free Response 8.10.6 Row vs. Column Major
    88. Exercise 8.10.7 Sum Rows in a 2D Array
    89. Exercise 8.10.8 Tic Tac Toe Methods
    90. Challenge 8.10.9 Finalizing Tic Tac Toe
    91. 8.11 HashMaps

    92. Video 8.11.1 HashMaps
    93. Check for Understanding 8.11.2 Quiz: HashMaps
    94. Example 8.11.3 The Phonebook
    95. Example 8.11.4 Arrays Vs HashMaps
    96. Free Response 8.11.5 Arrays Vs HashMaps Response
    97. Example 8.11.6 The Phonebook: Array Vs HashMap
    98. Free Response 8.11.7 The Phonebook: Array Vs HashMap
    99. Exercise 8.11.8 Word Counts
    100. Free Response 8.11.9 Word Counts Reflection
    101. 8.12 Binary

    102. Video 8.12.1 Number Systems
    103. Check for Understanding 8.12.2 Number Systems Quiz
    104. Example 8.12.3 Converting Octal to Decimal
    105. Practice 8.12.4 Converting Binary to Decimal
    106. Video 8.12.5 Using Binary
    107. Check for Understanding 8.12.6 Using Binary Quiz
    108. Example 8.12.7 Integer Limits
    109. Exercise 8.12.8 Binary Translator
    110. Resource 8.12.9 Genres Galore Online Shop FRQ
    111. 8.13 Ethical Issues Around Data Collection

    112. Video 8.13.1 Ethical Issues Around Data Collection
    113. Check for Understanding 8.13.2 Ethical Issues Around Data Collection
    114. Connection 8.13.3 The Curly Fry Conundrum
    115. Free Response 8.13.4 Reflection
    116. Connection 8.13.5 Guidelines on Ethical Data Use
    117. Free Response 8.13.6 Issue News Article
    118. Badge 8.13.7 ArrayList Badge
    119. 8.14 Data Structures Quiz

    120. Unit Quiz 8.14.1 Data Structures Quiz
  9. Algorithms and Recursion

    1. 9.1 What is an Algorithm?

    2. Video 9.1.1 What is an Algorithm?
    3. Free Response 9.1.2 Every Day Algorithms
    4. Connection 9.1.3 Big O Notation
    5. Free Response 9.1.4 Big O Notation
    6. Video 9.1.5 Space Complexity
    7. Free Response 9.1.6 Space and Time Complexity
    8. 9.2 Linear Search

    9. Video 9.2.1 Linear Search
    10. Example 9.2.2 Linear Search
    11. Practice 9.2.3 Linear Search on ArrayList
    12. Resource 9.2.4 Gradebook FRQ
    13. 9.3 Binary Search

    14. Video 9.3.1 Binary Search
    15. Check for Understanding 9.3.2 Binary Search
    16. Example 9.3.3 Binary Search
    17. Example 9.3.4 Binary vs Linear
    18. Exercise 9.3.5 Comparing Binary Search and Linear Search
    19. Badge 9.3.6 Binary Search Badge
    20. 9.4 Selection Sort

    21. Video 9.4.1 Selection Sort
    22. Check for Understanding 9.4.2 Selection Sort
    23. Example 9.4.3 Selection Sort
    24. Example 9.4.4 Visualizing Algorithms
    25. Exercise 9.4.5 Explore Selection Sort
    26. 9.5 Insertion Sort

    27. Video 9.5.1 Insertion Sort
    28. Check for Understanding 9.5.2 Insertion Sort
    29. Example 9.5.3 Visualizing Algorithms
    30. Example 9.5.4 Insertion Sort
    31. Exercise 9.5.5 Explore Insertion Sort
    32. Connection 9.5.6 Bubble Sort
    33. Free Response 9.5.7 Bubble Sort Free Response
    34. 9.6 Recursion

    35. Video 9.6.1 Recursion
    36. Check for Understanding 9.6.2 Quiz: Recursion
    37. Example 9.6.3 Summing
    38. Example 9.6.4 Sum Array
    39. Example 9.6.5 Fibonacci Recursion
    40. Exercise 9.6.6 Factorial
    41. Exercise 9.6.7 Countdown!
    42. Exercise 9.6.8 Recursive Minimum
    43. Exercise 9.6.9 Bacteria Cultures
    44. 9.7 Mergesort

    45. Video 9.7.1 Mergesort
    46. Example 9.7.2 Visualizing Algorithms
    47. Example 9.7.3 Merge Sort
    48. Exercise 9.7.4 Explore Merge Sort
    49. Badge 9.7.5 Algorithms Badge
    50. 9.8 Informal Code Analysis

    51. Video 9.8.1 Informal Code Analysis
    52. Check for Understanding 9.8.2 Informal Code Analysis
    53. Example 9.8.3 Loop Execution Count
    54. Example 9.8.4 While Loop Time
    55. Example 9.8.5 For Loop Time
    56. Free Response 9.8.6 Time Comparisons
    57. Exercise 9.8.7 Improving isChar Speed
    58. Example 9.8.8 Improving isChar Speed Check
    59. Free Response 9.8.9 isChar Speed Reflection
    60. 9.9 Algorithms and Recursion Quiz

    61. Unit Quiz 9.9.1 Algorithms and Recursion Quiz
  10. Inheritance

    1. 10.1 Inheritance

    2. Video 10.1.1 Inheritance
    3. Check for Understanding 10.1.2 Quiz: Subclasses and Superclasses
    4. Example 10.1.3 Person Superclass
    5. Example 10.1.4 Vehicle Superclass
    6. Example 10.1.5 High School Student
    7. Exercise 10.1.6 Person / Student Object
    8. Exercise 10.1.7 Books
    9. Exercise 10.1.8 Computers
    10. Exercise 10.1.9 More Animals!
    11. 10.2 Writing Constructors for Subclasses

    12. Video 10.2.1 Writing Constructors for Subclasses
    13. Check for Understanding 10.2.2 Quiz: Writing Constructors for Subclasses
    14. Example 10.2.3 Student Subclass
    15. Example 10.2.4 Shape Class
    16. Example 10.2.5 Implicit Call to Super
    17. Exercise 10.2.6 Students
    18. Exercise 10.2.7 Instruments
    19. Exercise 10.2.8 Foods
    20. Exercise 10.2.9 Clothing Store
    21. 10.3 Overriding Methods

    22. Video 10.3.1 Overriding Methods
    23. Check for Understanding 10.3.2 Quiz: Overriding Methods
    24. Example 10.3.3 Square is a Rectangle
    25. Example 10.3.4 Student toString
    26. Example 10.3.5 Restaurant Bills
    27. Exercise 10.3.6 Dogs Bark
    28. Exercise 10.3.7 Electric Cars
    29. Exercise 10.3.8 Online Companies
    30. 10.4 super Keyword

    31. Video 10.4.1 super Keyword
    32. Check for Understanding 10.4.2 Quiz: super Keyword
    33. Example 10.4.3 Square Class
    34. Example 10.4.4 Animal Class
    35. Example 10.4.5 Apple Pie
    36. Exercise 10.4.6 Squares
    37. Exercise 10.4.7 Bank Accounts
    38. Exercise 10.4.8 Employees
    39. Exercise 10.4.9 Student Test Scores
    40. 10.5 Abstract Classes and Interfaces

    41. Video 10.5.1 Abstract Classes and Interfaces
    42. Quiz 10.5.2 Abstract Classes and Interfaces Quiz
    43. Example 10.5.3 Animals
    44. Exercise 10.5.4 Electric and Internal Combustion Engine Vehicles
    45. 10.6 Creating References Using Inheritance

    46. Video 10.6.1 Creating References Using Inheritance Hierarchies
    47. Check for Understanding 10.6.2 Quiz: References Using Inheritance Hierarchies
    48. Example 10.6.3 Animal Sounds
    49. Example 10.6.4 Shape Areas
    50. Example 10.6.5 Person Class
    51. Exercise 10.6.6 Pies
    52. Exercise 10.6.7 Creating .equals
    53. Exercise 10.6.8 Online Companies Revisited
    54. Exercise 10.6.9 Assignments
    55. 10.7 Polymorphism

    56. Video 10.7.1 Polymorphism
    57. Check for Understanding 10.7.2 Quiz: Polymorphism
    58. Example 10.7.3 Using Person Methods
    59. Example 10.7.4 Modified Student Class
    60. Example 10.7.5 Vehicle Methods
    61. Exercise 10.7.6 Which Team?
    62. Exercise 10.7.7 Cars
    63. Exercise 10.7.8 Library Books
    64. Exercise 10.7.9 Fun with Solids
    65. 10.8 Object Superclass

    66. Video 10.8.1 Object Superclass
    67. Check for Understanding 10.8.2 Quiz: Object Superclass
    68. Example 10.8.3 Default Values
    69. Example 10.8.4 Override toString
    70. Example 10.8.5 Override equals
    71. Exercise 10.8.6 Equal?
    72. Exercise 10.8.7 Equals? - Part 2
    73. Exercise 10.8.8 Equal Rectangles
    74. Exercise 10.8.9 2D Array Tester
    75. 10.9 Inheritance Quiz

    76. Unit Quiz 10.9.1 Inheritance 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 Karel Quiz

    108. Unit Quiz 11.17.1 Karel Quiz