Please enable JavaScript to use CodeHS

IB Computer Science Standard Level - 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. Computer Organization

    1. 6.1 Internal Components

    2. Video 6.1.1 Internal Components
    3. Check for Understanding 6.1.2 Internal Components
    4. Connection 6.1.3 Build a Computer
    5. Free Response 6.1.4 Build a Computer
    6. Example 6.1.5 Test Your Brain's RAM!
    7. Free Response 6.1.6 Test Your Brain's RAM! Reflection
    8. Connection 6.1.7 The Machine Instruction Cycle
    9. 6.2 Peripheral Devices

    10. Video 6.2.1 Peripheral Devices
    11. Check for Understanding 6.2.2 Peripheral Devices
    12. Free Response 6.2.3 Personalized Peripherals
    13. Free Response 6.2.4 IT Help
    14. Free Response 6.2.5 Your Ideal Computer Setup
    15. 6.3 Network Devices

    16. Video 6.3.1 Network Devices
    17. Check for Understanding 6.3.2 Network Devices
    18. Connection 6.3.3 Speed Test
    19. Free Response 6.3.4 Speed Test
    20. Connection 6.3.5 Fiber Optics Bend Light!
    21. Free Response 6.3.6 Fiber Optics Bend Light!
    22. Connection 6.3.7 Ethernet Standards
    23. Free Response 6.3.8 Ethernet Standards
    24. Free Response 6.3.9 Network Troubleshooting
    25. 6.4 Storage Options

    26. Video 6.4.1 Storage Options
    27. Check for Understanding 6.4.2 Storage Options Quiz
    28. Connection 6.4.3 Security of Cloud Storage
    29. Free Response 6.4.4 Security of Cloud Storage
    30. Free Response 6.4.5 Storage Suggestions
    31. 6.5 Network Options

    32. Video 6.5.1 Network Options
    33. Check for Understanding 6.5.2 Network Options Quiz
    34. Connection 6.5.3 What is an SSID?
    35. Free Response 6.5.4 What is an SSID?
    36. Free Response 6.5.5 Wireless Network Setup
    37. 6.6 Operating Systems

    38. Video 6.6.1 Operating Systems
    39. Check for Understanding 6.6.2 Operating Systems Quiz
    40. Example 6.6.3 Detect My OS
    41. Connection 6.6.4 Upgrading a Mac OS
    42. Example 6.6.5 Windows OS Installation Simulation
    43. Free Response 6.6.6 Installing an OS
    44. 6.7 Software and Applications

    45. Video 6.7.1 Software and Applications
    46. Check for Understanding 6.7.2 Software and Applications Quiz
    47. Example 6.7.3 Spreadsheet Simulation
    48. Example 6.7.4 Messaging Simulation
    49. Example 6.7.5 Kanban Board Simulation
    50. Free Response 6.7.6 Software Simulations
    51. 6.8 Browser Configuration

    52. Video 6.8.1 Browser Configuration
    53. Check for Understanding 6.8.2 Browser Configuration
    54. Connection 6.8.3 Cached CodeHS
    55. Free Response 6.8.4 Cached CodeHS
    56. Example 6.8.5 Is Your Popup Blocker On?
    57. Free Response 6.8.6 Browser Extensions Lab
    58. 6.9 Sequential, Parallel & Distributed Computing

    59. Video 6.9.1 Computer Processing Operations
    60. Check for Understanding 6.9.2 Computer Processing Operations Quiz
    61. Resource 6.9.3 Sequential vs. Parallel Activity
    62. Free Response 6.9.4 Free Response: Sequential vs. Parallel
    63. 6.10 Computer Organization Quiz

    64. Unit Quiz 6.10.1 Computer Organization Quiz
  7. Primitive Types

    1. 7.1 Why Programming? Why Java?

    2. Video 7.1.1 Printing in Java
    3. Check for Understanding 7.1.2 Printing in Java
    4. Example 7.1.3 Hello World
    5. Example 7.1.4 Printing Multiple Lines
    6. Exercise 7.1.5 Welcome Program
    7. Exercise 7.1.6 ASCII Art
    8. Exercise 7.1.7 Fixing a Paragraph
    9. Exercise 7.1.8 Heating Up
    10. Exercise 7.1.9 Personal Timeline
    11. Notes 7.1.10 Why Java?
    12. 7.2 Variables and Data Types

    13. Video 7.2.1 Variables and Types
    14. Check for Understanding 7.2.2 Variables and Types
    15. Example 7.2.3 Variables
    16. Example 7.2.4 Using Final
    17. Exercise 7.2.5 Our First Integer
    18. Video 7.2.6 Variables and Types Pt. 2
    19. Check for Understanding 7.2.7 Variables and Types Pt. 2
    20. Example 7.2.8 Swapping Two Values
    21. Exercise 7.2.9 Answering Questions
    22. Exercise 7.2.10 Team Rankings
    23. 7.3 Expressions and Assignment Statements

    24. Video 7.3.1 Arithmetic Expressions
    25. Check for Understanding 7.3.2 Arithmetic Expressions
    26. Example 7.3.3 Calculator
    27. Example 7.3.4 Temperature Conversion
    28. Example 7.3.5 Tricky Java
    29. Exercise 7.3.6 Weight of a Pyramid
    30. Exercise 7.3.7 Add Fractions
    31. Exercise 7.3.8 Freely Falling Bodies
    32. 7.4 Compound Assignment Operators

    33. Video 7.4.1 Compound Assignment Operators
    34. Check for Understanding 7.4.2 Compound Assignment Operators
    35. Example 7.4.3 All Functions Calculator
    36. Example 7.4.4 Increase/Decrease by 1
    37. Exercise 7.4.5 Work Shift
    38. Exercise 7.4.6 My Age
    39. 7.5 User Input

    40. Video 7.5.1 User Input
    41. Check for Understanding 7.5.2 User Input Quiz
    42. Example 7.5.3 Using the Scanner Class
    43. Example 7.5.4 Increase/Decrease by 1 (User Input)
    44. Example 7.5.5 int Before String
    45. Exercise 7.5.6 My Age (User Input)
    46. Exercise 7.5.7 Night Out
    47. Exercise 7.5.8 MLA Citation
    48. 7.6 Casting and Ranges of Variables

    49. Video 7.6.1 Casting
    50. Check for Understanding 7.6.2 Casting
    51. Example 7.6.3 Casting
    52. Exercise 7.6.4 Casting to an Int
    53. Exercise 7.6.5 Casting to a Double
    54. Example 7.6.6 Casting Order of Operations
    55. Example 7.6.7 Rounding Using Casting
    56. Exercise 7.6.8 Movie Ratings
    57. Example 7.6.9 Implicit Casting
    58. Example 7.6.10 Min and Max Values of Integers
    59. Exercise 7.6.11 Integer Overflow
    60. 7.7 Primitive Types Quiz

    61. Unit Quiz 7.7.1 Primitive Types 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. Classes and Object-Oriented Programming

    1. 12.1 Introduction to Classes and Objects

    2. Video 12.1.1 What is a Class?
    3. Check for Understanding 12.1.2 Quiz: Classes and Objects
    4. Example 12.1.3 The Rectangle Class
    5. Example 12.1.4 The Point Class
    6. Example 12.1.5 The Student Class
    7. Exercise 12.1.6 Using the Rectangle Class
    8. Exercise 12.1.7 Calling A Method
    9. Exercise 12.1.8 Using the Point Class
    10. Exercise 12.1.9 Using the Student Class
    11. 12.2 Classes vs. Objects

    12. Video 12.2.1 Classes and Objects
    13. Check for Understanding 12.2.2 Classes vs. Objects vs. Instances
    14. Example 12.2.3 Classes, Objects, and Instances
    15. Example 12.2.4 Creating Rectangle Objects
    16. Exercise 12.2.5 Text Messages
    17. 12.3 Using a Class as a Client

    18. Video 12.3.1 How to Use a Class
    19. Check for Understanding 12.3.2 Quiz: Client of a Class
    20. Example 12.3.3 Using the Rectangle Class as a Client
    21. Example 12.3.4 Using the Randomizer Class as a Client
    22. Exercise 12.3.5 Coin Flips
    23. Exercise 12.3.6 Longest Streak
    24. Example 12.3.7 Testing the GeoLocation Class
    25. Exercise 12.3.8 How Far Away is ...?
    26. Badge 12.3.9 Client Badge
    27. 12.4 Writing Classes

    28. Video 12.4.1 Constructors
    29. Check for Understanding 12.4.2 Quiz: Constructors
    30. Example 12.4.3 Rectangle toString
    31. Example 12.4.4 Student toString
    32. Exercise 12.4.5 toString for Flowers
    33. Exercise 12.4.6 Instance Variables for Your Dog
    34. Exercise 12.4.7 Student GPA Field
    35. Free Response 12.4.8 Free Response: What instance variables?
    36. Exercise 12.4.9 Pizza Time!
    37. Exercise 12.4.10 Fractions
    38. 12.5 Writing Classes and Instance Methods

    39. Video 12.5.1 Writing Instance Methods
    40. Check for Understanding 12.5.2 Quiz: Writing Methods
    41. Example 12.5.3 Area of a Rectangle
    42. Example 12.5.4 Moving a Point
    43. Exercise 12.5.5 Writing getPerimeter()
    44. Exercise 12.5.6 Honors Students
    45. Exercise 12.5.7 Batting Average
    46. Exercise 12.5.8 Distance in Kilometers
    47. Resource 12.5.9 Combination Lock FRQ
    48. 12.6 Getter and Setter Methods

    49. Video 12.6.1 Getter and Setter Methods
    50. Check for Understanding 12.6.2 Quiz: Getter and Setter Methods
    51. Example 12.6.3 Rectangle Getter Methods
    52. Example 12.6.4 Student Getter Methods
    53. Exercise 12.6.5 Text Messages Getter Methods
    54. Exercise 12.6.6 Fractions Getter/Setter Methods
    55. Exercise 12.6.7 Full Fraction Class
    56. Exercise 12.6.8 Full Dragon Class
    57. Exercise 12.6.9 A Different Dragon Class
    58. 12.7 Class Methods and Class Variables

    59. Video 12.7.1 Static Methods and Variables (Class Methods and Class Variables)
    60. Check for Understanding 12.7.2 Quiz: Static Methods
    61. Example 12.7.3 Student Class Variables and Methods
    62. Example 12.7.4 Using the Math Class
    63. Example 12.7.5 Using Randomizer
    64. Example 12.7.6 Static Variables: Circle
    65. Exercise 12.7.7 The Unit Circle
    66. Exercise 12.7.8 How Many Players in the Game?
    67. Exercise 12.7.9 Circle Area, another way
    68. Practice 12.7.10 Rock, Paper, Scissors: Get Winner
    69. Exercise 12.7.11 Rock, Paper, Scissors!
    70. 12.8 Wrapper Classes

    71. Video 12.8.1 Wrapper Classes
    72. Check for Understanding 12.8.2 Quiz: Wrapper Classes
    73. Example 12.8.3 Creating Integers
    74. Example 12.8.4 Using Doubles
    75. Example 12.8.5 Autoboxing Example
    76. Exercise 12.8.6 Order Up!
    77. Exercise 12.8.7 Currency
    78. Exercise 12.8.8 Guess the number!
    79. 12.9 Method Overloading

    80. Video 12.9.1 Method Overloading
    81. Check for Understanding 12.9.2 Method Overloading Quiz
    82. Example 12.9.3 Sum Method Overloading
    83. Example 12.9.4 Constructor Overloading
    84. Exercise 12.9.5 Average Method Overloading
    85. Badge 12.9.6 Overloading Badge
    86. 12.10 Local Variables and Scope

    87. Video 12.10.1 Local Variables and Scope
    88. Check for Understanding 12.10.2 Local Variables and Scope Quiz
    89. Example 12.10.3 Instance Variable Scope
    90. Example 12.10.4 Local Variable Scope
    91. Example 12.10.5 Variable Shadowing
    92. Exercise 12.10.6 Which Variables Exist?
    93. 12.11 Key Terms for Classes

    94. Video 12.11.1 Key Terms for Classes
    95. Check for Understanding 12.11.2 Quiz: This Keyword
    96. Example 12.11.3 Rectangles and this
    97. Exercise 12.11.4 Batteries
    98. Exercise 12.11.5 Write Your Own CodeHS
    99. 12.12 Objects vs Primitives

    100. Video 12.12.1 Objects vs Primitives
    101. Check for Understanding 12.12.2 Objects vs Primitives Quiz
    102. Example 12.12.3 Comparing Rectangles
    103. Example 12.12.4 Changing Dogs
    104. Example 12.12.5 Null Pointer Exception
    105. Free Response 12.12.6 Objects vs Primitives
    106. Exercise 12.12.7 Comparing Circles
    107. 12.13 Inheritance

    108. Video 12.13.1 Inheritance
    109. Check for Understanding 12.13.2 Quiz: Subclasses and Superclasses
    110. Example 12.13.3 Square is a Rectangle
    111. Exercise 12.13.4 Clothing Store
    112. Badge 12.13.5 Inheritance Badge
    113. 12.14 Class Design and Abstract Classes

    114. Video 12.14.1 Class Design and Abstract Classes
    115. Check for Understanding 12.14.2 Quiz: Class Design
    116. Example 12.14.3 The Shape Hierarchy
    117. Example 12.14.4 Classes for Dessert
    118. Exercise 12.14.5 Finding The Perimeters
    119. 12.15 Polymorphism

    120. Video 12.15.1 Polymorphism
    121. Check for Understanding 12.15.2 Quiz: Polymorphism
    122. Example 12.15.3 Animal Sounds
    123. Example 12.15.4 Shape Areas
    124. Exercise 12.15.5 Fun with Solids
    125. 12.16 Object Superclass

    126. Video 12.16.1 Object Superclass
    127. Check for Understanding 12.16.2 Quiz: Object Superclass
    128. Example 12.16.3 Default Values
    129. Example 12.16.4 Override toString
    130. Example 12.16.5 Override equals
    131. Exercise 12.16.6 Equal?
    132. Exercise 12.16.7 Equals? - Part 2
    133. Exercise 12.16.8 Equal Rectangles
    134. Exercise 12.16.9 2D Array Tester
    135. 12.17 Interfaces

    136. Video 12.17.1 Interfaces
    137. Check for Understanding 12.17.2 Quiz: Interfaces
    138. Example 12.17.3 Comparable Interface
    139. Example 12.17.4 Summable Interface
    140. Exercise 12.17.5 Fraction is Comparable
    141. Exercise 12.17.6 City is Summable
    142. Badge 12.17.7 Classes and Object-Oriented Programming Badge
    143. 12.18 Ethical and Social Implications of Computing

    144. Video 12.18.1 Implications of Computing Systems
    145. Free Response 12.18.2 Computing and Your Life
    146. Check for Understanding 12.18.3 Quiz: Ethical and Social Impact
    147. Connection 12.18.4 ACM General Ethical Principles
    148. Free Response 12.18.5 ACM General Ethical Principles
    149. Connection 12.18.6 Bias in Facial Recognition
    150. Free Response 12.18.7 Bias in Facial Recognition
    151. Connection 12.18.8 Self-driving Cars
    152. Free Response 12.18.9 Self-driving Cars
    153. 12.19 Classes and Object-Oriented Programming Quiz

    154. Unit Quiz 12.19.1 Classes and Object-Oriented Programming Quiz
  13. Array

    1. 13.1 Array

    2. Video 13.1.1 Introduction to Arrays
    3. Check for Understanding 13.1.2 Quiz: Arrays
    4. Example 13.1.3 Making an Array
    5. Example 13.1.4 Make an Empty Array
    6. Example 13.1.5 Indexing Into an Array
    7. Exercise 13.1.6 Our First Array
    8. Exercise 13.1.7 Set Scores
    9. Exercise 13.1.8 Last Element in Array
    10. Exercise 13.1.9 Snap Shot Splash Screen
    11. 13.2 Traversing Arrays

    12. Video 13.2.1 Using Arrays
    13. Check for Understanding 13.2.2 Quiz: Using Arrays
    14. Example 13.2.3 Iterating Over An Array - For Loop
    15. Example 13.2.4 Iterating Over An Array - While Loop
    16. Example 13.2.5 Array Out of Bounds
    17. Example 13.2.6 Finding a Target Value
    18. Exercise 13.2.7 Print Array
    19. Exercise 13.2.8 Print Odd Array Indices
    20. Exercise 13.2.9 Find Index of a String
    21. Free Response 13.2.10 Thinking Ahead: Fibonacci Sequence
    22. Exercise 13.2.11 Fibonacci Sequence
    23. 13.3 Enhanced for Loop for Arrays

    24. Video 13.3.1 Enhanced For Loop for Arrays
    25. Check for Understanding 13.3.2 Enhanced For Loop for Arrays
    26. Example 13.3.3 Enhanced For Loop
    27. Example 13.3.4 Classroom Array
    28. Example 13.3.5 Updating Values in a Loop
    29. Exercise 13.3.6 Print Odds
    30. Exercise 13.3.7 Largest Value
    31. Exercise 13.3.8 Classroom Array
    32. Exercise 13.3.9 Array Average
    33. 13.4 Developing Algorithms Using Arrays

    34. Video 13.4.1 Developing Algorithms Using Arrays
    35. Check for Understanding 13.4.2 Developing Algorithms Using Arrays
    36. Example 13.4.3 Finding the Minimum Value
    37. Example 13.4.4 Reordering an Array
    38. Example 13.4.5 Finding Duplicates
    39. Exercise 13.4.6 Find the Median
    40. Exercise 13.4.7 Find the Last Multiple of 3
    41. Exercise 13.4.8 Most Improved
    42. Challenge 13.4.9 Car Showroom
    43. 13.5 Array Quiz

    44. Unit Quiz 13.5.1 Array Quiz
  14. ArrayList

    1. 14.1 ArrayList

    2. Video 14.1.1 ArrayLists
    3. Check for Understanding 14.1.2 Quiz: ArrayList
    4. Example 14.1.3 Initializing an ArrayList
    5. Example 14.1.4 Array vs. ArrayList Initialization
    6. Free Response 14.1.5 Arrays vs. ArrayLists
    7. Exercise 14.1.6 Initializing an ArrayList
    8. Exercise 14.1.7 Car Inventory
    9. 14.2 ArrayList Methods

    10. Video 14.2.1 ArrayLists Methods
    11. Check for Understanding 14.2.2 Quiz: ArrayList Methods
    12. Example 14.2.3 ArrayList and Java Primitives
    13. Example 14.2.4 ArrayList Methods
    14. Example 14.2.5 Array vs. ArrayList Methods
    15. Exercise 14.2.6 Get First Element
    16. Exercise 14.2.7 ArrayList of Even Numbers
    17. Exercise 14.2.8 Teacher Class List
    18. Exercise 14.2.9 Teacher Class List Methods
    19. 14.3 Traversing ArrayLists

    20. Video 14.3.1 Traversing ArrayLists
    21. Check for Understanding 14.3.2 Quiz: Traversing Arrays
    22. Example 14.3.3 Reading List
    23. Example 14.3.4 While Loop ArrayList Traversal
    24. Example 14.3.5 ArrayList Traversing Error
    25. Exercise 14.3.6 Traversing Odds
    26. Exercise 14.3.7 ArrayList Helper Methods
    27. Exercise 14.3.8 Road Trip!
    28. 14.4 Developing Algorithms using ArrayLists

    29. Video 14.4.1 Developing Algorithms Using ArrayLists
    30. Check for Understanding 14.4.2 Quiz: Developing Algorithms
    31. Example 14.4.3 Traversing ArrayLists Simultaneously
    32. Example 14.4.4 Inserting Elements While Traversing ArrayLists
    33. Exercise 14.4.5 ArrayList equals
    34. Exercise 14.4.6 Airline Tickets
    35. Exercise 14.4.7 Billboard Top 10
    36. Exercise 14.4.8 User Data Cleanup
    37. 14.5 Searching

    38. Video 14.5.1 Linear Search
    39. Check for Understanding 14.5.2 Quiz: Linear Search
    40. Example 14.5.3 Linear Search
    41. Exercise 14.5.4 Linear Search on ArrayList with While Loop
    42. Exercise 14.5.5 Fantasy Football Roster
    43. Resource 14.5.6 Card Collection FRQ
    44. 14.6 Sorting

    45. Video 14.6.1 Selection Sort
    46. Check for Understanding 14.6.2 Selection Sort
    47. Example 14.6.3 Selection Sort
    48. Exercise 14.6.4 Explore Selection Sort
    49. Video 14.6.5 Insertion Sort
    50. Check for Understanding 14.6.6 Insertion Sort
    51. Example 14.6.7 Insertion Sort
    52. Example 14.6.8 Visualizing Algorithms
    53. Exercise 14.6.9 Explore Insertion Sort
    54. Example 14.6.10 Selection Sort vs. Insertion Sort Run Time
    55. Free Response 14.6.11 Selection Sort vs. Insertion Sort
    56. Exercise 14.6.12 Phonebook
    57. 14.7 Ethical Issues Around Data Collection

    58. Video 14.7.1 Ethical Issues Around Data Collection
    59. Check for Understanding 14.7.2 Ethical Issues Around Data Collection
    60. Connection 14.7.3 The Curly Fry Conundrum
    61. Free Response 14.7.4 Reflection
    62. Connection 14.7.5 Guidelines on Ethical Data Use
    63. Free Response 14.7.6 Issue News Article
    64. Badge 14.7.7 ArrayList Badge
    65. 14.8 ArrayList Quiz

    66. Unit Quiz 14.8.1 ArrayList Quiz
  15. 2D Array

    1. 15.1 2D Arrays

    2. Video 15.1.1 2D Arrays
    3. Check for Understanding 15.1.2 Quiz: 2D Arrays
    4. Example 15.1.3 GradeBook
    5. Example 15.1.4 ChessBoard
    6. Exercise 15.1.5 Manipulating 2D Arrays
    7. Exercise 15.1.6 Complete Chessboard
    8. Exercise 15.1.7 Tic Tac Toe Board
    9. 15.2 Traversing 2D Arrays

    10. Video 15.2.1 Traversing 2D Arrays
    11. Check for Understanding 15.2.2 Quiz: Traversing 2D Arrays
    12. Example 15.2.3 Traversing Gradebook
    13. Example 15.2.4 Linear Search 2D Arrays
    14. Example 15.2.5 Row vs. Column Major
    15. Free Response 15.2.6 Row vs. Column Major
    16. Exercise 15.2.7 Sum Rows in a 2D Array
    17. Exercise 15.2.8 Tic Tac Toe Methods
    18. Challenge 15.2.9 Finalizing Tic Tac Toe
    19. Badge 15.2.10 2D Array Badge
    20. 15.3 2D Array Quiz

    21. Unit Quiz 15.3.1 2D Array Quiz
  16. Inheritance

    1. 16.1 Inheritance

    2. Video 16.1.1 Inheritance
    3. Check for Understanding 16.1.2 Quiz: Subclasses and Superclasses
    4. Example 16.1.3 Person Superclass
    5. Example 16.1.4 Vehicle Superclass
    6. Example 16.1.5 High School Student
    7. Exercise 16.1.6 Person / Student Object
    8. Exercise 16.1.7 Books
    9. Exercise 16.1.8 Computers
    10. Exercise 16.1.9 More Animals!
    11. 16.2 Writing Constructors for Subclasses

    12. Video 16.2.1 Writing Constructors for Subclasses
    13. Check for Understanding 16.2.2 Quiz: Writing Constructors for Subclasses
    14. Example 16.2.3 Student Subclass
    15. Example 16.2.4 Shape Class
    16. Example 16.2.5 Implicit Call to Super
    17. Exercise 16.2.6 Students
    18. Exercise 16.2.7 Instruments
    19. Exercise 16.2.8 Foods
    20. Exercise 16.2.9 Clothing Store
    21. 16.3 Overriding Methods

    22. Video 16.3.1 Overriding Methods
    23. Check for Understanding 16.3.2 Quiz: Overriding Methods
    24. Example 16.3.3 Square is a Rectangle
    25. Example 16.3.4 Student toString
    26. Example 16.3.5 Restaurant Bills
    27. Exercise 16.3.6 Dogs Bark
    28. Exercise 16.3.7 Electric Cars
    29. Exercise 16.3.8 Online Companies
    30. 16.4 super Keyword

    31. Video 16.4.1 super Keyword
    32. Check for Understanding 16.4.2 Quiz: super Keyword
    33. Example 16.4.3 Square Class
    34. Example 16.4.4 Animal Class
    35. Example 16.4.5 Apple Pie
    36. Exercise 16.4.6 Squares
    37. Exercise 16.4.7 Bank Accounts
    38. Exercise 16.4.8 Employees
    39. Exercise 16.4.9 Student Test Scores
    40. 16.5 Creating References Using Inheritance

    41. Video 16.5.1 Creating References Using Inheritance Hierarchies
    42. Check for Understanding 16.5.2 Quiz: References Using Inheritance Hierarchies
    43. Example 16.5.3 Animal Sounds
    44. Example 16.5.4 Shape Areas
    45. Example 16.5.5 Person Class
    46. Exercise 16.5.6 Pies
    47. Exercise 16.5.7 Creating .equals
    48. Exercise 16.5.8 Online Companies Revisited
    49. Exercise 16.5.9 Assignments
    50. 16.6 Polymorphism

    51. Video 16.6.1 Polymorphism
    52. Check for Understanding 16.6.2 Quiz: Polymorphism
    53. Example 16.6.3 Using Person Methods
    54. Example 16.6.4 Modified Student Class
    55. Example 16.6.5 Vehicle Methods
    56. Exercise 16.6.6 Which Team?
    57. Exercise 16.6.7 Cars
    58. Exercise 16.6.8 Library Books
    59. Exercise 16.6.9 Fun with Solids
    60. 16.7 Object Superclass

    61. Video 16.7.1 Object Superclass
    62. Check for Understanding 16.7.2 Quiz: Object Superclass
    63. Example 16.7.3 Default Values
    64. Example 16.7.4 Override toString
    65. Example 16.7.5 Override equals
    66. Exercise 16.7.6 Equal?
    67. Exercise 16.7.7 Equals? - Part 2
    68. Exercise 16.7.8 Equal Rectangles
    69. Exercise 16.7.9 2D Array Tester
    70. 16.8 Inheritance Quiz

    71. Unit Quiz 16.8.1 Inheritance Quiz
  17. Recursion

    1. 17.1 Recursion

    2. Video 17.1.1 Recursion
    3. Check for Understanding 17.1.2 Quiz: Recursion
    4. Example 17.1.3 Summing
    5. Example 17.1.4 Sum Array
    6. Example 17.1.5 Fibonacci Recursion
    7. Exercise 17.1.6 Factorial
    8. Exercise 17.1.7 Countdown!
    9. Exercise 17.1.8 Recursive Minimum
    10. Exercise 17.1.9 Bacteria Cultures
    11. 17.2 Recursive Searching

    12. Video 17.2.1 Recursive Searching
    13. Check for Understanding 17.2.2 Quiz: Recursive Searching
    14. Example 17.2.3 Binary Search
    15. Example 17.2.4 Binary Recursive
    16. Example 17.2.5 Binary vs Linear
    17. Exercise 17.2.6 Exploring Binary Searches
    18. Exercise 17.2.7 Comparing Binary Search and Linear Search
    19. Exercise 17.2.8 Maximum Iterations
    20. 17.3 Recursive Sorting

    21. Video 17.3.1 Recursive Sorting
    22. Check for Understanding 17.3.2 Quiz: Recursive Sorting
    23. Example 17.3.3 Merge Sort
    24. Example 17.3.4 Sort Visualizer
    25. Exercise 17.3.5 Explore Merge Sort
    26. Exercise 17.3.6 Merge Sort Benchmark Testing
    27. Exercise 17.3.7 Recursive Calls
    28. Exercise 17.3.8 Sort Benchmark Testing
    29. Free Response 17.3.9 Using Concurrent Processes
    30. 17.4 Recursion Quiz

    31. Unit Quiz 17.4.1 Recursion Quiz
  18. Exam Practice

    1. 18.1 IB Assessment Prep Overview

    2. Notes 18.1.1 IB Assessment Prep Overview
    3. Video 18.1.2 Understanding IB Assessments
    4. Quiz 18.1.3 Quiz: Understanding IB Assessments
    5. Notes 18.1.4 Study Guides Overview
    6. Free Response 18.1.5 Testing Mindset
    7. 18.2 Topic 1: System Fundamentals

    8. Notes 18.2.1 System Fundamentals Overview
    9. Free Response 18.2.2 Planning and System Installation
    10. Free Response 18.2.3 User Focus
    11. Free Response 18.2.4 System Backup
    12. Free Response 18.2.5 Software Deployment
    13. Free Response 18.2.6 Hardware, Software, Peripheral, Network, and HR
    14. Free Response 18.2.7 Components of a Computer System
    15. Free Response 18.2.8 System Design and Analysis
    16. Free Response 18.2.9 Human Interaction with the System
    17. 18.3 Topic 2: Computer Organization

    18. Free Response 18.3.1 CPU Architecture
    19. Free Response 18.3.2 Memory
    20. Free Response 18.3.3 Operating Systems and Application Systems
    21. Free Response 18.3.4 Binary Representation
    22. Free Response 18.3.5 Simple Logic Gates
    23. 18.4 Topic 3: Networks

    24. Free Response 18.4.1 Network Fundamentals
    25. Free Response 18.4.2 Data Transmission
    26. Free Response 18.4.3 Wireless Networking
    27. 18.5 Topic 4: Computational Thinking, Problem-solving

    28. Free Response 18.5.1 Thinking Procedurally
    29. Free Response 18.5.2 Thinking Logically
    30. Free Response 18.5.3 Thinking Ahead
    31. Free Response 18.5.4 Thinking Concurrently
    32. Free Response 18.5.5 Thinking Abstractly
    33. Free Response 18.5.6 Program Design - Algorithms
    34. Free Response 18.5.7 Program Design - Pseudocode
    35. Free Response 18.5.8 Nature of Programming Languages
    36. Free Response 18.5.9 Use of Programming Languages
    37. 18.6 Topic 5: Object Oriented Programming

    38. Free Response 18.6.1 Modeling Objects to Solve a Problem
    39. Free Response 18.6.2 Key OOP Principles
    40. Free Response 18.6.3 Using OOP in Development
    41. Free Response 18.6.4 Using the Right Language
    42. Exercise 18.6.5 Coding Example
    43. 18.7 Practice Exam

    44. Notes 18.7.1 Practice Exam
    45. Connection 18.7.2 IB Practice Exam - Paper 1
    46. Connection 18.7.3 IB Practice Exam - Paper 2
  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