Please enable JavaScript to use CodeHS

Texas Computer Science 2 - Outline

  1. System Administration

    1. 1.1 Operating Systems

    2. Video 1.1.1 Operating Systems
    3. Check for Understanding 1.1.2 Operating Systems Quiz
    4. Example 1.1.3 Detect My OS
    5. Example 1.1.4 Windows OS Installation Simulation
    6. Free Response 1.1.5 Installing an OS
    7. Connection 1.1.6 Upgrading a Mac OS
    8. 1.2 Comparing Operating Systems

    9. Video 1.2.1 Comparing Operating Systems
    10. Check for Understanding 1.2.2 Comparing Operating Systems Quiz
    11. Example 1.2.3 Windows Simulation
    12. Example 1.2.4 MacOS Simulation
    13. Connection 1.2.5 Choose a Linux Distro!
    14. Free Response 1.2.6 Which would you choose?
    15. 1.3 Compatibility

    16. Video 1.3.1 Compatibility
    17. Check for Understanding 1.3.2 Compatibility Quiz
    18. Example 1.3.3 What Processor? Windows
    19. Example 1.3.4 What Processor? Mac
    20. Free Response 1.3.5 What Processor are you running?
    21. 1.4 Software and Applications

    22. Video 1.4.1 Software and Applications
    23. Check for Understanding 1.4.2 Software and Applications Quiz
    24. Example 1.4.3 Spreadsheet Simulation
    25. Example 1.4.4 Messaging Simulation
    26. Example 1.4.5 Kanban Board Simulation
    27. Free Response 1.4.6 Software Simulations
    28. 1.5 Software Licenses

    29. Video 1.5.1 Software Licenses
    30. Check for Understanding 1.5.2 Software Licenses Quiz
    31. Free Response 1.5.3 Do I need a Software License?
    32. Free Response 1.5.4 Is This Original?
    33. 1.6 Application Security

    34. Video 1.6.1 Application Security
    35. Check for Understanding 1.6.2 Application Security
    36. Example 1.6.3 Windows Updates
    37. Connection 1.6.4 Windows Defender Antivirus
    38. Free Response 1.6.5 Windows Defender Antivirus
    39. Free Response 1.6.6 CodeHS System Restore
    40. 1.7 Browser Configuration

    41. Video 1.7.1 Browser Configuration
    42. Check for Understanding 1.7.2 Browser Configuration
    43. Connection 1.7.3 Cached CodeHS
    44. Free Response 1.7.4 Cached CodeHS
    45. Example 1.7.5 Is Your Popup Blocker On?
    46. Free Response 1.7.6 Browser Extensions Lab
    47. 1.8 System Administration

    48. Video 1.8.1 User Accounts
    49. Check for Understanding 1.8.2 User Accounts Quiz
    50. Free Response 1.8.3 User Accounts
    51. Free Response 1.8.4 Shared Folders and Files
    52. Video 1.8.5 Host Security
    53. Check for Understanding 1.8.6 Host Security Quiz
    54. Free Response 1.8.7 Security Baseline
    55. 1.9 Command Line Interface

    56. Notes 1.9.1 Linux/MacOS vs. Windows
    57. Video 1.9.2 Command Line Interface
    58. Check for Understanding 1.9.3 Command Line Interface Quiz
    59. Resource 1.9.4 Command Equivalents
    60. Video 1.9.5 Windows Command Prompt
    61. Free Response 1.9.6 Windows Command Prompt
    62. Free Response 1.9.7 Directory Directions
    63. Connection 1.9.8 Neural Interface?
    64. Free Response 1.9.9 Neural Interface?
    65. 1.10 System Administration Quiz

    66. Survey 1.10.1 Mindsets
    67. Unit Quiz 1.10.2 System Administration Quiz
  2. Networking Fundamentals

    1. 2.1 Introduction to the Internet

    2. Video 2.1.1 Welcome to the Internet
    3. Check for Understanding 2.1.2 Intro to the Internet
    4. Connection 2.1.3 Inside Facebook's Connectivity Lab
    5. Free Response 2.1.4 Connectivity Lab Reflection
    6. 2.2 Notational Systems

    7. Video 2.2.1 Number Systems
    8. Check for Understanding 2.2.2 Number Systems Quiz
    9. Notes 2.2.3 Number Base Tool
    10. Video 2.2.4 Decimal to Binary
    11. Check for Understanding 2.2.5 Decimal to Binary Quiz
    12. Exercise 2.2.6 Binary Game
    13. 2.3 Data Representation

    14. Video 2.3.1 Hexadecimal
    15. Check for Understanding 2.3.2 Hexadecimal Quiz
    16. Exercise 2.3.3 Binary to Hex Game
    17. Video 2.3.4 Encoding Text with Binary
    18. Check for Understanding 2.3.5 Encoding Text with Binary Quiz
    19. Example 2.3.6 Custom Encoding
    20. Example 2.3.7 Bits to ASCII
    21. Exercise 2.3.8 Hello World in Bits
    22. None 2.3.9 Adding Numbers in Other Bases
    23. None 2.3.10 Octal Conversions
    24. 2.4 Internet Hardware and Sending Information

    25. Video 2.4.1 Internet Hardware
    26. Check for Understanding 2.4.2 Internet Hardware
    27. Video 2.4.3 Sending Information
    28. Check for Understanding 2.4.4 Sending Information
    29. Connection 2.4.5 The Internet is in the Ocean
    30. Free Response 2.4.6 Internet in the Ocean Reflection
    31. 2.5 Internet Addresses

    32. Video 2.5.1 Internet Addresses
    33. Check for Understanding 2.5.2 Internet Addresses
    34. Free Response 2.5.3 The Need for Addresses
    35. Connection 2.5.4 IPv4 vs. IPv6
    36. Free Response 2.5.5 Reflection: IPv4 vs IPv6
    37. 2.6 Domain Name System (DNS)

    38. Video 2.6.1 Domain Name System (DNS)
    39. Check for Understanding 2.6.2 Domain Name System
    40. Connection 2.6.3 How Does DNS Work?
    41. Free Response 2.6.4 How Does DNS Work?
    42. 2.7 Routing

    43. Video 2.7.1 Routing
    44. Check for Understanding 2.7.2 Routing
    45. Free Response 2.7.3 Redundancy
    46. 2.8 Packets & Protocols

    47. Video 2.8.1 Packets
    48. Check for Understanding 2.8.2 Packets
    49. Video 2.8.3 Protocols
    50. Check for Understanding 2.8.4 Protocols
    51. Connection 2.8.5 How the Internet Works
    52. Free Response 2.8.6 The Journey of an Image
    53. 2.9 Viewing a Webpage

    54. Video 2.9.1 Viewing a Webpage
    55. Check for Understanding 2.9.2 Viewing a Webpage
    56. Free Response 2.9.3 Explaining a URL
    57. Connection 2.9.4 Net Neutrality Explained
    58. Connection 2.9.5 FCCs Net Neutrality Rules Officially Repealed
    59. Free Response 2.9.6 Take a Side on Net Neutrality
    60. Connection 2.9.7 Net Neutrality and Cybersecurity
    61. Free Response 2.9.8 Net Neutrality and Cybersecurity Research
    62. 2.10 Creative Credit & Copyright

    63. Video 2.10.1 Creative Credit and Copyright
    64. Check for Understanding 2.10.2 Creative Credit and Copyright
    65. Free Response 2.10.3 Cite!
    66. Connection 2.10.4 Exploring Creative Commons
    67. Free Response 2.10.5 Respond: Creative Commons
    68. Free Response 2.10.6 Task: Finding Images
    69. Free Response 2.10.7 Reflection: Why is Copyright Important?
    70. 2.11 Impact of the Internet

    71. Video 2.11.1 Impact of the Internet
    72. Check for Understanding 2.11.2 Impact of the Internet
    73. Connection 2.11.3 What is the Digital Divide?
    74. Free Response 2.11.4 What is the Digital Divide?
    75. 2.12 Networking Fundamentals Quiz

    76. Survey 2.12.1 Mindsets
    77. Unit Quiz 2.12.2 Networking Fundamentals Quiz
  3. Introduction to Programming in Java with Karel the Dog

    1. 3.1 Introduction to Programming With Karel

    2. Video 3.1.1 Introduction to Programming With Karel
    3. Check for Understanding 3.1.2 Quiz: Karel Commands
    4. Example 3.1.3 Our First Karel Program
    5. Exercise 3.1.4 Your First Karel Program
    6. Exercise 3.1.5 Short Stack
    7. 3.2 More Basic Karel

    8. Video 3.2.1 More Basic Karel
    9. Check for Understanding 3.2.2 More Basic Karel
    10. Example 3.2.3 Tennis Ball Square
    11. Exercise 3.2.4 Make a Tower
    12. Exercise 3.2.5 Pyramid of Karel
    13. 3.3 Java Programs and the Run Method

    14. Video 3.3.1 Writing a Java Program
    15. Check for Understanding 3.3.2 Run Method
    16. Example 3.3.3 Square Karel
    17. Exercise 3.3.4 Tower Karel
    18. Exercise 3.3.5 Gold Medal Karel
    19. Exercise 3.3.6 Maze Karel
    20. 3.4 Karel Can't Turn Right

    21. Video 3.4.1 Karel Can't Turn Right
    22. Check for Understanding 3.4.2 Karel Can't Turn Right
    23. Example 3.4.3 Tower and Turn Right
    24. Exercise 3.4.4 Slide Karel
    25. Exercise 3.4.5 Fireman Karel
    26. Badge 3.4.6 Right Turn Karel Badge
    27. 3.5 Methods in Karel

    28. Video 3.5.1 Methods in Karel
    29. Check for Understanding 3.5.2 Methods in Karel
    30. Example 3.5.3 Turn Around
    31. Exercise 3.5.4 Planting Bushes
    32. Exercise 3.5.5 Mario Karel
    33. 3.6 Top Down Design and Decomposition in Karel

    34. Video 3.6.1 Top Down Design and Decomposition in Karel
    35. Check for Understanding 3.6.2 Top Down Design and Decomposition
    36. Example 3.6.3 Hurdle Karel
    37. Exercise 3.6.4 The Two Towers
    38. Exercise 3.6.5 Planting Flowers
    39. Article 3.6.6 Difference between Bottom-Up Model and Top-Down Model
    40. Exercise 3.6.7 Free Response: Compare Bottom Up and Top Down Design
    41. 3.7 Commenting Your Code

    42. Video 3.7.1 Commenting Your Code
    43. Check for Understanding 3.7.2 Commenting Your Code
    44. Example 3.7.3 Hurdle Karel (Comments)
    45. Exercise 3.7.4 The Two Towers + Comments
    46. 3.8 Super Karel

    47. Video 3.8.1 Super Karel
    48. Check for Understanding 3.8.2 Super Karel
    49. Example 3.8.3 Hurdle Karel (with SuperKarel)
    50. Exercise 3.8.4 The Two Towers + SuperKarel
    51. Badge 3.8.5 Super Karel Badge
    52. 3.9 For Loops

    53. Video 3.9.1 For Loops
    54. Check for Understanding 3.9.2 For Loops
    55. Example 3.9.3 Repeated Move
    56. Example 3.9.4 Put Down Tennis Balls
    57. Exercise 3.9.5 Marathon Karel
    58. Exercise 3.9.6 Take 'em All
    59. Exercise 3.9.7 Dizzy Karel
    60. Exercise 3.9.8 For Loop Square
    61. Exercise 3.9.9 Planting Flowers
    62. Exercise 3.9.10 Lots of Hurdles
    63. 3.10 While Loops in Karel

    64. Video 3.10.1 While Loops in Karel
    65. Check for Understanding 3.10.2 While Loops in Karel
    66. Example 3.10.3 Move to Wall
    67. Exercise 3.10.4 Follow The Yellow Ball Road
    68. Exercise 3.10.5 Just Keep Spinning
    69. Exercise 3.10.6 Lay Row of Tennis Balls
    70. Exercise 3.10.7 Big Tower
    71. 3.11 If Statements

    72. Video 3.11.1 If Statements
    73. Check for Understanding 3.11.2 If Statements Quiz
    74. Example 3.11.3 If Statements
    75. Example 3.11.4 Safe Take Ball
    76. Exercise 3.11.5 Is There a Ball?
    77. 3.12 If/Else Statements

    78. Video 3.12.1 If/Else Statements
    79. Check for Understanding 3.12.2 If/Else Statements
    80. Example 3.12.3 Flip Karel
    81. Exercise 3.12.4 Fix It Karel
    82. Exercise 3.12.5 Invert
    83. Badge 3.12.6 Conditional Karel Badge
    84. 3.13 Control Structures Example

    85. Video 3.13.1 Control Structures Example
    86. Check for Understanding 3.13.2 Control Structures Example
    87. Example 3.13.3 Cleanup Karel
    88. Exercise 3.13.4 Random Hurdles
    89. Exercise 3.13.5 Fix It Karel
    90. 3.14 More Karel Examples and Testing

    91. Video 3.14.1 More Karel Examples and Testing
    92. Example 3.14.2 Move Tennis Ball Stack
    93. Example 3.14.3 Climbing Karel
    94. 3.15 How to Indent Your Code

    95. Video 3.15.1 How to Indent Your Code
    96. Check for Understanding 3.15.2 How to Indent Your Code
    97. Example 3.15.3 Dance and Clean Karel
    98. Exercise 3.15.4 Diagonal
    99. Exercise 3.15.5 Staircase
    100. Badge 3.15.6 Karel Exercises Badge
    101. 3.16 Karel Challenges

    102. Challenge 3.16.1 Fetch
    103. Challenge 3.16.2 Racing Karel
    104. Challenge 3.16.3 Tower Builder
    105. Challenge 3.16.4 Super Cleanup Karel
    106. Challenge 3.16.5 Double Tennis Balls
    107. Challenge 3.16.6 Midpoint Karel
    108. Badge 3.16.7 Karel Challenges Badge
    109. 3.17 Introduction to Programming in Java Quiz

    110. Unit Quiz 3.17.1 Introduction to Programming in Java Quiz Unit 1
  4. Basic Java

    1. 4.1 Programming Fundamentals

    2. Video 4.1.1 Programming Languages
    3. Quiz 4.1.2 Programming Languages
    4. Connection 4.1.3 Compilers vs. Interpreters
    5. Free Response 4.1.4 Compilers vs. Interpreters
    6. Resource 4.1.5 How to Choose a Programming Language
    7. Free Response 4.1.6 How to Choose a Programming Language Free Response
    8. Video 4.1.7 How Computers Read Code
    9. Free Response 4.1.8 Machine vs Assembly Language
    10. 4.2 Printing in Java

    11. Video 4.2.1 Printing in Java
    12. Check for Understanding 4.2.2 Printing in Java
    13. Example 4.2.3 Hello world
    14. Example 4.2.4 Printing Multiple Lines
    15. Exercise 4.2.5 Welcome Program
    16. Exercise 4.2.6 ASCII Art
    17. 4.3 Variables and Types

    18. Video 4.3.1 Variables and Types
    19. Check for Understanding 4.3.2 Variables and Types
    20. Example 4.3.3 Variables
    21. Exercise 4.3.4 Our First Integer
    22. Exercise 4.3.5 Answering Questions
    23. 4.4 User Input

    24. Video 4.4.1 User Input
    25. Check for Understanding 4.4.2 User Input
    26. Example 4.4.3 UserInput
    27. Exercise 4.4.4 About You
    28. Exercise 4.4.5 Poetry
    29. Badge 4.4.6 User Input Badge
    30. 4.5 Arithmetic Expressions

    31. Video 4.5.1 Arithmetic Expressions
    32. Check for Understanding 4.5.2 Arithmetic Expressions
    33. Example 4.5.3 Calculator
    34. Example 4.5.4 Tricky Java
    35. Exercise 4.5.5 Weight of a Pyramid
    36. Exercise 4.5.6 Add Fractions
    37. Example 4.5.7 Imprecision of Real Numbers
    38. Example 4.5.8 Round Off Error
    39. Exercise 4.5.9 Round-Off Errors and Bank Transactions
    40. Example 4.5.10 Min and Max Values of Integers
    41. Exercise 4.5.11 Integer Overflow
    42. 4.6 Casting

    43. Video 4.6.1 Casting
    44. Check for Understanding 4.6.2 Casting
    45. Example 4.6.3 Casting
    46. Exercise 4.6.4 Casting to an Int
    47. Exercise 4.6.5 Casting to a Double
    48. Example 4.6.6 Casting Order of Operations
    49. Example 4.6.7 Rounding using Casting
    50. Exercise 4.6.8 Movie Ratings
    51. 4.7 Booleans

    52. Video 4.7.1 Booleans
    53. Check for Understanding 4.7.2 Booleans
    54. Example 4.7.3 Boolean Example
    55. Exercise 4.7.4 Ice Cream
    56. Badge 4.7.5 Booleans Badge
    57. 4.8 Logical Operators

    58. Video 4.8.1 Logical Operators
    59. Check for Understanding 4.8.2 Logical Operators
    60. Example 4.8.3 Light Switch
    61. Exercise 4.8.4 Roller Coaster
    62. 4.9 Comparison Operators

    63. Video 4.9.1 Comparison Operators
    64. Check for Understanding 4.9.2 Comparison Operators
    65. Example 4.9.3 Grade Range
    66. Exercise 4.9.4 Triple Double
    67. 4.10 For Loops

    68. Video 4.10.1 For Loops
    69. Check for Understanding 4.10.2 For Loops
    70. Example 4.10.3 The For Loop
    71. Exercise 4.10.4 Repeat 1000 Times
    72. Video 4.10.5 General For Loop
    73. Example 4.10.6 Countdown
    74. Example 4.10.7 Count By Twos
    75. Exercise 4.10.8 Print The Odds
    76. Video 4.10.9 For Loop Examples
    77. Example 4.10.10 For Loop Sum
    78. Exercise 4.10.11 Factorial
    79. 4.11 While Loops

    80. Video 4.11.1 While Loops
    81. Check for Understanding 4.11.2 While Loops
    82. Example 4.11.3 While Loop Countdown
    83. Exercise 4.11.4 Making Taffy
    84. 4.12 If Statements

    85. Video 4.12.1 If Statements
    86. Check for Understanding 4.12.2 If Statements
    87. Example 4.12.3 Negative Numbers
    88. Example 4.12.4 Even and Odd
    89. Exercise 4.12.5 Find the Minimum
    90. Exercise 4.12.6 How Was Dinner?
    91. Example 4.12.7 Nested Conditional Logic
    92. Exercise 4.12.8 Eligibility to Vote
    93. 4.13 Loop-and-a-Half

    94. Video 4.13.1 Loop-and-a-Half
    95. Check for Understanding 4.13.2 Loop-and-a-Half Quiz
    96. Example 4.13.3 Running Average
    97. Exercise 4.13.4 Guess the Number
    98. Badge 4.13.5 Looper Badge
    99. 4.14 Short-Circuit Evaluation

    100. Video 4.14.1 Short-Circuit Evaluation
    101. Check for Understanding 4.14.2 Short-Circuit Evaluation Quiz
    102. Example 4.14.3 Pizza Slices
    103. Exercise 4.14.4 Divisibility
    104. 4.15 De Morgan's Laws

    105. Video 4.15.1 De Morgan's Laws
    106. Check for Understanding 4.15.2 De Morgan's Laws Quiz
    107. Example 4.15.3 De Morgan AND
    108. Example 4.15.4 De Morgan OR
    109. Exercise 4.15.5 Amusement Park
    110. 4.16 Strings

    111. Video 4.16.1 Strings
    112. Check for Understanding 4.16.2 Strings
    113. Example 4.16.3 Comparing Strings
    114. Exercise 4.16.4 Three Strings
    115. Badge 4.16.5 Basic Java Exercises Badge
    116. 4.17 Basic Java Quiz

    117. Unit Quiz 4.17.1 Basic Java Quiz
  5. Methods

    1. 5.1 Java Methods

    2. Video 5.1.1 Java Methods
    3. Check for Understanding 5.1.2 Java Methods
    4. Example 5.1.3 Print Line Break
    5. Exercise 5.1.4 Print Karel
    6. 5.2 Methods and Parameters

    7. Video 5.2.1 Methods and Parameters
    8. Check for Understanding 5.2.2 Methods and Parameters
    9. Example 5.2.3 Line Breaks with Parameters
    10. Example 5.2.4 Sum
    11. Exercise 5.2.5 Product
    12. Exercise 5.2.6 Add10
    13. Exercise 5.2.7 Countdown From
    14. Exercise 5.2.8 Repeating Message
    15. 5.3 Methods and Return Values

    16. Video 5.3.1 Methods and Return Values
    17. Check for Understanding 5.3.2 Return Value
    18. Example 5.3.3 Methods and Return Values
    19. Practice 5.3.4 Double Number
    20. Practice 5.3.5 Square
    21. Practice 5.3.6 Average
    22. 5.4 Javadocs and More Methods

    23. Video 5.4.1 Javadocs
    24. Check for Understanding 5.4.2 Javadocs
    25. Example 5.4.3 Javadoc Sum
    26. Practice 5.4.4 Is in Range
    27. Practice 5.4.5 Sum Range
    28. Practice 5.4.6 Is Divisible
    29. Practice 5.4.7 Fahrenheit to Celsius
    30. Badge 5.4.8 Methods Badge
    31. 5.5 Strings Methods

    32. Video 5.5.1 String Methods
    33. Check for Understanding 5.5.2 String Methods
    34. Example 5.5.3 Looping Over a String
    35. Practice 5.5.4 Yelling
    36. Practice 5.5.5 Porky Pig
    37. Practice 5.5.6 Triple String
    38. Practice 5.5.7 Full Name
    39. Practice 5.5.8 Repeating String
    40. 5.6 Strings and Characters

    41. Video 5.6.1 Strings and Characters
    42. Example 5.6.2 Chars are Numbers
    43. Example 5.6.3 Escape Sequences
    44. Example 5.6.4 Character Methods
    45. Practice 5.6.5 Is it an Integer?
    46. 5.7 Exceptions

    47. Video 5.7.1 Exceptions
    48. Check for Understanding 5.7.2 Exceptions Quiz
    49. Example 5.7.3 Arithmetic Exception
    50. Example 5.7.4 Index Out Of Bounds Exception
    51. Exercise 5.7.5 Bug Hunter
    52. Debugging 5.7.6 Syntax Errors
    53. Debugging 5.7.7 Compiler Errors
    54. Debugging 5.7.8 Run-Time Errors
    55. Debugging 5.7.9 Logic Errors
    56. 5.8 String Processing

    57. Video 5.8.1 String Processing
    58. Check for Understanding 5.8.2 String Processing
    59. Example 5.8.3 Finding Palindromes
    60. Example 5.8.4 String Concatenation
    61. Practice 5.8.5 Fix the Sum String
    62. Practice 5.8.6 Convert To Uppercase
    63. Practice 5.8.7 Double Vowels
    64. Practice 5.8.8 All Same Letter
    65. Practice 5.8.9 AltCase
    66. Practice 5.8.10 Do the Brackets Match?
    67. Practice 5.8.11 Teen Talk
    68. Practice 5.8.12 Fixing Grammar
    69. Practice 5.8.13 Password Checker
    70. Practice 5.8.14 Replace Letter
    71. Badge 5.8.15 Methods Exercises Badge
    72. 5.9 Methods Quiz

    73. Unit Quiz 5.9.1 Methods Quiz
    74. 5.10 File Handling

    75. Example 5.10.1 Reading a File
    76. Exercise 5.10.2 Read From File
    77. Example 5.10.3 Reading a Known Size File
    78. Exercise 5.10.4 Print Playlist
    79. Example 5.10.5 File Path
    80. Example 5.10.6 Processing File Data
    81. Exercise 5.10.7 Read and Process File Data
  6. Classes and Object-Oriented Programming

    1. 6.1 Introduction to Classes and Objects

    2. Video 6.1.1 What is a Class?
    3. Check for Understanding 6.1.2 Quiz: Classes and Objects
    4. Example 6.1.3 The Rectangle Class
    5. Example 6.1.4 The Point Class
    6. Example 6.1.5 The Student Class
    7. Exercise 6.1.6 Using the Rectangle Class
    8. Exercise 6.1.7 Calling A Method
    9. Exercise 6.1.8 Using the Point Class
    10. Exercise 6.1.9 Using the Student Class
    11. 6.2 Classes vs. Objects

    12. Video 6.2.1 Classes and Objects
    13. Check for Understanding 6.2.2 Classes vs. Objects vs. Instances
    14. Example 6.2.3 Classes, Objects, and Instances
    15. Example 6.2.4 Creating Rectangle Objects
    16. Exercise 6.2.5 Text Messages
    17. 6.3 Using a Class as a Client

    18. Video 6.3.1 How to Use a Class
    19. Check for Understanding 6.3.2 Quiz: Client of a Class
    20. Example 6.3.3 Using the Rectangle Class as a Client
    21. Example 6.3.4 Using the Randomizer Class as a Client
    22. Exercise 6.3.5 Coin Flips
    23. Exercise 6.3.6 Longest Streak
    24. Example 6.3.7 Testing the GeoLocation Class
    25. Exercise 6.3.8 How Far Away is ...?
    26. Badge 6.3.9 Client Badge
    27. 6.4 Writing Classes

    28. Video 6.4.1 Constructors
    29. Check for Understanding 6.4.2 Quiz: Constructors
    30. Example 6.4.3 Rectangle toString
    31. Example 6.4.4 Student toString
    32. Exercise 6.4.5 toString for Flowers
    33. Exercise 6.4.6 Instance Variables for Your Dog
    34. Exercise 6.4.7 Student GPA Field
    35. Free Response 6.4.8 Free Response: What instance variables?
    36. Exercise 6.4.9 Pizza Time!
    37. Exercise 6.4.10 Fractions
    38. 6.5 Writing Classes and Instance Methods

    39. Video 6.5.1 Writing Instance Methods
    40. Check for Understanding 6.5.2 Quiz: Writing Methods
    41. Example 6.5.3 Area of a Rectangle
    42. Example 6.5.4 Moving a Point
    43. Exercise 6.5.5 Writing getPerimeter()
    44. Exercise 6.5.6 Honors Students
    45. Exercise 6.5.7 Batting Average
    46. Exercise 6.5.8 Distance in Kilometers
    47. Resource 6.5.9 Combination Lock FRQ
    48. 6.6 Getter and Setter Methods

    49. Video 6.6.1 Getter and Setter Methods
    50. Check for Understanding 6.6.2 Quiz: Getter and Setter Methods
    51. Example 6.6.3 Rectangle Getter Methods
    52. Example 6.6.4 Student Getter Methods
    53. Exercise 6.6.5 Text Messages Getter Methods
    54. Exercise 6.6.6 Fractions Getter/Setter Methods
    55. Exercise 6.6.7 Full Fraction Class
    56. Exercise 6.6.8 Full Dragon Class
    57. Exercise 6.6.9 A Different Dragon Class
    58. 6.7 Class Methods and Class Variables

    59. Video 6.7.1 Static Methods and Variables (Class Methods and Class Variables)
    60. Check for Understanding 6.7.2 Quiz: Static Methods
    61. Example 6.7.3 Student Class Variables and Methods
    62. Example 6.7.4 Using the Math Class
    63. Example 6.7.5 Using Randomizer
    64. Example 6.7.6 Static Variables: Circle
    65. Exercise 6.7.7 The Unit Circle
    66. Exercise 6.7.8 How Many Players in the Game?
    67. Exercise 6.7.9 Circle Area, another way
    68. Practice 6.7.10 Rock, Paper, Scissors: Get Winner
    69. Exercise 6.7.11 Rock, Paper, Scissors!
    70. 6.8 Wrapper Classes

    71. Video 6.8.1 Wrapper Classes
    72. Check for Understanding 6.8.2 Quiz: Wrapper Classes
    73. Example 6.8.3 Creating Integers
    74. Example 6.8.4 Using Doubles
    75. Example 6.8.5 Autoboxing Example
    76. Exercise 6.8.6 Order Up!
    77. Exercise 6.8.7 Currency
    78. Exercise 6.8.8 Guess the number!
    79. 6.9 Method Overloading

    80. Video 6.9.1 Method Overloading
    81. Check for Understanding 6.9.2 Method Overloading Quiz
    82. Example 6.9.3 Sum Method Overloading
    83. Example 6.9.4 Constructor Overloading
    84. Exercise 6.9.5 Average Method Overloading
    85. Badge 6.9.6 Overloading Badge
    86. 6.10 Local Variables and Scope

    87. Video 6.10.1 Local Variables and Scope
    88. Check for Understanding 6.10.2 Local Variables and Scope Quiz
    89. Example 6.10.3 Instance Variable Scope
    90. Example 6.10.4 Local Variable Scope
    91. Example 6.10.5 Variable Shadowing
    92. Exercise 6.10.6 Which Variables Exist?
    93. 6.11 Key Terms for Classes

    94. Video 6.11.1 Key Terms for Classes
    95. Check for Understanding 6.11.2 Quiz: This Keyword
    96. Example 6.11.3 Rectangles and this
    97. Exercise 6.11.4 Batteries
    98. Exercise 6.11.5 Write Your Own CodeHS
    99. 6.12 Objects vs Primitives

    100. Video 6.12.1 Objects vs Primitives
    101. Check for Understanding 6.12.2 Objects vs Primitives Quiz
    102. Example 6.12.3 Comparing Rectangles
    103. Example 6.12.4 Changing Dogs
    104. Example 6.12.5 Null Pointer Exception
    105. Free Response 6.12.6 Objects vs Primitives
    106. Exercise 6.12.7 Comparing Circles
    107. Exercise 6.12.8 Cloning Objects
    108. 6.13 Inheritance

    109. Video 6.13.1 Inheritance
    110. Check for Understanding 6.13.2 Quiz: Subclasses and Superclasses
    111. Example 6.13.3 Square is a Rectangle
    112. Exercise 6.13.4 Clothing Store
    113. Badge 6.13.5 Inheritance Badge
    114. 6.14 Class Design and Abstract Classes

    115. Video 6.14.1 Class Design and Abstract Classes
    116. Check for Understanding 6.14.2 Quiz: Class Design
    117. Example 6.14.3 The Shape Hierarchy
    118. Example 6.14.4 Classes for Dessert
    119. Exercise 6.14.5 Finding The Perimeters
    120. 6.15 Polymorphism

    121. Video 6.15.1 Polymorphism
    122. Check for Understanding 6.15.2 Quiz: Polymorphism
    123. Example 6.15.3 Animal Sounds
    124. Example 6.15.4 Shape Areas
    125. Exercise 6.15.5 Fun with Solids
    126. 6.16 Object Superclass

    127. Video 6.16.1 Object Superclass
    128. Check for Understanding 6.16.2 Quiz: Object Superclass
    129. Example 6.16.3 Default Values
    130. Example 6.16.4 Override toString
    131. Example 6.16.5 Override equals
    132. Exercise 6.16.6 Equal?
    133. Exercise 6.16.7 Equals? - Part 2
    134. Exercise 6.16.8 Equal Rectangles
    135. Exercise 6.16.9 2D Array Tester
    136. 6.17 Interfaces

    137. Video 6.17.1 Interfaces
    138. Check for Understanding 6.17.2 Quiz: Interfaces
    139. Example 6.17.3 Comparable Interface
    140. Example 6.17.4 Summable Interface
    141. Exercise 6.17.5 Fraction is Comparable
    142. Exercise 6.17.6 City is Summable
    143. Badge 6.17.7 Classes and Object-Oriented Programming Badge
    144. 6.18 Composition

    145. Notes 6.18.1 Composition vs. Inheritance
    146. Quiz 6.18.2 Composition
    147. Example 6.18.3 House and Room
    148. Exercise 6.18.4 Library System
    149. 6.19 Ethical and Social Implications of Computing

    150. Video 6.19.1 Implications of Computing Systems
    151. Free Response 6.19.2 Computing and Your Life
    152. Check for Understanding 6.19.3 Quiz: Ethical and Social Impact
    153. Connection 6.19.4 ACM General Ethical Principles
    154. Free Response 6.19.5 ACM General Ethical Principles
    155. Connection 6.19.6 Bias in Facial Recognition
    156. Free Response 6.19.7 Bias in Facial Recognition
    157. Connection 6.19.8 Self-driving Cars
    158. Free Response 6.19.9 Self-driving Cars
    159. 6.20 Classes and Object-Oriented Programming Quiz

    160. Unit Quiz 6.20.1 Classes and Object-Oriented Programming Quiz
  7. Data Structures

    1. 7.1 What are Data Structures?

    2. Video 7.1.1 What are Data Structures?
    3. Check for Understanding 7.1.2 Quiz: Data Structures
    4. Free Response 7.1.3 Data Structures Everywhere
    5. 7.2 Introduction to Arrays

    6. Video 7.2.1 Introduction to Arrays
    7. Check for Understanding 7.2.2 Quiz: Arrays
    8. Example 7.2.3 Making an Array
    9. Example 7.2.4 Make an Empty Array
    10. Example 7.2.5 Indexing Into an Array
    11. Exercise 7.2.6 Our First Array
    12. Practice 7.2.7 Array Length
    13. Practice 7.2.8 Last Element in Array
    14. 7.3 Using Arrays

    15. Video 7.3.1 Using Arrays
    16. Check for Understanding 7.3.2 Quiz: Using Arrays
    17. Example 7.3.3 Iterating Over an Array
    18. Example 7.3.4 Sum Array
    19. Example 7.3.5 Array Out of Bounds
    20. Exercise 7.3.6 Print Array
    21. Exercise 7.3.7 Print Odd Array Indices
    22. Practice 7.3.8 Find the Last Multiple of 3
    23. Example 7.3.9 Classroom Example
    24. Example 7.3.10 Exam Scores
    25. Example 7.3.11 Array References
    26. Practice 7.3.12 Find the Median
    27. Exercise 7.3.13 Most Improved
    28. Badge 7.3.14 Arrays Badge
    29. 7.4 Enhanced For Loops

    30. Video 7.4.1 Enhanced For Loops
    31. Check for Understanding 7.4.2 Enhanced For Loop
    32. Example 7.4.3 Enhanced For Loop
    33. Example 7.4.4 Classroom Array
    34. Example 7.4.5 Insert into an Array
    35. Example 7.4.6 Updating Values in a Loop
    36. Exercise 7.4.7 Print Odds
    37. Exercise 7.4.8 Largest Value
    38. Exercise 7.4.9 Classroom Array
    39. Exercise 7.4.10 Array Average
    40. Exercise 7.4.11 Calculating the Average of Real Numbers
    41. Exercise 7.4.12 Delete Data
    42. 7.5 ArrayList Methods

    43. Video 7.5.1 ArrayLists
    44. Check for Understanding 7.5.2 Quiz: ArrayList
    45. Example 7.5.3 Hello World ArrayList
    46. Example 7.5.4 ArrayList and Java Primitives
    47. Example 7.5.5 ArrayList Size Method
    48. Exercise 7.5.6 Get First Element
    49. Example 7.5.7 Reading List
    50. Example 7.5.8 Texting in Class
    51. Exercise 7.5.9 Road Trip!
    52. Resource 7.5.10 MagicalWorld Candy FRQ
    53. 7.6 Arrays vs ArrayLists

    54. Video 7.6.1 Arrays vs ArrayLists
    55. Check for Understanding 7.6.2 Quiz: Arrays vs ArrayList
    56. Example 7.6.3 Expanding Array
    57. Exercise 7.6.4 Improving Expanding Array
    58. Exercise 7.6.5 Insert at Beginning of the Array
    59. Example 7.6.6 Array vs ArrayList
    60. Resource 7.6.7 Seat Assignments FRQ
    61. 7.7 Additional Loop Examples

    62. Video 7.7.1 Additional Loop Examples
    63. Check for Understanding 7.7.2 Additional Loop Examples
    64. Example 7.7.3 For and While Loops
    65. Example 7.7.4 ArrayList Traversing Error
    66. Example 7.7.5 Traversing ArrayLists Simultaneously
    67. Exercise 7.7.6 Replace FOR Loop with WHILE Loop
    68. Exercise 7.7.7 Traversing Odds
    69. Exercise 7.7.8 ArrayList Equals
    70. 7.8 The List Interface

    71. Video 7.8.1 The List Interface
    72. Check for Understanding 7.8.2 The List Interface Quiz
    73. Example 7.8.3 Reverse the List
    74. Practice 7.8.4 Summer Reading Short List
    75. 7.9 2D Arrays (Matrices or Grids)

    76. Video 7.9.1 2D Arrays
    77. Check for Understanding 7.9.2 Quiz: 2D Arrays
    78. Example 7.9.3 Nested Loops
    79. Practice 7.9.4 Ice Cream Combos
    80. Example 7.9.5 First 2D Array
    81. Example 7.9.6 Initializing a 2D Array
    82. Example 7.9.7 The Matrix
    83. Exercise 7.9.8 Inserting a Row at the Beginning of a 2D Array
    84. Practice 7.9.9 Sum Rows in a Matrix
    85. Badge 7.9.10 Matrix Badge
    86. 7.10 Traversing 2D Arrays

    87. Video 7.10.1 Traversing 2D Arrays
    88. Check for Understanding 7.10.2 Quiz: Traversing 2D Arrays
    89. Example 7.10.3 Traversing Gradebook
    90. Example 7.10.4 Linear Search 2D Arrays
    91. Example 7.10.5 Row vs. Column Major
    92. Free Response 7.10.6 Row vs. Column Major
    93. Exercise 7.10.7 Sum Rows in a 2D Array
    94. Exercise 7.10.8 Tic Tac Toe Methods
    95. Challenge 7.10.9 Finalizing Tic Tac Toe
    96. Example 7.10.10 Insert into a 2D Array
    97. Exercise 7.10.11 Delete from 2D Array
    98. 7.11 HashMaps

    99. Video 7.11.1 HashMaps
    100. Check for Understanding 7.11.2 Quiz: HashMaps
    101. Example 7.11.3 The Phonebook
    102. Exercise 7.11.4 Word Counts
    103. Free Response 7.11.5 Word Counts Reflection
    104. 7.12 Binary

    105. Video 7.12.1 Number Systems
    106. Check for Understanding 7.12.2 Number Systems Quiz
    107. Example 7.12.3 Converting Octal to Decimal
    108. Practice 7.12.4 Converting Binary to Decimal
    109. Video 7.12.5 Using Binary
    110. Check for Understanding 7.12.6 Using Binary Quiz
    111. Example 7.12.7 Integer Limits
    112. Exercise 7.12.8 Binary Translator
    113. Resource 7.12.9 Genres Galore Online Shop FRQ
    114. 7.13 Ethical Issues Around Data Collection

    115. Video 7.13.1 Ethical Issues Around Data Collection
    116. Check for Understanding 7.13.2 Ethical Issues Around Data Collection
    117. Connection 7.13.3 The Curly Fry Conundrum
    118. Free Response 7.13.4 Reflection
    119. Connection 7.13.5 Guidelines on Ethical Data Use
    120. Free Response 7.13.6 Issue News Article
    121. Badge 7.13.7 ArrayList Badge
    122. 7.14 Data Structures Quiz

    123. Unit Quiz 7.14.1 Data Structures Quiz
  8. Steganography Lab

    1. 8.1 Activity 1: Exploring Color

    2. Resource 8.1.1 Steganography Student Lab
    3. Free Response 8.1.2 Picture Lab A1: Digital Pictures and Color
    4. Free Response 8.1.3 Exploring Color
    5. Example 8.1.4 Clearing Bits
    6. Free Response 8.1.5 Clearing Bits Responses
    7. Exercise 8.1.6 Changing Colors
    8. Free Response 8.1.7 Changing Colors Response
    9. Exercise 8.1.8 Setting Bits
    10. Connection 8.1.9 Bits vs Vectors
    11. Free Response 8.1.10 Bits vs Vectors
    12. 8.2 Activity 2: Hiding and Revealing a Picture

    13. Free Response 8.2.1 Hiding and Revealing
    14. Exercise 8.2.2 Hiding and Revealing
    15. 8.3 Activity 3: Identifying a Hidden Picture

    16. Exercise 8.3.1 Identifying a Hidden Picture
    17. Free Response 8.3.2 Identify a Hidden Picture: Check Your Understanding
    18. 8.4 Activity 4: Hiding and Revealing a Text Message

    19. Free Response 8.4.1 Hiding and Revealing a Text Message Intro
    20. Exercise 8.4.2 Hiding and Revealing a Text Message
    21. Free Response 8.4.3 Hiding and Revealing; Check your Understanding
    22. 8.5 Activity 5: Open Ended Project

    23. Exercise 8.5.1 Open Ended Project
  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. 9.2 Linear Search

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

    12. Video 9.3.1 Binary Search
    13. Check for Understanding 9.3.2 Binary Search
    14. Example 9.3.3 Binary Search
    15. Exercise 9.3.4 Comparing Binary Search and Linear Search
    16. Badge 9.3.5 Binary Search Badge
    17. 9.4 Selection Sort

    18. Video 9.4.1 Selection Sort
    19. Check for Understanding 9.4.2 Selection Sort
    20. Example 9.4.3 Selection Sort
    21. Example 9.4.4 Visualizing Algorithms
    22. Exercise 9.4.5 Explore Selection Sort
    23. 9.5 Insertion Sort

    24. Video 9.5.1 Insertion Sort
    25. Check for Understanding 9.5.2 Insertion Sort
    26. Example 9.5.3 Visualizing Algorithms
    27. Example 9.5.4 Insertion Sort
    28. Exercise 9.5.5 Explore Insertion Sort
    29. Connection 9.5.6 Bubble Sort
    30. Free Response 9.5.7 Bubble Sort Free Response
    31. 9.6 Advanced: Recursion

    32. Video 9.6.1 Recursion
    33. Example 9.6.2 Factorial
    34. Practice 9.6.3 Factorial Unit Test Example
    35. Video 9.6.4 Recursion Walkthrough
    36. Example 9.6.5 Recursion Example
    37. Example 9.6.6 Recursive Binary Search
    38. Example 9.6.7 Fibonacci Recursive
    39. Practice 9.6.8 Bacteria Cultures
    40. Practice 9.6.9 Recursive Minimum
    41. AP Practice 9.6.10 AP Multiple Choice Practice
    42. 9.7 Mergesort

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

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

    59. Unit Quiz 9.9.1 Algorithms and Recursion Quiz
    60. 9.10 Algorithm Performance

    61. Notes 9.10.1 Linear Search
    62. Notes 9.10.2 Binary Search
    63. Free Response 9.10.3 Compare Linear and Binary Search
    64. Video 9.10.4 Search Algorithm Execution Count
    65. Free Response 9.10.5 Search Algorithm Execution Count
    66. Notes 9.10.6 Selection Sort
    67. Notes 9.10.7 Insertion Sort
    68. Free Response 9.10.8 Compare Selection and Insertion Sort
    69. Video 9.10.9 Sorting Algorithm Execution Count
    70. Free Response 9.10.10 Sorting Algorithm Execution Count
  10. Celebrity Lab

    1. 10.1 Activity 1: Introduction to Celebrity

    2. Free Response 10.1.1 Introduction to Celebrity
    3. 10.2 Activity 2: The Celebrity Class: A Simple Version

    4. Free Response 10.2.1 Celebrity Class: A Simple Version
    5. Exercise 10.2.2 Celebrity Constructor
    6. 10.3 Activity 3: Putting it All Together

    7. Exercise 10.3.1 Set up Constructors
    8. Exercise 10.3.2 Setting up the Game
    9. Exercise 10.3.3 Complete Game Play Methods
    10. Free Response 10.3.4 Check Your Understanding
    11. Notes 10.3.5 Tracing Black Box Functions
    12. Exercise 10.3.6 Guess the Black Box Function
    13. 10.4 Activity 4: Extending the Celebrity Class

    14. Free Response 10.4.1 Extending the Celebrity Class
    15. Example 10.4.2 Literature Celebrity
    16. Exercise 10.4.3 Custom Celebrity
    17. Exercise 10.4.4 Updating CelebrityGame
    18. Exercise 10.4.5 Updating the GUI
    19. 10.5 Activity 5: Open Ended Activity

    20. Free Response 10.5.1 Open Ended Activity
  11. Final Project

    1. 11.1 Project Overview

    2. Resource 11.1.1 Final Project Overview
    3. Notes 11.1.2 Teamwork Challenge
    4. Connection 11.1.3 Innovative Brainstorm
    5. Free Response 11.1.4 Innovative Brainstorm
    6. Notes 11.1.5 Software Engineering Practices for Your Project
    7. 11.2 Planning Your Project

    8. Free Response 11.2.1 Determine your Objectives
    9. Free Response 11.2.2 Create a Project Timeline
    10. Video 11.2.3 Choose Your Roles
    11. 11.3 Creating Your Project

    12. Free Response 11.3.1 Create your Project
    13. 11.4 Providing Feedback

    14. Connection 11.4.1 Evaluating an Innovation
    15. Free Response 11.4.2 Evaluating an Innovation
    16. Free Response 11.4.3 User Testing 1
    17. Free Response 11.4.4 User Testing 2
    18. 11.5 Presenting your Innovation

    19. Free Response 11.5.1 Make Changes and Update Version
    20. Presentation 11.5.2 Present your Innovation
    21. 11.6 Challenge: Take your Innovation Off CodeHS

    22. Notes 11.6.1 Take your Innovation Off CodeHS
    23. Video 11.6.2 Java Outside of CodeHS
    24. Video 11.6.3 Hello World in Eclipse
    25. Video 11.6.4 Hello World in BlueJ
    26. Video 11.6.5 Hello World in Terminal
  12. Computer Science Careers

    1. 12.1 Careers and Internships

    2. Video 12.1.1 Computer Science Careers
    3. Free Response 12.1.2 Computer Science Career Exploration
    4. Free Response 12.1.3 Internships Exploration
    5. Free Response 12.1.4 Contact an Organization
    6. Video 12.1.5 Leadership and Computer Science
    7. Free Response 12.1.6 Leadership Response
    8. 12.2 CS Career Preparation

    9. Video 12.2.1 What is a Programming Portfolio?
    10. Free Response 12.2.2 What is a Programming Portfolio?
    11. Video 12.2.3 What is a Resume?
    12. Free Response 12.2.4 What is a Resume?
    13. Video 12.2.5 Entry-Level IT Certifications
    14. Free Response 12.2.6 Entry-Level IT Certifications
    15. Video 12.2.7 What You Need to Know About Becoming a Computer Science Major
    16. Free Response 12.2.8 Exploring CS Degree Programs
    17. 12.3 Legal and Ethical Responsibilities

    18. Article 12.3.1 Legal and Ethical Issues in IT
    19. Notes 12.3.2 Legal and Ethical Jigsaw Overview
    20. Free Response 12.3.3 Become an Expert
    21. Free Response 12.3.4 Teach and Learn
    22. Free Response 12.3.5 Synthesize: Guiding Principles
    23. 12.4 Technical Reading, Writing, and Communication

    24. Article 12.4.1 Technical Reading Skills
    25. Article 12.4.2 Technical Reading Practice
    26. Article 12.4.3 Technical Writing Skills
    27. Free Response 12.4.4 Technical Writing Practice
    28. Article 12.4.5 Effective Communication Tips
    29. Video 12.4.6 Sell Me This