Please enable JavaScript to use CodeHS

IB Computer Science Higher Level (Year One) - Outline

  1. Introduction to Programming in Java with Karel the Dog

    1. 1.1 Introduction to Programming With Karel

    2. Video 1.1.1 Introduction to Programming With Karel
    3. Check for Understanding 1.1.2 Quiz: Karel Commands
    4. Example 1.1.3 Our First Karel Program
    5. Exercise 1.1.4 Your First Karel Program
    6. Exercise 1.1.5 Short Stack
    7. 1.2 More Basic Karel

    8. Video 1.2.1 More Basic Karel
    9. Check for Understanding 1.2.2 More Basic Karel
    10. Example 1.2.3 Tennis Ball Square
    11. Exercise 1.2.4 Make a Tower
    12. Exercise 1.2.5 Pyramid of Karel
    13. 1.3 Java Programs and the Run Method

    14. Video 1.3.1 Writing a Java Program
    15. Check for Understanding 1.3.2 Run Method
    16. Example 1.3.3 Square Karel
    17. Exercise 1.3.4 Tower Karel
    18. Exercise 1.3.5 Gold Medal Karel
    19. Exercise 1.3.6 Maze Karel
    20. 1.4 Karel Can't Turn Right

    21. Video 1.4.1 Karel Can't Turn Right
    22. Check for Understanding 1.4.2 Karel Can't Turn Right
    23. Example 1.4.3 Tower and Turn Right
    24. Exercise 1.4.4 Slide Karel
    25. Exercise 1.4.5 Fireman Karel
    26. Badge 1.4.6 Right Turn Karel Badge
    27. 1.5 Methods in Karel

    28. Video 1.5.1 Methods in Karel
    29. Check for Understanding 1.5.2 Methods in Karel
    30. Example 1.5.3 Turn Around
    31. Exercise 1.5.4 Planting Bushes
    32. Exercise 1.5.5 Mario Karel
    33. 1.6 Top Down Design and Decomposition in Karel

    34. Video 1.6.1 Top Down Design and Decomposition in Karel
    35. Check for Understanding 1.6.2 Top Down Design and Decomposition
    36. Example 1.6.3 Hurdle Karel
    37. Exercise 1.6.4 The Two Towers
    38. Exercise 1.6.5 Planting Flowers
    39. 1.7 Commenting Your Code

    40. Video 1.7.1 Commenting Your Code
    41. Check for Understanding 1.7.2 Commenting Your Code
    42. Example 1.7.3 Hurdle Karel (Comments)
    43. Exercise 1.7.4 The Two Towers + Comments
    44. 1.8 Abstraction

    45. Video 1.8.1 Abstraction
    46. Check for Understanding 1.8.2 Abstraction Quiz
    47. Example 1.8.3 Abstracting Away buildTower
    48. Free Response 1.8.4 Abstracting Your Day
    49. Free Response 1.8.5 Reflection: Abstraction
    50. Free Response 1.8.6 Reflection: Abstraction in Karel
    51. 1.9 Super Karel

    52. Video 1.9.1 Super Karel
    53. Check for Understanding 1.9.2 Super Karel
    54. Example 1.9.3 Hurdle Karel (with SuperKarel)
    55. Exercise 1.9.4 The Two Towers + SuperKarel
    56. Badge 1.9.5 Super Karel Badge
    57. 1.10 For Loops

    58. Video 1.10.1 For Loops
    59. Check for Understanding 1.10.2 For Loops
    60. Example 1.10.3 Repeated Move
    61. Example 1.10.4 Put Down Tennis Balls
    62. Exercise 1.10.5 Marathon Karel
    63. Exercise 1.10.6 Take 'em All
    64. Exercise 1.10.7 Dizzy Karel
    65. Exercise 1.10.8 For Loop Square
    66. Exercise 1.10.9 Planting Flowers
    67. Exercise 1.10.10 Lots of Hurdles
    68. 1.11 While Loops in Karel

    69. Video 1.11.1 While Loops in Karel
    70. Check for Understanding 1.11.2 While Loops in Karel
    71. Example 1.11.3 Move to Wall
    72. Exercise 1.11.4 Follow The Yellow Ball Road
    73. Exercise 1.11.5 Just Keep Spinning
    74. Exercise 1.11.6 Lay Row of Tennis Balls
    75. Exercise 1.11.7 Big Tower
    76. 1.12 If Statements

    77. Video 1.12.1 If Statements
    78. Check for Understanding 1.12.2 If Statements Quiz
    79. Example 1.12.3 If Statements
    80. Example 1.12.4 Safe Take Ball
    81. Exercise 1.12.5 Is There a Ball?
    82. 1.13 If/Else Statements

    83. Video 1.13.1 If/Else Statements
    84. Check for Understanding 1.13.2 If/Else Statements
    85. Example 1.13.3 Flip Karel
    86. Exercise 1.13.4 Fix It Karel
    87. Exercise 1.13.5 Invert
    88. Badge 1.13.6 Conditional Karel Badge
    89. 1.14 Control Structures Example

    90. Video 1.14.1 Control Structures Example
    91. Check for Understanding 1.14.2 Control Structures Example
    92. Example 1.14.3 Cleanup Karel
    93. Exercise 1.14.4 Random Hurdles
    94. Exercise 1.14.5 Fix It Karel
    95. 1.15 More Karel Examples and Testing

    96. Video 1.15.1 More Karel Examples and Testing
    97. Example 1.15.2 Move Tennis Ball Stack
    98. Example 1.15.3 Climbing Karel
    99. 1.16 How to Indent Your Code

    100. Video 1.16.1 How to Indent Your Code
    101. Check for Understanding 1.16.2 How to Indent Your Code
    102. Example 1.16.3 Dance and Clean Karel
    103. Exercise 1.16.4 Diagonal
    104. Exercise 1.16.5 Staircase
    105. Badge 1.16.6 Karel Exercises Badge
    106. 1.17 What is Code

    107. Video 1.17.1 What is Code?
    108. Connection 1.17.2 What is Software?
    109. Free Response 1.17.3 Respond: What is Software
    110. 1.18 Uses of Programs

    111. Video 1.18.1 Uses of Programs
    112. Connection 1.18.2 Why Should You Learn to Program?
    113. Free Response 1.18.3 Reflection: Learning to Program
    114. Free Response 1.18.4 Reflection: Programs in Your Life
    115. Free Response 1.18.5 Reflection: Future Programs
    116. Free Response 1.18.6 Task: Computing Innovations
    117. Connection 1.18.7 Case Study: Mob Programming
    118. Free Response 1.18.8 Case Study: Mob Programming
    119. 1.19 Karel Challenges

    120. Challenge 1.19.1 Fetch
    121. Challenge 1.19.2 Racing Karel
    122. Challenge 1.19.3 Tower Builder
    123. Challenge 1.19.4 Super Cleanup Karel
    124. Challenge 1.19.5 Double Tennis Balls
    125. Challenge 1.19.6 Midpoint Karel
    126. Badge 1.19.7 Karel Challenges Badge
    127. 1.20 Introduction to Programming in Java Quiz

    128. Unit Quiz 1.20.1 Introduction to Programming in Java Quiz Unit 1
  2. Design Thinking

    1. 2.1 Intro to Design Thinking

    2. Video 2.1.1 Intro to Design Thinking
    3. Check for Understanding 2.1.2 Intro to Design Thinking
    4. Free Response 2.1.3 User Interface Scavenger Hunt
    5. Connection 2.1.4 Case Study: Helping Blind People See
    6. Free Response 2.1.5 Case Study Responses
    7. Connection 2.1.6 Crash Course: Empathize
    8. Free Response 2.1.7 Empathize Notes
    9. Connection 2.1.8 Crash Course: Define
    10. Free Response 2.1.9 Problem Statement
    11. Connection 2.1.10 Crash Course: Ideate
    12. Free Response 2.1.11 Ideate Notes
    13. Connection 2.1.12 Crash Course: Prototype and Test
    14. Free Response 2.1.13 Testing Notes
    15. Free Response 2.1.14 Topic Brainstorm
    16. Free Response 2.1.15 Narrowing Down Topics
    17. 2.2 Empathy

    18. Video 2.2.1 Empathy
    19. Check for Understanding 2.2.2 Empathy Quiz
    20. Connection 2.2.3 A Cafeteria Designed for Me
    21. Free Response 2.2.4 A Cafeteria Designed for Me
    22. Connection 2.2.5 Accessibility
    23. Free Response 2.2.6 Accessibility Tips
    24. Free Response 2.2.7 Accessibility: Designing for ALL
    25. Connection 2.2.8 How to Interview
    26. Free Response 2.2.9 How to Interview
    27. Free Response 2.2.10 User Interview
    28. 2.3 Define

    29. Video 2.3.1 Define
    30. Check for Understanding 2.3.2 Define Quiz
    31. Connection 2.3.3 Make a Composite Character Profile
    32. Free Response 2.3.4 Composite Character Profile
    33. Free Response 2.3.5 Point-of-View Statement Brainstorm
    34. Free Response 2.3.6 POV Statement
    35. 2.4 Ideate

    36. Video 2.4.1 Ideate
    37. Check for Understanding 2.4.2 Ideate Quiz
    38. Connection 2.4.3 Stoke
    39. Free Response 2.4.4 Get Stoked
    40. Connection 2.4.5 Brainstorming Tips
    41. Free Response 2.4.6 Ideate!
    42. 2.5 Prototype

    43. Video 2.5.1 Prototype
    44. Check for Understanding 2.5.2 Prototype Quiz
    45. Connection 2.5.3 Brainstorm Selection
    46. Free Response 2.5.4 Harvest Ideas from the Brainstorm
    47. Connection 2.5.5 Wizard of Oz Prototyping
    48. Connection 2.5.6 Example Wizard of Oz Paper Prototype
    49. Free Response 2.5.7 Make Your Paper Prototypes!
    50. 2.6 Test

    51. Video 2.6.1 Test
    52. Check for Understanding 2.6.2 Testing Quiz
    53. Connection 2.6.3 Testing with Users
    54. Connection 2.6.4 Example: How to User Test
    55. Free Response 2.6.5 How to User Test Responses
    56. Connection 2.6.6 Example: How NOT to User Test
    57. Free Response 2.6.7 How NOT to User Test Responses
    58. Free Response 2.6.8 Test Prototype 1
    59. Free Response 2.6.9 Test Prototype 2
    60. Free Response 2.6.10 Improve Your Prototype
  3. Project: Put it in Writing!

    1. 3.1 Context for Change

    2. Free Response 3.1.1 Company Development
    3. Notes 3.1.2 Context for Change
    4. Connection 3.1.3 Matilda Jane Case Study
    5. Free Response 3.1.4 Case Study Reflection
    6. Video 3.1.5 Implementing New IT Systems
    7. Connection 3.1.6 Implementation Rubric
    8. 3.2 Planning for System Implementation

    9. Video 3.2.1 Planning for System Implementation
    10. Connection 3.2.2 Developing an Implementation Plan
    11. Connection 3.2.3 How Spotify Migrated to the Cloud
    12. Free Response 3.2.4 Spotify Migration Reflection
    13. Connection 3.2.5 Software as a Service (Saas)
    14. Notes 3.2.6 Data Migration Challenges
    15. Notes 3.2.7 Testing Your New System
    16. Free Response 3.2.8 Implementation Plan Link
    17. 3.3 Preparing Users

    18. Notes 3.3.1 Preparing Users Overview
    19. Connection 3.3.2 User Documentation
    20. Free Response 3.3.3 User Documentation Reflection
    21. Video 3.3.4 Change Management
    22. Connection 3.3.5 Preparing Users: Change Management Plan
    23. Free Response 3.3.6 Change Management Plan Link
    24. 3.4 Maintaining the System

    25. Notes 3.4.1 Maintaining the System Overview
    26. Connection 3.4.2 Saas and Automatic Updates
    27. Free Response 3.4.3 SaaS and Automatic Updates Response
    28. Connection 3.4.4 Data Loss: Causes, Impacts, and Prevention
    29. Free Response 3.4.5 Data Loss Reflection
    30. Notes 3.4.6 Redundancy and Failover Systems
    31. Free Response 3.4.7 Data Loss Prevention Plan
    32. Free Response 3.4.8 Real World Challenge #1
    33. Free Response 3.4.9 Real World Challenge #2
  4. Digital Information

    1. 4.1 Intro to Digital Information

    2. Video 4.1.1 What is Digital Information?
    3. Check for Understanding 4.1.2 What is Digital Information Quiz
    4. Example 4.1.3 Fast Food Menu
    5. Example 4.1.4 DNA
    6. Free Response 4.1.5 Reflection: Encodings Everywhere
    7. 4.2 Number Systems

    8. Video 4.2.1 Number Systems
    9. Notes 4.2.2 Number Base Tool
    10. Check for Understanding 4.2.3 Number Systems Quiz
    11. Video 4.2.4 Decimal to Binary
    12. Check for Understanding 4.2.5 Decimal to Binary Quiz
    13. Exercise 4.2.6 Binary Game
    14. Exercise 4.2.7 Overflow Error
    15. Example 4.2.8 More Overflow Errors
    16. 4.3 Encoding Text with Binary

    17. Video 4.3.1 Encoding Text with Binary
    18. Check for Understanding 4.3.2 Encoding Text with Binary Quiz
    19. Example 4.3.3 Morse Code
    20. Example 4.3.4 Decoding a Binary Message
    21. Example 4.3.5 2-bit Custom Encoding
    22. Example 4.3.6 Bits to ASCII
    23. Exercise 4.3.7 Hello Karel in Bits
    24. Exercise 4.3.8 Create your own Encoding
    25. Exercise 4.3.9 Text to Binary
    26. Badge 4.3.10 Encoding Badge
    27. 4.4 Hexadecimal

    28. Video 4.4.1 Hexadecimal
    29. Check for Understanding 4.4.2 Hexadecimal Quiz
    30. Example 4.4.3 Hexadecimal to Decimal
    31. Exercise 4.4.4 Binary to Hex Game
    32. 4.5 Pixel Images

    33. Video 4.5.1 Pixel Images
    34. Check for Understanding 4.5.2 Pixel Images Quiz
    35. Resource 4.5.3 Creating Pixel Images
    36. Example 4.5.4 CodeHS Logo
    37. Exercise 4.5.5 Checkerboard
    38. Exercise 4.5.6 Ladder
    39. Exercise 4.5.7 Create an Image!
    40. 4.6 Pixel Colors!

    41. Video 4.6.1 Pixel Colors
    42. Check for Understanding 4.6.2 Pixel Colors Quiz
    43. Example 4.6.3 Colors in Bits
    44. Example 4.6.4 Colors in Text
    45. Example 4.6.5 Colors in RGB
    46. Exercise 4.6.6 Exploring RGB
    47. Exercise 4.6.7 Making Yellow
    48. Exercise 4.6.8 Rainbow
    49. Exercise 4.6.9 Create a Color Image!
    50. 4.7 Data Compression

    51. Video 4.7.1 Data Compression
    52. Check for Understanding 4.7.2 Data Compression Quiz
    53. Video 4.7.3 Run Length Encoding
    54. Check for Understanding 4.7.4 Run Length Encoding Quiz
    55. Example 4.7.5 Run Length Encoding
    56. Example 4.7.6 Custom Image Compression
    57. Free Response 4.7.7 Respond: Custom Image Compression
    58. 4.8 Lossy Compression

    59. Video 4.8.1 Lossy Compression
    60. Check for Understanding 4.8.2 Lossy Compression Quiz
    61. Example 4.8.3 Remove the Vowels
    62. Exercise 4.8.4 Decreasing Resolution
    63. Connection 4.8.5 Analog to Digital
    64. Free Response 4.8.6 Respond: Analog to Digital
    65. 4.9 Digital Information Quiz

    66. Unit Quiz 4.9.1 Digital Information Quiz
  5. Networking

    1. 5.1 Welcome to the Internet

    2. Video 5.1.1 Welcome to the Internet
    3. Check for Understanding 5.1.2 Welcome to the Internet Quiz
    4. Free Response 5.1.3 Reflection: The Internet and You
    5. Video 5.1.4 Internet Addresses
    6. Check for Understanding 5.1.5 Internet Addresses Quiz
    7. Free Response 5.1.6 Free Response: The Need for Addresses
    8. Check for Understanding 5.1.7 4-bit Addresses
    9. Free Response 5.1.8 Free Response: IPv4 vs IPv6
    10. 5.2 DNS

    11. Video 5.2.1 DNS
    12. Check for Understanding 5.2.2 DNS Quiz
    13. Connection 5.2.3 How Does DNS Work?
    14. Free Response 5.2.4 Respond: How Does DNS Work?
    15. Video 5.2.5 Routing
    16. Check for Understanding 5.2.6 Routing Quiz
    17. Free Response 5.2.7 Free Response: Redundancy
    18. Connection 5.2.8 Route Tracing
    19. 5.3 Packets and Protocols

    20. Video 5.3.1 Packets and Protocols
    21. Check for Understanding 5.3.2 Packets and Protocols Quiz
    22. Resource 5.3.3 Passing Notes
    23. Connection 5.3.4 How the Internet Works
    24. Free Response 5.3.5 The Story of the Internet
    25. 5.4 Protocols and Standards

    26. Video 5.4.1 Protocols
    27. Check for Understanding 5.4.2 Protocols Quiz
    28. Video 5.4.3 Standards
    29. Check for Understanding 5.4.4 Standards Quiz
    30. Connection 5.4.5 The New Wireless Standard
    31. Connection 5.4.6 801.11ax
    32. Free Response 5.4.7 801.11ax FR
    33. 5.5 Private Networks

    34. Video 5.5.1 IP and MAC Addresses
    35. Check for Understanding 5.5.2 IP and MAC Addresses Quiz
    36. Example 5.5.3 Intranet Permissions
    37. Free Response 5.5.4 Coffee Shop: Design an Intranet
    38. Video 5.5.5 DMZs and VPNs
    39. Check for Understanding 5.5.6 DMZs and VPNs Quiz
    40. Connection 5.5.7 Protecting Privacy with VPNs
    41. Free Response 5.5.8 Protecting Privacy with VPNs
    42. Free Response 5.5.9 Coffee Shop: Network Plan
    43. Free Response 5.5.10 Coffee Shop: Network Diagram
    44. Video 5.5.11 SOHO Network
    45. Example 5.5.12 Network Topologies
    46. 5.6 Cybersecurity

    47. Video 5.6.1 Cybersecurity
    48. Check for Understanding 5.6.2 Cybersecurity Quiz
    49. Example 5.6.3 You Can Be Tracked!
    50. Connection 5.6.4 Website Cookies
    51. Connection 5.6.5 Password Strength
    52. Free Response 5.6.6 Reflection: Password Strength
    53. Example 5.6.7 Multifactor Authentication
    54. Free Response 5.6.8 Reflection: PII
    55. Example 5.6.9 Phishing Simulator
    56. Connection 5.6.10 Rogue Access Points
    57. Survey 5.6.11 Mindsets
    58. 5.7 Network Administrator

    59. Video 5.7.1 Advanced Devices
    60. Check for Understanding 5.7.2 Advanced Devices Quiz
    61. Connection 5.7.3 Network Administrator Career
    62. Free Response 5.7.4 Network Administrator Career
    63. Free Response 5.7.5 Choosing the Best Devices
    64. Free Response 5.7.6 Network Diagram
    65. 5.8 The Impact of the Internet

    66. Video 5.8.1 The Impact of the Internet
    67. Check for Understanding 5.8.2 The Impact of the Internet Quiz
    68. Free Response 5.8.3 Reflection: Internet Impact
    69. Connection 5.8.4 Crucial Steps to Close the Digital Divide
    70. Free Response 5.8.5 Reflection: Closing the Digital Divide
    71. Connection 5.8.6 Pokemon Go: Unintended Effects
    72. Free Response 5.8.7 Reflection: Unintended Effects
    73. 5.9 The Internet Quiz

    74. Unit Quiz 5.9.1 Networking Fundamentals Quiz (Duplicate)
    75. Unit Quiz 5.9.2 Advanced Networking Quiz (Duplicate)
    76. 5.10 Networking Quiz

    77. Unit Quiz 5.10.1 Networking Quiz
  6. Primitive Types

    1. 6.1 Why Programming? Why Java?

    2. Video 6.1.1 Printing in Java
    3. Check for Understanding 6.1.2 Printing in Java
    4. Example 6.1.3 Hello World
    5. Example 6.1.4 Printing Multiple Lines
    6. Exercise 6.1.5 Welcome Program
    7. Exercise 6.1.6 ASCII Art
    8. Exercise 6.1.7 Fixing a Paragraph
    9. Exercise 6.1.8 Heating Up
    10. Exercise 6.1.9 Personal Timeline
    11. Notes 6.1.10 Why Java?
    12. 6.2 Variables and Data Types

    13. Video 6.2.1 Variables and Types
    14. Check for Understanding 6.2.2 Variables and Types
    15. Example 6.2.3 Variables
    16. Example 6.2.4 Using Final
    17. Exercise 6.2.5 Our First Integer
    18. Video 6.2.6 Variables and Types Pt. 2
    19. Check for Understanding 6.2.7 Variables and Types Pt. 2
    20. Example 6.2.8 Swapping Two Values
    21. Exercise 6.2.9 Answering Questions
    22. Exercise 6.2.10 Team Rankings
    23. 6.3 Expressions and Assignment Statements

    24. Video 6.3.1 Arithmetic Expressions
    25. Check for Understanding 6.3.2 Arithmetic Expressions
    26. Example 6.3.3 Calculator
    27. Example 6.3.4 Temperature Conversion
    28. Example 6.3.5 Tricky Java
    29. Exercise 6.3.6 Weight of a Pyramid
    30. Exercise 6.3.7 Add Fractions
    31. Exercise 6.3.8 Freely Falling Bodies
    32. 6.4 Compound Assignment Operators

    33. Video 6.4.1 Compound Assignment Operators
    34. Check for Understanding 6.4.2 Compound Assignment Operators
    35. Example 6.4.3 All Functions Calculator
    36. Example 6.4.4 Increase/Decrease by 1
    37. Exercise 6.4.5 Work Shift
    38. Exercise 6.4.6 My Age
    39. 6.5 User Input

    40. Video 6.5.1 User Input
    41. Check for Understanding 6.5.2 User Input Quiz
    42. Example 6.5.3 Using the Scanner Class
    43. Example 6.5.4 Increase/Decrease by 1 (User Input)
    44. Example 6.5.5 int Before String
    45. Exercise 6.5.6 My Age (User Input)
    46. Exercise 6.5.7 Night Out
    47. Exercise 6.5.8 MLA Citation
    48. 6.6 Casting and Ranges of Variables

    49. Video 6.6.1 Casting
    50. Check for Understanding 6.6.2 Casting
    51. Example 6.6.3 Casting
    52. Exercise 6.6.4 Casting to an Int
    53. Exercise 6.6.5 Casting to a Double
    54. Example 6.6.6 Casting Order of Operations
    55. Example 6.6.7 Rounding Using Casting
    56. Exercise 6.6.8 Movie Ratings
    57. Example 6.6.9 Implicit Casting
    58. Example 6.6.10 Min and Max Values of Integers
    59. Exercise 6.6.11 Integer Overflow
    60. 6.7 Primitive Types Quiz

    61. Unit Quiz 6.7.1 Primitive Types Quiz
  7. Computer Organization

    1. 7.1 Internal Components

    2. Video 7.1.1 Internal Components
    3. Check for Understanding 7.1.2 Internal Components
    4. Connection 7.1.3 Build a Computer
    5. Free Response 7.1.4 Build a Computer
    6. Example 7.1.5 Test Your Brain's RAM!
    7. Free Response 7.1.6 Test Your Brain's RAM! Reflection
    8. Connection 7.1.7 The Machine Instruction Cycle
    9. 7.2 Peripheral Devices

    10. Video 7.2.1 Peripheral Devices
    11. Check for Understanding 7.2.2 Peripheral Devices
    12. Free Response 7.2.3 Personalized Peripherals
    13. Free Response 7.2.4 IT Help
    14. Free Response 7.2.5 Your Ideal Computer Setup
    15. 7.3 Network Devices

    16. Video 7.3.1 Network Devices
    17. Check for Understanding 7.3.2 Network Devices
    18. Connection 7.3.3 Speed Test
    19. Free Response 7.3.4 Speed Test
    20. Connection 7.3.5 Fiber Optics Bend Light!
    21. Free Response 7.3.6 Fiber Optics Bend Light!
    22. Connection 7.3.7 Ethernet Standards
    23. Free Response 7.3.8 Ethernet Standards
    24. Free Response 7.3.9 Network Troubleshooting
    25. 7.4 Storage Options

    26. Video 7.4.1 Storage Options
    27. Check for Understanding 7.4.2 Storage Options Quiz
    28. Connection 7.4.3 Security of Cloud Storage
    29. Free Response 7.4.4 Security of Cloud Storage
    30. Free Response 7.4.5 Storage Suggestions
    31. 7.5 Network Options

    32. Video 7.5.1 Network Options
    33. Check for Understanding 7.5.2 Network Options Quiz
    34. Connection 7.5.3 What is an SSID?
    35. Free Response 7.5.4 What is an SSID?
    36. Free Response 7.5.5 Wireless Network Setup
    37. 7.6 Operating Systems

    38. Video 7.6.1 Operating Systems
    39. Check for Understanding 7.6.2 Operating Systems Quiz
    40. Example 7.6.3 Detect My OS
    41. Connection 7.6.4 Upgrading a Mac OS
    42. Example 7.6.5 Windows OS Installation Simulation
    43. Free Response 7.6.6 Installing an OS
    44. 7.7 Software and Applications

    45. Video 7.7.1 Software and Applications
    46. Check for Understanding 7.7.2 Software and Applications Quiz
    47. Example 7.7.3 Spreadsheet Simulation
    48. Example 7.7.4 Messaging Simulation
    49. Example 7.7.5 Kanban Board Simulation
    50. Free Response 7.7.6 Software Simulations
    51. 7.8 Browser Configuration

    52. Video 7.8.1 Browser Configuration
    53. Check for Understanding 7.8.2 Browser Configuration
    54. Connection 7.8.3 Cached CodeHS
    55. Free Response 7.8.4 Cached CodeHS
    56. Example 7.8.5 Is Your Popup Blocker On?
    57. Free Response 7.8.6 Browser Extensions Lab
    58. 7.9 Sequential, Parallel & Distributed Computing

    59. Video 7.9.1 Computer Processing Operations
    60. Check for Understanding 7.9.2 Computer Processing Operations Quiz
    61. Resource 7.9.3 Sequential vs. Parallel Activity
    62. Free Response 7.9.4 Free Response: Sequential vs. Parallel
    63. 7.10 Computer Organization Quiz

    64. Unit Quiz 7.10.1 Computer Organization Quiz
  8. Using Objects

    1. 8.1 Objects: Instances of Classes

    2. Video 8.1.1 Objects: Instances of Classes
    3. Check for Understanding 8.1.2 Quiz: Classes and Objects
    4. Video 8.1.3 Multi-File Exercises in Java
    5. Example 8.1.4 Rectangle Skeleton
    6. Example 8.1.5 GrilledCheese Skeleton
    7. Example 8.1.6 Shark Skeleton
    8. Free Response 8.1.7 Free Response: What instance variables?
    9. Exercise 8.1.8 Pizza Instance Variables
    10. Free Response 8.1.9 Phone Skeleton
    11. 8.2 Creating and Storing Objects (Instantiation)

    12. Video 8.2.1 Creating and Storing Objects
    13. Check for Understanding 8.2.2 Quiz: Constructors
    14. Example 8.2.3 The Rectangle Class
    15. Example 8.2.4 The Point Class
    16. Example 8.2.5 The Student Class
    17. Exercise 8.2.6 Using the Rectangle Class
    18. Exercise 8.2.7 Student GPA Field
    19. Exercise 8.2.8 Instance Variables for Your Dog
    20. Exercise 8.2.9 Pizza Time!
    21. Badge 8.2.10 Instantiation Badge
    22. 8.3 Overloading

    23. Video 8.3.1 Method Overloading
    24. Check for Understanding 8.3.2 Method Overloading Quiz
    25. Example 8.3.3 Overloaded Rectangle
    26. Example 8.3.4 Overloaded GrilledCheese
    27. Example 8.3.5 Null Pointer Exception
    28. Exercise 8.3.6 Plain Coffee
    29. Exercise 8.3.7 Custom Piñatas
    30. Exercise 8.3.8 Website Class
    31. Exercise 8.3.9 Empty References
    32. 8.4 Calling a Void Method

    33. Video 8.4.1 Calling a Void Method
    34. Check for Understanding 8.4.2 Quiz: Void Methods
    35. Example 8.4.3 Area of a Rectangle
    36. Example 8.4.4 Program Flow
    37. Exercise 8.4.5 Hello!
    38. Exercise 8.4.6 Loose Change
    39. Exercise 8.4.7 Chat Bot
    40. Exercise 8.4.8 Greetings and Salutations
    41. 8.5 Calling a Void Method with Parameters

    42. Video 8.5.1 Calling a Void Method with Parameters
    43. Check for Understanding 8.5.2 Methods and Parameters
    44. Example 8.5.3 Rectangle
    45. Example 8.5.4 Moving a Point
    46. Exercise 8.5.5 Using the Point Class
    47. Example 8.5.6 Calculator
    48. Exercise 8.5.7 Basketball Players
    49. Exercise 8.5.8 More Operations
    50. Exercise 8.5.9 Chat Bot 2.0
    51. 8.6 Calling a Non-void Method

    52. Video 8.6.1 Calling a Non-void Method
    53. Check for Understanding 8.6.2 Quiz: Non-Void Methods
    54. Example 8.6.3 Rectangle
    55. Example 8.6.4 Desks in a Room
    56. Example 8.6.5 Activity Log
    57. Exercise 8.6.6 Number Games
    58. Exercise 8.6.7 Construction Costs
    59. Exercise 8.6.8 How Far Away is ...?
    60. 8.7 String Objects

    61. Video 8.7.1 String Objects
    62. Check for Understanding 8.7.2 String Objects
    63. Example 8.7.3 Immutable Strings
    64. Example 8.7.4 String Concatenation
    65. Example 8.7.5 Rectangle Dimensions
    66. Example 8.7.6 Printing Equations
    67. Exercise 8.7.7 Pretty Printing Operations
    68. Exercise 8.7.8 Full Name
    69. Exercise 8.7.9 QuoteMachine
    70. 8.8 String Methods

    71. Video 8.8.1 String Methods
    72. Check for Understanding 8.8.2 String Methods
    73. Example 8.8.3 Bigger Strings?
    74. Example 8.8.4 Chopping Strings
    75. Example 8.8.5 Object Concatenation
    76. Exercise 8.8.6 Speaking
    77. Exercise 8.8.7 toString for Flowers
    78. Exercise 8.8.8 Organizing Files
    79. Exercise 8.8.9 Concatenating Fractions
    80. Exercise 8.8.10 Word Games
    81. 8.9 Wrapper Classes: Integers and Doubles

    82. Video 8.9.1 Wrapper Classes
    83. Check for Understanding 8.9.2 Quiz: Wrapper Classes
    84. Example 8.9.3 Creating Integers
    85. Example 8.9.4 Using Doubles
    86. Example 8.9.5 Autoboxing Example
    87. Exercise 8.9.6 Order Up!
    88. Exercise 8.9.7 Currency
    89. Exercise 8.9.8 Guess the number!
    90. 8.10 Using the Math Class

    91. Video 8.10.1 Using the Math Class
    92. Check for Understanding 8.10.2 Quiz: Static Methods
    93. Example 8.10.3 Using the Math Class
    94. Example 8.10.4 Static Methods: Rectangle
    95. Example 8.10.5 Generating Random Numbers
    96. Exercise 8.10.6 Circle Area
    97. Exercise 8.10.7 The Unit Circle
    98. Exercise 8.10.8 Racing
    99. Free Response 8.10.9 OOP vs Procedural Programming
    100. 8.11 Using Objects Quiz

    101. Unit Quiz 8.11.1 Using Objects Quiz
  9. Boolean Expressions and if Statements

    1. 9.1 Boolean Expressions and if Statements

    2. Video 9.1.1 Comparison Operators
    3. Check for Understanding 9.1.2 Comparison Operators
    4. Example 9.1.3 Old Enough To Vote
    5. Example 9.1.4 Grade Range
    6. Example 9.1.5 Equality of Strings
    7. Exercise 9.1.6 Number Order
    8. Exercise 9.1.7 Sugar Tax
    9. Exercise 9.1.8 Triple Double
    10. 9.2 if Statements and Control Flow

    11. Video 9.2.1 If Statements
    12. Check for Understanding 9.2.2 If Statements
    13. Example 9.2.3 Can Vote
    14. Example 9.2.4 Negative Numbers
    15. Example 9.2.5 Rectangle
    16. Exercise 9.2.6 Discounts
    17. Exercise 9.2.7 Sweet or Unsweet?
    18. Exercise 9.2.8 Cooking
    19. Exercise 9.2.9 Rating
    20. 9.3 if-else Statements

    21. Video 9.3.1 If-Else Statements
    22. Check for Understanding 9.3.2 If-Else
    23. Example 9.3.3 Bill with add tip
    24. Example 9.3.4 Even and Odd
    25. Exercise 9.3.5 Positive or Negative
    26. Exercise 9.3.6 Battleships Move
    27. Exercise 9.3.7 Ratings
    28. Exercise 9.3.8 Player Score
    29. 9.4 else if Statements

    30. Video 9.4.1 else-if Statements
    31. Check for Understanding 9.4.2 else-if
    32. Example 9.4.3 Add Tip
    33. Example 9.4.4 Add Tip - 8 or 4 Customers
    34. Example 9.4.5 Add Tip - 8, 4, 2 Customers
    35. Exercise 9.4.6 Positive, Negative, or Zero
    36. Exercise 9.4.7 Salmon Spawn
    37. Exercise 9.4.8 Berries
    38. Exercise 9.4.9 Battleships
    39. 9.5 Compound Boolean Expressions

    40. Video 9.5.1 Compound Boolean Expressions
    41. Check for Understanding 9.5.2 Logical Operators
    42. Example 9.5.3 Light Switch
    43. Example 9.5.4 Number in Range
    44. Example 9.5.5 Pizza Slices
    45. Exercise 9.5.6 Roller Coaster
    46. Exercise 9.5.7 Compound Roller Coaster
    47. Exercise 9.5.8 Divisibility
    48. Exercise 9.5.9 Find the Minimum
    49. 9.6 Equivalent Boolean Expressions

    50. Video 9.6.1 Equivalent Boolean Expressions
    51. Check for Understanding 9.6.2 De Morgan's Laws
    52. Example 9.6.3 De Morgan AND
    53. Example 9.6.4 De Morgan OR
    54. Exercise 9.6.5 Amusement Park
    55. Exercise 9.6.6 Odd Numbers
    56. Exercise 9.6.7 Odd and Even
    57. Free Response 9.6.8 Odd and Even Free Response
    58. 9.7 Comparing Objects

    59. Video 9.7.1 Comparing Objects
    60. Check for Understanding 9.7.2 Comparing Objects
    61. Example 9.7.3 Comparing Strings
    62. Example 9.7.4 Comparing Rectangles
    63. Example 9.7.5 Null Test
    64. Example 9.7.6 Identify Aliases
    65. Exercise 9.7.7 String Variable Trace
    66. Free Response 9.7.8 String Trace
    67. Exercise 9.7.9 Three Strings
    68. Exercise 9.7.10 Comparing Circles
    69. 9.8 Boolean Expressions and if Statements Quiz

    70. Unit Quiz 9.8.1 Boolean Expressions and If Statements Quiz
  10. Iteration

    1. 10.1 Iteration

    2. Video 10.1.1 While Loops
    3. Check for Understanding 10.1.2 While Loops
    4. Example 10.1.3 While Loop Countdown
    5. Example 10.1.4 Get Down to One
    6. Example 10.1.5 Running Average
    7. Exercise 10.1.6 Making Taffy
    8. Exercise 10.1.7 Guess the Number
    9. Exercise 10.1.8 Divisibility
    10. Exercise 10.1.9 Max and Min Values
    11. 10.2 For Loops

    12. Video 10.2.1 For Loops
    13. Check for Understanding 10.2.2 For Loops
    14. Example 10.2.3 For Loop
    15. Example 10.2.4 Countdown
    16. Example 10.2.5 Count By Twos
    17. Exercise 10.2.6 Print the Odds
    18. Exercise 10.2.7 Repeat 100 Times
    19. Exercise 10.2.8 Replace WHILE with FOR Loop
    20. Exercise 10.2.9 Replace FOR Loop with WHILE Loop
    21. Exercise 10.2.10 Multiplication Table
    22. 10.3 Developing Algorithms Using Strings

    23. Video 10.3.1 Developing Algorithms Using Strings
    24. Check for Understanding 10.3.2 Developing Algorithms Using Strings
    25. Example 10.3.3 Traversing Strings
    26. Example 10.3.4 Replace Characters
    27. Example 10.3.5 Reverse String
    28. Exercise 10.3.6 Replace Letter
    29. Exercise 10.3.7 Password Checker
    30. Exercise 10.3.8 Finding Palindromes
    31. Exercise 10.3.9 Fixing Grammar
    32. Exercise 10.3.10 Teen Talk
    33. Badge 10.3.11 String Processing Badge
    34. 10.4 Nested Iteration

    35. Video 10.4.1 Nested Iteration
    36. Check for Understanding 10.4.2 Nested Iteration
    37. Example 10.4.3 Make a Rectangle
    38. Example 10.4.4 Nested Loop Iteration Counts
    39. Example 10.4.5 Inverted Triangle
    40. Exercise 10.4.6 Upright Number Triangle
    41. Exercise 10.4.7 Make a Tree
    42. Exercise 10.4.8 Multiplication Table
    43. 10.5 Informal Code Analysis

    44. Video 10.5.1 Informal Code Analysis
    45. Check for Understanding 10.5.2 Informal Code Analysis
    46. Example 10.5.3 Loop Execution Count
    47. Example 10.5.4 While Loop Time
    48. Example 10.5.5 For Loop Time
    49. Example 10.5.6 Fundamental versus Compound Operations
    50. Free Response 10.5.7 Time Comparisons
    51. Exercise 10.5.8 Improving findChar Speed
    52. Example 10.5.9 Improving findChar Speed Check
    53. Free Response 10.5.10 findChar Speed Reflection
    54. 10.6 Iteration Quiz

    55. Unit Quiz 10.6.1 Iteration Quiz
  11. Writing Classes

    1. 11.1 Writing Classes

    2. Video 11.1.1 Anatomy of Classes
    3. Check for Understanding 11.1.2 Quiz: Access Modifiers
    4. Example 11.1.3 Rectangle Getter Methods
    5. Exercise 11.1.4 Access for DNA Class
    6. Exercise 11.1.5 Access for Employee Class
    7. Exercise 11.1.6 Fixing Circle
    8. 11.2 Constructors

    9. Video 11.2.1 Constructors
    10. Check for Understanding 11.2.2 Quiz: Constructors
    11. Example 11.2.3 SuperHero Class
    12. Example 11.2.4 Initializing an Object without a Constructor
    13. Exercise 11.2.5 Batting Average
    14. Exercise 11.2.6 Dog Class
    15. Exercise 11.2.7 Student Overload
    16. Exercise 11.2.8 SchoolClub Class
    17. 11.3 Documentation with Comments

    18. Video 11.3.1 Documentation with Comments
    19. Check for Understanding 11.3.2 Quiz: Comments
    20. Example 11.3.3 Comments for Debugging
    21. Example 11.3.4 Power Class with Comments
    22. Exercise 11.3.5 Commenting Activity Tracker
    23. Exercise 11.3.6 Commenting Activity Log
    24. Exercise 11.3.7 C.Y.O.A. Layout
    25. Exercise 11.3.8 C.Y.O.A. Finishing the story
    26. Connection 11.3.9 UML Diagrams
    27. 11.4 Accessor Methods

    28. Video 11.4.1 Accessor Methods
    29. Check for Understanding 11.4.2 Quiz: Accessors
    30. Example 11.4.3 Student Getter Methods
    31. Example 11.4.4 SuperHero Class with Secret Identity
    32. Exercise 11.4.5 Text Messages Getter Methods
    33. Exercise 11.4.6 Full Dragon Class
    34. Exercise 11.4.7 A Different Dragon Class
    35. Exercise 11.4.8 A Chef's Best Meal
    36. 11.5 Mutator Methods

    37. Video 11.5.1 Mutator Methods
    38. Check for Understanding 11.5.2 Quiz: Mutators
    39. Example 11.5.3 SuperHero Class with Mutator Methods
    40. Example 11.5.4 Student Setters
    41. Exercise 11.5.5 Rectangle class
    42. Exercise 11.5.6 Full Fraction Class
    43. Exercise 11.5.7 Weekly Routine
    44. 11.6 Writing Methods

    45. Video 11.6.1 Writing Methods
    46. Check for Understanding 11.6.2 Quiz: Writing Methods
    47. Example 11.6.3 Triangle Class
    48. Example 11.6.4 Baseball Player Class
    49. Exercise 11.6.5 Distance Conversions
    50. Exercise 11.6.6 Food App Demo
    51. Exercise 11.6.7 Car Class
    52. Resource 11.6.8 Combination Lock FRQ
    53. 11.7 Static Variables and Methods

    54. Video 11.7.1 Static Variables and Methods
    55. Check for Understanding 11.7.2 Quiz: Static Methods
    56. Example 11.7.3 Static SuperHero
    57. Example 11.7.4 Static Variables: Circle
    58. Exercise 11.7.5 Randomizer Class
    59. Exercise 11.7.6 Rock, Paper, Scissors!
    60. Exercise 11.7.7 How Many Players in the Game?
    61. 11.8 Scope and Access

    62. Video 11.8.1 Scope and Access
    63. Check for Understanding 11.8.2 Quiz: Local Variables and Scope
    64. Example 11.8.3 Instance Variable Scope
    65. Example 11.8.4 Local Variable Scope
    66. Example 11.8.5 Variable Shadowing
    67. Example 11.8.6 Method Decomposition with Trivia
    68. Exercise 11.8.7 Scope
    69. Exercise 11.8.8 Which Variables Exist?
    70. Exercise 11.8.9 Broken Calculator
    71. 11.9 this Keyword

    72. Video 11.9.1 this Keyword
    73. Check for Understanding 11.9.2 Quiz: this Keyword
    74. Example 11.9.3 Rectangles and this
    75. Example 11.9.4 Student and this
    76. Exercise 11.9.5 Write Your Own CodeHS
    77. Exercise 11.9.6 Song Class
    78. Exercise 11.9.7 Fraction Math
    79. 11.10 Ethical and Social Implications of Computing

    80. Video 11.10.1 Implications of Computing Systems
    81. Free Response 11.10.2 Computing and Your Life
    82. Check for Understanding 11.10.3 Quiz: Ethical and Social Impact
    83. Connection 11.10.4 ACM General Ethical Principles
    84. Free Response 11.10.5 ACM General Ethical Principles
    85. Connection 11.10.6 Bias in Facial Recognition
    86. Free Response 11.10.7 Bias in Facial Recognition
    87. Connection 11.10.8 Self-driving Cars
    88. Free Response 11.10.9 Self-driving Cars
    89. 11.11 Writing Classes Quiz

    90. Unit Quiz 11.11.1 Writing Classes Quiz
    91. Example 11.11.2 Using the Rectangle Class as a Client
  12. Array

    1. 12.1 Array

    2. Video 12.1.1 Introduction to Arrays
    3. Check for Understanding 12.1.2 Quiz: Arrays
    4. Example 12.1.3 Making an Array
    5. Example 12.1.4 Make an Empty Array
    6. Example 12.1.5 Indexing Into an Array
    7. Exercise 12.1.6 Our First Array
    8. Exercise 12.1.7 Set Scores
    9. Exercise 12.1.8 Last Element in Array
    10. Exercise 12.1.9 Snap Shot Splash Screen
    11. 12.2 Traversing Arrays

    12. Video 12.2.1 Using Arrays
    13. Check for Understanding 12.2.2 Quiz: Using Arrays
    14. Example 12.2.3 Iterating Over An Array - For Loop
    15. Example 12.2.4 Iterating Over An Array - While Loop
    16. Example 12.2.5 Array Out of Bounds
    17. Example 12.2.6 Finding a Target Value
    18. Exercise 12.2.7 Print Array
    19. Exercise 12.2.8 Print Odd Array Indices
    20. Exercise 12.2.9 Find Index of a String
    21. Free Response 12.2.10 Thinking Ahead: Fibonacci Sequence
    22. Exercise 12.2.11 Fibonacci Sequence
    23. 12.3 Enhanced for Loop for Arrays

    24. Video 12.3.1 Enhanced For Loop for Arrays
    25. Check for Understanding 12.3.2 Enhanced For Loop for Arrays
    26. Example 12.3.3 Enhanced For Loop
    27. Example 12.3.4 Classroom Array
    28. Example 12.3.5 Updating Values in a Loop
    29. Exercise 12.3.6 Print Odds
    30. Exercise 12.3.7 Largest Value
    31. Exercise 12.3.8 Classroom Array
    32. Exercise 12.3.9 Array Average
    33. 12.4 Developing Algorithms Using Arrays

    34. Video 12.4.1 Developing Algorithms Using Arrays
    35. Check for Understanding 12.4.2 Developing Algorithms Using Arrays
    36. Example 12.4.3 Finding the Minimum Value
    37. Example 12.4.4 Reordering an Array
    38. Example 12.4.5 Finding Duplicates
    39. Exercise 12.4.6 Find the Median
    40. Exercise 12.4.7 Find the Last Multiple of 3
    41. Exercise 12.4.8 Most Improved
    42. Challenge 12.4.9 Car Showroom
    43. 12.5 Array Quiz

    44. Unit Quiz 12.5.1 Array Quiz
  13. ArrayList

    1. 13.1 ArrayList

    2. Video 13.1.1 ArrayLists
    3. Check for Understanding 13.1.2 Quiz: ArrayList
    4. Example 13.1.3 Initializing an ArrayList
    5. Example 13.1.4 Array vs. ArrayList Initialization
    6. Free Response 13.1.5 Arrays vs. ArrayLists
    7. Exercise 13.1.6 Initializing an ArrayList
    8. Exercise 13.1.7 Car Inventory
    9. 13.2 ArrayList Methods

    10. Video 13.2.1 ArrayLists Methods
    11. Check for Understanding 13.2.2 Quiz: ArrayList Methods
    12. Example 13.2.3 ArrayList and Java Primitives
    13. Example 13.2.4 ArrayList Methods
    14. Example 13.2.5 Array vs. ArrayList Methods
    15. Exercise 13.2.6 Get First Element
    16. Exercise 13.2.7 ArrayList of Even Numbers
    17. Exercise 13.2.8 Teacher Class List
    18. Exercise 13.2.9 Teacher Class List Methods
    19. 13.3 Traversing ArrayLists

    20. Video 13.3.1 Traversing ArrayLists
    21. Check for Understanding 13.3.2 Quiz: Traversing Arrays
    22. Example 13.3.3 Reading List
    23. Example 13.3.4 While Loop ArrayList Traversal
    24. Example 13.3.5 ArrayList Traversing Error
    25. Exercise 13.3.6 Traversing Odds
    26. Exercise 13.3.7 ArrayList Helper Methods
    27. Exercise 13.3.8 Road Trip!
    28. 13.4 Developing Algorithms using ArrayLists

    29. Video 13.4.1 Developing Algorithms Using ArrayLists
    30. Check for Understanding 13.4.2 Quiz: Developing Algorithms
    31. Example 13.4.3 Traversing ArrayLists Simultaneously
    32. Example 13.4.4 Inserting Elements While Traversing ArrayLists
    33. Exercise 13.4.5 ArrayList equals
    34. Exercise 13.4.6 Airline Tickets
    35. Exercise 13.4.7 Billboard Top 10
    36. Exercise 13.4.8 User Data Cleanup
    37. 13.5 Searching

    38. Video 13.5.1 Linear Search
    39. Check for Understanding 13.5.2 Quiz: Linear Search
    40. Example 13.5.3 Linear Search
    41. Exercise 13.5.4 Linear Search on ArrayList with While Loop
    42. Exercise 13.5.5 Fantasy Football Roster
    43. Resource 13.5.6 Card Collection FRQ
    44. 13.6 Sorting

    45. Video 13.6.1 Selection Sort
    46. Check for Understanding 13.6.2 Selection Sort
    47. Example 13.6.3 Selection Sort
    48. Exercise 13.6.4 Explore Selection Sort
    49. Video 13.6.5 Insertion Sort
    50. Check for Understanding 13.6.6 Insertion Sort
    51. Example 13.6.7 Insertion Sort
    52. Example 13.6.8 Visualizing Algorithms
    53. Exercise 13.6.9 Explore Insertion Sort
    54. Example 13.6.10 Selection Sort vs. Insertion Sort Run Time
    55. Free Response 13.6.11 Selection Sort vs. Insertion Sort
    56. Exercise 13.6.12 Phonebook
    57. 13.7 Ethical Issues Around Data Collection

    58. Video 13.7.1 Ethical Issues Around Data Collection
    59. Check for Understanding 13.7.2 Ethical Issues Around Data Collection
    60. Connection 13.7.3 The Curly Fry Conundrum
    61. Free Response 13.7.4 Reflection
    62. Connection 13.7.5 Guidelines on Ethical Data Use
    63. Free Response 13.7.6 Issue News Article
    64. Badge 13.7.7 ArrayList Badge
    65. 13.8 ArrayList Quiz

    66. Unit Quiz 13.8.1 ArrayList Quiz
  14. 2D Array

    1. 14.1 2D Arrays

    2. Video 14.1.1 2D Arrays
    3. Check for Understanding 14.1.2 Quiz: 2D Arrays
    4. Example 14.1.3 GradeBook
    5. Example 14.1.4 ChessBoard
    6. Exercise 14.1.5 Manipulating 2D Arrays
    7. Exercise 14.1.6 Complete Chessboard
    8. Exercise 14.1.7 Tic Tac Toe Board
    9. 14.2 Traversing 2D Arrays

    10. Video 14.2.1 Traversing 2D Arrays
    11. Check for Understanding 14.2.2 Quiz: Traversing 2D Arrays
    12. Example 14.2.3 Traversing Gradebook
    13. Example 14.2.4 Linear Search 2D Arrays
    14. Example 14.2.5 Row vs. Column Major
    15. Free Response 14.2.6 Row vs. Column Major
    16. Exercise 14.2.7 Sum Rows in a 2D Array
    17. Exercise 14.2.8 Tic Tac Toe Methods
    18. Challenge 14.2.9 Finalizing Tic Tac Toe
    19. Badge 14.2.10 2D Array Badge
    20. 14.3 2D Array Quiz

    21. Unit Quiz 14.3.1 2D Array Quiz
  15. Recursion

    1. 15.1 Recursion

    2. Video 15.1.1 Recursion
    3. Check for Understanding 15.1.2 Quiz: Recursion
    4. Example 15.1.3 Summing
    5. Example 15.1.4 Sum Array
    6. Example 15.1.5 Fibonacci Recursion
    7. Exercise 15.1.6 Factorial
    8. Exercise 15.1.7 Countdown!
    9. Exercise 15.1.8 Recursive Minimum
    10. Exercise 15.1.9 Bacteria Cultures
    11. 15.2 Recursive Searching

    12. Video 15.2.1 Recursive Searching
    13. Check for Understanding 15.2.2 Quiz: Recursive Searching
    14. Example 15.2.3 Binary Search
    15. Example 15.2.4 Binary Recursive
    16. Example 15.2.5 Binary vs Linear
    17. Exercise 15.2.6 Exploring Binary Searches
    18. Exercise 15.2.7 Comparing Binary Search and Linear Search
    19. Exercise 15.2.8 Maximum Iterations
    20. 15.3 Recursive Sorting

    21. Video 15.3.1 Recursive Sorting
    22. Check for Understanding 15.3.2 Quiz: Recursive Sorting
    23. Example 15.3.3 Merge Sort
    24. Example 15.3.4 Sort Visualizer
    25. Exercise 15.3.5 Explore Merge Sort
    26. Exercise 15.3.6 Merge Sort Benchmark Testing
    27. Exercise 15.3.7 Recursive Calls
    28. Exercise 15.3.8 Sort Benchmark Testing
    29. Free Response 15.3.9 Using Concurrent Processes
    30. 15.4 Recursion Quiz

    31. Unit Quiz 15.4.1 Recursion Quiz
  16. Exam Practice

    1. 16.1 IB Assessment Prep Overview

    2. Notes 16.1.1 IB Assessment Prep Overview
    3. Video 16.1.2 Understanding IB Assessments
    4. Quiz 16.1.3 Quiz: Understanding IB Assessments
    5. Notes 16.1.4 Study Guides Overview
    6. Free Response 16.1.5 Testing Mindset
    7. 16.2 Topic 1: System Fundamentals

    8. Notes 16.2.1 System Fundamentals Overview
    9. Free Response 16.2.2 Planning and System Installation
    10. Free Response 16.2.3 User Focus
    11. Free Response 16.2.4 System Backup
    12. Free Response 16.2.5 Software Deployment
    13. Free Response 16.2.6 Hardware, Software, Peripheral, Network, and HR
    14. Free Response 16.2.7 Components of a Computer System
    15. Free Response 16.2.8 System Design and Analysis
    16. Free Response 16.2.9 Human Interaction with the System
    17. 16.3 Topic 2: Computer Organization

    18. Free Response 16.3.1 CPU Architecture
    19. Free Response 16.3.2 Memory
    20. Free Response 16.3.3 Operating Systems and Application Systems
    21. Free Response 16.3.4 Binary Representation
    22. Free Response 16.3.5 Simple Logic Gates
    23. 16.4 Topic 3: Networks

    24. Free Response 16.4.1 Network Fundamentals
    25. Free Response 16.4.2 Data Transmission
    26. Free Response 16.4.3 Wireless Networking
    27. 16.5 Topic 4: Computational Thinking, Problem-solving

    28. Free Response 16.5.1 Thinking Procedurally
    29. Free Response 16.5.2 Thinking Logically
    30. Free Response 16.5.3 Thinking Ahead
    31. Free Response 16.5.4 Thinking Concurrently
    32. Free Response 16.5.5 Thinking Abstractly
    33. Free Response 16.5.6 Program Design - Algorithms
    34. Free Response 16.5.7 Program Design - Pseudocode
    35. Free Response 16.5.8 Nature of Programming Languages
    36. Free Response 16.5.9 Use of Programming Languages
    37. 16.6 Topic 5: Object Oriented Programming

    38. Free Response 16.6.1 Modeling Objects to Solve a Problem
    39. Free Response 16.6.2 Key OOP Principles
    40. Free Response 16.6.3 Using OOP in Development
    41. Free Response 16.6.4 Using the Right Language
    42. Exercise 16.6.5 Coding Example
    43. 16.7 Practice Exam

    44. Notes 16.7.1 Practice Exam
    45. Connection 16.7.2 IB Practice Exam - Paper 1
    46. Connection 16.7.3 IB Practice Exam - Paper 2
  17. Inheritance

    1. 17.1 Inheritance

    2. Video 17.1.1 Inheritance
    3. Check for Understanding 17.1.2 Quiz: Subclasses and Superclasses
    4. Example 17.1.3 Person Superclass
    5. Example 17.1.4 Vehicle Superclass
    6. Example 17.1.5 High School Student
    7. Exercise 17.1.6 Person / Student Object
    8. Exercise 17.1.7 Books
    9. Exercise 17.1.8 Computers
    10. Exercise 17.1.9 More Animals!
    11. 17.2 Writing Constructors for Subclasses

    12. Video 17.2.1 Writing Constructors for Subclasses
    13. Check for Understanding 17.2.2 Quiz: Writing Constructors for Subclasses
    14. Example 17.2.3 Student Subclass
    15. Example 17.2.4 Shape Class
    16. Example 17.2.5 Implicit Call to Super
    17. Exercise 17.2.6 Students
    18. Exercise 17.2.7 Instruments
    19. Exercise 17.2.8 Foods
    20. Exercise 17.2.9 Clothing Store
    21. 17.3 Overriding Methods

    22. Video 17.3.1 Overriding Methods
    23. Check for Understanding 17.3.2 Quiz: Overriding Methods
    24. Example 17.3.3 Square is a Rectangle
    25. Example 17.3.4 Student toString
    26. Example 17.3.5 Restaurant Bills
    27. Exercise 17.3.6 Dogs Bark
    28. Exercise 17.3.7 Electric Cars
    29. Exercise 17.3.8 Online Companies
    30. 17.4 super Keyword

    31. Video 17.4.1 super Keyword
    32. Check for Understanding 17.4.2 Quiz: super Keyword
    33. Example 17.4.3 Square Class
    34. Example 17.4.4 Animal Class
    35. Example 17.4.5 Apple Pie
    36. Exercise 17.4.6 Squares
    37. Exercise 17.4.7 Bank Accounts
    38. Exercise 17.4.8 Employees
    39. Exercise 17.4.9 Student Test Scores
    40. 17.5 Creating References Using Inheritance

    41. Video 17.5.1 Creating References Using Inheritance Hierarchies
    42. Check for Understanding 17.5.2 Quiz: References Using Inheritance Hierarchies
    43. Example 17.5.3 Animal Sounds
    44. Example 17.5.4 Shape Areas
    45. Example 17.5.5 Person Class
    46. Exercise 17.5.6 Pies
    47. Exercise 17.5.7 Creating .equals
    48. Exercise 17.5.8 Online Companies Revisited
    49. Exercise 17.5.9 Assignments
    50. 17.6 Polymorphism

    51. Video 17.6.1 Polymorphism
    52. Check for Understanding 17.6.2 Quiz: Polymorphism
    53. Example 17.6.3 Using Person Methods
    54. Example 17.6.4 Modified Student Class
    55. Example 17.6.5 Vehicle Methods
    56. Exercise 17.6.6 Which Team?
    57. Exercise 17.6.7 Cars
    58. Exercise 17.6.8 Library Books
    59. Exercise 17.6.9 Fun with Solids
    60. 17.7 Object Superclass

    61. Video 17.7.1 Object Superclass
    62. Check for Understanding 17.7.2 Quiz: Object Superclass
    63. Example 17.7.3 Default Values
    64. Example 17.7.4 Override toString
    65. Example 17.7.5 Override equals
    66. Exercise 17.7.6 Equal?
    67. Exercise 17.7.7 Equals? - Part 2
    68. Exercise 17.7.8 Equal Rectangles
    69. Exercise 17.7.9 2D Array Tester
    70. 17.8 Inheritance Quiz

    71. Unit Quiz 17.8.1 Inheritance Quiz
  18. Classes and Object-Oriented Programming

    1. 18.1 Introduction to Classes and Objects

    2. Video 18.1.1 What is a Class?
    3. Check for Understanding 18.1.2 Quiz: Classes and Objects
    4. Example 18.1.3 The Rectangle Class
    5. Example 18.1.4 The Point Class
    6. Example 18.1.5 The Student Class
    7. Exercise 18.1.6 Using the Rectangle Class
    8. Exercise 18.1.7 Calling A Method
    9. Exercise 18.1.8 Using the Point Class
    10. Exercise 18.1.9 Using the Student Class
    11. 18.2 Classes vs. Objects

    12. Video 18.2.1 Classes and Objects
    13. Check for Understanding 18.2.2 Classes vs. Objects vs. Instances
    14. Example 18.2.3 Classes, Objects, and Instances
    15. Example 18.2.4 Creating Rectangle Objects
    16. Exercise 18.2.5 Text Messages
    17. 18.3 Using a Class as a Client

    18. Video 18.3.1 How to Use a Class
    19. Check for Understanding 18.3.2 Quiz: Client of a Class
    20. Example 18.3.3 Using the Rectangle Class as a Client
    21. Example 18.3.4 Using the Randomizer Class as a Client
    22. Exercise 18.3.5 Coin Flips
    23. Exercise 18.3.6 Longest Streak
    24. Example 18.3.7 Testing the GeoLocation Class
    25. Exercise 18.3.8 How Far Away is ...?
    26. Badge 18.3.9 Client Badge
    27. 18.4 Writing Classes

    28. Video 18.4.1 Constructors
    29. Check for Understanding 18.4.2 Quiz: Constructors
    30. Example 18.4.3 Rectangle toString
    31. Example 18.4.4 Student toString
    32. Exercise 18.4.5 toString for Flowers
    33. Exercise 18.4.6 Instance Variables for Your Dog
    34. Exercise 18.4.7 Student GPA Field
    35. Free Response 18.4.8 Free Response: What instance variables?
    36. Exercise 18.4.9 Pizza Time!
    37. Exercise 18.4.10 Fractions
    38. 18.5 Writing Classes and Instance Methods

    39. Video 18.5.1 Writing Instance Methods
    40. Check for Understanding 18.5.2 Quiz: Writing Methods
    41. Example 18.5.3 Area of a Rectangle
    42. Example 18.5.4 Moving a Point
    43. Exercise 18.5.5 Writing getPerimeter()
    44. Exercise 18.5.6 Honors Students
    45. Exercise 18.5.7 Batting Average
    46. Exercise 18.5.8 Distance in Kilometers
    47. Resource 18.5.9 Combination Lock FRQ
    48. 18.6 Getter and Setter Methods

    49. Video 18.6.1 Getter and Setter Methods
    50. Check for Understanding 18.6.2 Quiz: Getter and Setter Methods
    51. Example 18.6.3 Rectangle Getter Methods
    52. Example 18.6.4 Student Getter Methods
    53. Exercise 18.6.5 Text Messages Getter Methods
    54. Exercise 18.6.6 Fractions Getter/Setter Methods
    55. Exercise 18.6.7 Full Fraction Class
    56. Exercise 18.6.8 Full Dragon Class
    57. Exercise 18.6.9 A Different Dragon Class
    58. 18.7 Class Methods and Class Variables

    59. Video 18.7.1 Static Methods and Variables (Class Methods and Class Variables)
    60. Check for Understanding 18.7.2 Quiz: Static Methods
    61. Example 18.7.3 Student Class Variables and Methods
    62. Example 18.7.4 Using the Math Class
    63. Example 18.7.5 Using Randomizer
    64. Example 18.7.6 Static Variables: Circle
    65. Exercise 18.7.7 The Unit Circle
    66. Exercise 18.7.8 How Many Players in the Game?
    67. Exercise 18.7.9 Circle Area, another way
    68. Practice 18.7.10 Rock, Paper, Scissors: Get Winner
    69. Exercise 18.7.11 Rock, Paper, Scissors!
    70. 18.8 Wrapper Classes

    71. Video 18.8.1 Wrapper Classes
    72. Check for Understanding 18.8.2 Quiz: Wrapper Classes
    73. Example 18.8.3 Creating Integers
    74. Example 18.8.4 Using Doubles
    75. Example 18.8.5 Autoboxing Example
    76. Exercise 18.8.6 Order Up!
    77. Exercise 18.8.7 Currency
    78. Exercise 18.8.8 Guess the number!
    79. 18.9 Method Overloading

    80. Video 18.9.1 Method Overloading
    81. Check for Understanding 18.9.2 Method Overloading Quiz
    82. Example 18.9.3 Sum Method Overloading
    83. Example 18.9.4 Constructor Overloading
    84. Exercise 18.9.5 Average Method Overloading
    85. Badge 18.9.6 Overloading Badge
    86. 18.10 Local Variables and Scope

    87. Video 18.10.1 Local Variables and Scope
    88. Check for Understanding 18.10.2 Local Variables and Scope Quiz
    89. Example 18.10.3 Instance Variable Scope
    90. Example 18.10.4 Local Variable Scope
    91. Example 18.10.5 Variable Shadowing
    92. Exercise 18.10.6 Which Variables Exist?
    93. 18.11 Key Terms for Classes

    94. Video 18.11.1 Key Terms for Classes
    95. Check for Understanding 18.11.2 Quiz: This Keyword
    96. Example 18.11.3 Rectangles and this
    97. Exercise 18.11.4 Batteries
    98. Exercise 18.11.5 Write Your Own CodeHS
    99. 18.12 Objects vs Primitives

    100. Video 18.12.1 Objects vs Primitives
    101. Check for Understanding 18.12.2 Objects vs Primitives Quiz
    102. Example 18.12.3 Comparing Rectangles
    103. Example 18.12.4 Changing Dogs
    104. Example 18.12.5 Null Pointer Exception
    105. Free Response 18.12.6 Objects vs Primitives
    106. Exercise 18.12.7 Comparing Circles
    107. 18.13 Inheritance

    108. Video 18.13.1 Inheritance
    109. Check for Understanding 18.13.2 Quiz: Subclasses and Superclasses
    110. Example 18.13.3 Square is a Rectangle
    111. Exercise 18.13.4 Clothing Store
    112. Badge 18.13.5 Inheritance Badge
    113. 18.14 Class Design and Abstract Classes

    114. Video 18.14.1 Class Design and Abstract Classes
    115. Check for Understanding 18.14.2 Quiz: Class Design
    116. Example 18.14.3 The Shape Hierarchy
    117. Example 18.14.4 Classes for Dessert
    118. Exercise 18.14.5 Finding The Perimeters
    119. 18.15 Polymorphism

    120. Video 18.15.1 Polymorphism
    121. Check for Understanding 18.15.2 Quiz: Polymorphism
    122. Example 18.15.3 Animal Sounds
    123. Example 18.15.4 Shape Areas
    124. Exercise 18.15.5 Fun with Solids
    125. 18.16 Object Superclass

    126. Video 18.16.1 Object Superclass
    127. Check for Understanding 18.16.2 Quiz: Object Superclass
    128. Example 18.16.3 Default Values
    129. Example 18.16.4 Override toString
    130. Example 18.16.5 Override equals
    131. Exercise 18.16.6 Equal?
    132. Exercise 18.16.7 Equals? - Part 2
    133. Exercise 18.16.8 Equal Rectangles
    134. Exercise 18.16.9 2D Array Tester
    135. 18.17 Interfaces

    136. Video 18.17.1 Interfaces
    137. Check for Understanding 18.17.2 Quiz: Interfaces
    138. Example 18.17.3 Comparable Interface
    139. Example 18.17.4 Summable Interface
    140. Exercise 18.17.5 Fraction is Comparable
    141. Exercise 18.17.6 City is Summable
    142. Badge 18.17.7 Classes and Object-Oriented Programming Badge
    143. 18.18 Ethical and Social Implications of Computing

    144. Video 18.18.1 Implications of Computing Systems
    145. Free Response 18.18.2 Computing and Your Life
    146. Check for Understanding 18.18.3 Quiz: Ethical and Social Impact
    147. Connection 18.18.4 ACM General Ethical Principles
    148. Free Response 18.18.5 ACM General Ethical Principles
    149. Connection 18.18.6 Bias in Facial Recognition
    150. Free Response 18.18.7 Bias in Facial Recognition
    151. Connection 18.18.8 Self-driving Cars
    152. Free Response 18.18.9 Self-driving Cars
    153. 18.19 Classes and Object-Oriented Programming Quiz

    154. Unit Quiz 18.19.1 Classes and Object-Oriented Programming Quiz
  19. Java Level 1 Certification Practice

    1. 19.1 Practice #1: Java Fundamentals

    2. Quiz 19.1.1 Quiz: Java Fundamentals
    3. Notes 19.1.2 Practice #1 Reflection
    4. 19.2 Practice #2: Data Types and Lists

    5. Quiz 19.2.1 Quiz: Data Types and Lists
    6. Notes 19.2.2 Practice #2 Reflection
    7. 19.3 Practice #3: Implementing Flow Control

    8. Quiz 19.3.1 Quiz: Implementing Flow Control
    9. Notes 19.3.2 Practice #3 Reflection
    10. 19.4 Practice #4: OOP and Other Advanced Topics

    11. Quiz 19.4.1 Quiz: OOP and Other Advanced Topics
    12. Notes 19.4.2 Practice #4 Reflection