Please enable JavaScript to use CodeHS

Outline


1. Introduction to Programming in Java with Karel the Dog
1.1 Introduction to Programming With Karel
Video 1.1.1 Introduction to Programming With Karel
Check for Understanding 1.1.2 Quiz: Karel Commands
Example 1.1.3 Our First Karel Program
Exercise 1.1.4 Your First Karel Program
Exercise 1.1.5 Short Stack
1.2 More Basic Karel
Video 1.2.1 More Basic Karel
Check for Understanding 1.2.2 More Basic Karel
Example 1.2.3 Tennis Ball Square
Exercise 1.2.4 Make a Tower
Exercise 1.2.5 Pyramid of Karel
1.3 Java Programs and the Run Method
Video 1.3.1 Writing a Java Program
Check for Understanding 1.3.2 Run Method
Example 1.3.3 Square Karel
Exercise 1.3.4 Tower Karel
Exercise 1.3.5 Gold Medal Karel
Exercise 1.3.6 Maze Karel
1.4 Karel Can't Turn Right
Video 1.4.1 Karel Can't Turn Right
Check for Understanding 1.4.2 Karel Can't Turn Right
Example 1.4.3 Tower and Turn Right
Exercise 1.4.4 Slide Karel
Exercise 1.4.5 Fireman Karel
Badge 1.4.6 Right Turn Karel Badge
1.5 Methods in Karel
Video 1.5.1 Methods in Karel
Check for Understanding 1.5.2 Methods in Karel
Example 1.5.3 Turn Around
Exercise 1.5.4 Planting Bushes
Exercise 1.5.5 Mario Karel
1.6 Top Down Design and Decomposition in Karel
Video 1.6.1 Top Down Design and Decomposition in Karel
Check for Understanding 1.6.2 Top Down Design and Decomposition
Example 1.6.3 Hurdle Karel
Exercise 1.6.4 The Two Towers
Exercise 1.6.5 Planting Flowers
1.7 Commenting Your Code
Video 1.7.1 Commenting Your Code
Check for Understanding 1.7.2 Commenting Your Code
Example 1.7.3 Hurdle Karel (Comments)
Exercise 1.7.4 The Two Towers + Comments
1.8 Abstraction
Video 1.8.1 Abstraction
Check for Understanding 1.8.2 Abstraction Quiz
Example 1.8.3 Abstracting Away buildTower
Free Response 1.8.4 Abstracting Your Day
Free Response 1.8.5 Reflection: Abstraction
Free Response 1.8.6 Reflection: Abstraction in Karel
1.9 Super Karel
Video 1.9.1 Super Karel
Check for Understanding 1.9.2 Super Karel
Example 1.9.3 Hurdle Karel (with SuperKarel)
Exercise 1.9.4 The Two Towers + SuperKarel
Badge 1.9.5 Super Karel Badge
1.10 For Loops
Video 1.10.1 For Loops
Check for Understanding 1.10.2 For Loops
Example 1.10.3 Repeated Move
Example 1.10.4 Put Down Tennis Balls
Exercise 1.10.5 Marathon Karel
Exercise 1.10.6 Take 'em All
Exercise 1.10.7 Dizzy Karel
Exercise 1.10.8 For Loop Square
Exercise 1.10.9 Planting Flowers
Exercise 1.10.10 Lots of Hurdles
1.11 While Loops in Karel
Video 1.11.1 While Loops in Karel
Check for Understanding 1.11.2 While Loops in Karel
Example 1.11.3 Move to Wall
Exercise 1.11.4 Follow The Yellow Ball Road
Exercise 1.11.5 Just Keep Spinning
Exercise 1.11.6 Lay Row of Tennis Balls
Exercise 1.11.7 Big Tower
1.12 If Statements
Video 1.12.1 If Statements
Check for Understanding 1.12.2 If Statements Quiz
Example 1.12.3 If Statements
Example 1.12.4 Safe Take Ball
Exercise 1.12.5 Is There a Ball?
1.13 If/Else Statements
Video 1.13.1 If/Else Statements
Check for Understanding 1.13.2 If/Else Statements
Example 1.13.3 Flip Karel
Exercise 1.13.4 Fix It Karel
Exercise 1.13.5 Invert
Badge 1.13.6 Conditional Karel Badge
1.14 Control Structures Example
Video 1.14.1 Control Structures Example
Check for Understanding 1.14.2 Control Structures Example
Example 1.14.3 Cleanup Karel
Exercise 1.14.4 Random Hurdles
Exercise 1.14.5 Fix It Karel
1.15 More Karel Examples and Testing
Video 1.15.1 More Karel Examples and Testing
Example 1.15.2 Move Tennis Ball Stack
Example 1.15.3 Climbing Karel
1.16 How to Indent Your Code
Video 1.16.1 How to Indent Your Code
Check for Understanding 1.16.2 How to Indent Your Code
Example 1.16.3 Dance and Clean Karel
Exercise 1.16.4 Diagonal
Exercise 1.16.5 Staircase
Badge 1.16.6 Karel Exercises Badge
1.17 What is Code
Video 1.17.1 What is Code?
Connection 1.17.2 What is Software
Free Response 1.17.3 Respond: What is Software
1.18 Uses of Programs
Video 1.18.1 Uses of Programs
Connection 1.18.2 Why Should You Learn to Program?
Free Response 1.18.3 Reflection: Learning to Program
Free Response 1.18.4 Reflection: Programs in Your Life
Free Response 1.18.5 Reflection: Future Programs
Free Response 1.18.6 Task: Computing Innovations
Connection 1.18.7 Case Study: Mob Programming
Free Response 1.18.8 Case Study: Mob Programming
1.19 Karel Challenges
Challenge 1.19.1 Fetch
Challenge 1.19.2 Racing Karel
Challenge 1.19.3 Tower Builder
Challenge 1.19.4 Super Cleanup Karel
Challenge 1.19.5 Double Tennis Balls
Challenge 1.19.6 Midpoint Karel
Badge 1.19.7 Karel Challenges Badge
1.20 Introduction to Programming in Java Quiz
Unit Quiz 1.20.1 Introduction to Programming in Java Quiz Unit 1
2. Design Thinking
2.1 Intro to Design Thinking
Video 2.1.1 Intro to Design Thinking
Check for Understanding 2.1.2 Intro to Design Thinking
Free Response 2.1.3 User Interface Scavenger Hunt
Connection 2.1.4 Case Study: Helping Blind People See
Free Response 2.1.5 Case Study Responses
Connection 2.1.6 Crash Course: Empathize
Free Response 2.1.7 Empathize Notes
Connection 2.1.8 Crash Course: Define
Free Response 2.1.9 Problem Statement
Connection 2.1.10 Crash Course: Ideate
Free Response 2.1.11 Ideate Notes
Connection 2.1.12 Crash Course: Prototype and Test
Free Response 2.1.13 Testing Notes
Free Response 2.1.14 Topic Brainstorm
Free Response 2.1.15 Narrowing Down Topics
2.2 Empathy
Video 2.2.1 Empathy
Check for Understanding 2.2.2 Empathy Quiz
Connection 2.2.3 A Cafeteria Designed for Me
Free Response 2.2.4 A Cafeteria Designed for Me
Connection 2.2.5 Accessibility
Free Response 2.2.6 Accessibility Tips
Free Response 2.2.7 Accessibility: Designing for ALL
Connection 2.2.8 How to Interview
Free Response 2.2.9 How to Interview
Free Response 2.2.10 User Interview
2.3 Define
Video 2.3.1 Define
Check for Understanding 2.3.2 Define Quiz
Connection 2.3.3 Make a Composite Character Profile
Free Response 2.3.4 Composite Character Profile
Free Response 2.3.5 Point-of-View Statement Brainstorm
Free Response 2.3.6 POV Statement
2.4 Ideate
Video 2.4.1 Ideate
Check for Understanding 2.4.2 Ideate Quiz
Connection 2.4.3 Stoke
Free Response 2.4.4 Get Stoked
Connection 2.4.5 Brainstorming Tips
Free Response 2.4.6 Ideate!
2.5 Prototype
Video 2.5.1 Prototype
Check for Understanding 2.5.2 Prototype Quiz
Connection 2.5.3 Brainstorm Selection
Free Response 2.5.4 Harvest Ideas from the Brainstorm
Connection 2.5.5 Wizard of Oz Prototyping
Connection 2.5.6 Example Wizard of Oz Paper Prototype
Free Response 2.5.7 Make Your Paper Prototypes!
2.6 Test
Video 2.6.1 Test
Check for Understanding 2.6.2 Testing Quiz
Connection 2.6.3 Testing with Users
Connection 2.6.4 Example: How to User Test
Free Response 2.6.5 How to User Test Responses
Connection 2.6.6 Example: How NOT to User Test
Free Response 2.6.7 How NOT to User Test Responses
Free Response 2.6.8 Test Prototype 1
Free Response 2.6.9 Test Prototype 2
Free Response 2.6.10 Improve Your Prototype
3. Project: Put it in Writing!
3.1 Context for Change
Free Response 3.1.1 Company Development
Notes 3.1.2 Context for Change
Connection 3.1.3 Matilda Jane Case Study
Free Response 3.1.4 Case Study Reflection
Video 3.1.5 Implementing New IT Systems
Connection 3.1.6 Implementation Rubric
3.2 Planning for System Implementation
Video 3.2.1 Planning for System Implementation
Connection 3.2.2 Developing an Implementation Plan
Connection 3.2.3 How Spotify Migrated to the Cloud
Free Response 3.2.4 Spotify Migration Reflection
Connection 3.2.5 Software as a Service (Saas)
Notes 3.2.6 Data Migration Challenges
Notes 3.2.7 Testing Your New System
Free Response 3.2.8 Implementation Plan Link
3.3 Preparing Users
Notes 3.3.1 Preparing Users Overview
Connection 3.3.2 User Documentation
Free Response 3.3.3 User Documentation Reflection
Video 3.3.4 Change Management
Connection 3.3.5 Preparing Users: Change Management Plan
Free Response 3.3.6 Change Management Plan Link
3.4 Maintaining the System
Notes 3.4.1 Maintaining the System Overview
Connection 3.4.2 Saas and Automatic Updates
Free Response 3.4.3 SaaS and Automatic Updates Response
Connection 3.4.4 Data Loss: Causes, Impacts, and Prevention
Free Response 3.4.5 Data Loss Reflection
Notes 3.4.6 Redundancy and Failover Systems
Free Response 3.4.7 Data Loss Prevention Plan
Free Response 3.4.8 Real World Challenge #1
Free Response 3.4.9 Real World Challenge #2
4. Digital Information
4.1 Intro to Digital Information
Video 4.1.1 What is Digital Information?
Check for Understanding 4.1.2 What is Digital Information Quiz
Example 4.1.3 Fast Food Menu
Example 4.1.4 DNA
Free Response 4.1.5 Reflection: Encodings Everywhere
4.2 Number Systems
Video 4.2.1 Number Systems
Notes 4.2.2 Number Base Tool
Check for Understanding 4.2.3 Number Systems Quiz
Video 4.2.4 Decimal to Binary
Check for Understanding 4.2.5 Decimal to Binary Quiz
Exercise 4.2.6 Binary Game
Exercise 4.2.7 Overflow Error
Example 4.2.8 More Overflow Errors
4.3 Encoding Text with Binary
Video 4.3.1 Encoding Text with Binary
Check for Understanding 4.3.2 Encoding Text with Binary Quiz
Example 4.3.3 Morse Code
Example 4.3.4 Decoding a Binary Message
Example 4.3.5 2-bit Custom Encoding
Example 4.3.6 Bits to ASCII
Exercise 4.3.7 Hello Karel in Bits
Exercise 4.3.8 Create your own Encoding
Exercise 4.3.9 Text to Binary
Badge 4.3.10 Encoding Badge
4.4 Hexadecimal
Video 4.4.1 Hexadecimal
Check for Understanding 4.4.2 Hexadecimal Quiz
Example 4.4.3 Hexadecimal to Decimal
Exercise 4.4.4 Binary to Hex Game
4.5 Pixel Images
Video 4.5.1 Pixel Images
Check for Understanding 4.5.2 Pixel Images Quiz
Resource 4.5.3 Creating Pixel Images
Example 4.5.4 CodeHS Logo
Exercise 4.5.5 Checkerboard
Exercise 4.5.6 Ladder
Exercise 4.5.7 Create an Image!
4.6 Pixel Colors!
Video 4.6.1 Pixel Colors
Check for Understanding 4.6.2 Pixel Colors Quiz
Example 4.6.3 Colors in Bits
Example 4.6.4 Colors in Text
Example 4.6.5 Colors in RGB
Exercise 4.6.6 Exploring RGB
Exercise 4.6.7 Making Yellow
Exercise 4.6.8 Rainbow
Exercise 4.6.9 Create a Color Image!
4.7 Data Compression
Video 4.7.1 Data Compression
Check for Understanding 4.7.2 Data Compression Quiz
Video 4.7.3 Run Length Encoding
Check for Understanding 4.7.4 Run Length Encoding Quiz
Example 4.7.5 Run Length Encoding
Example 4.7.6 Custom Image Compression
Free Response 4.7.7 Respond: Custom Image Compression
4.8 Lossy Compression
Video 4.8.1 Lossy Compression
Check for Understanding 4.8.2 Lossy Compression Quiz
Example 4.8.3 Remove the Vowels
Exercise 4.8.4 Decreasing Resolution
Connection 4.8.5 Analog to Digital
Free Response 4.8.6 Respond: Analog to Digital
4.9 Digital Information Quiz
Unit Quiz 4.9.1 Digital Information Quiz
5. Networking
5.1 Welcome to the Internet
Video 5.1.1 Welcome to the Internet
Check for Understanding 5.1.2 Welcome to the Internet Quiz
Free Response 5.1.3 Reflection: The Internet and You
Video 5.1.4 Internet Addresses
Check for Understanding 5.1.5 Internet Addresses Quiz
Free Response 5.1.6 Free Response: The Need for Addresses
Check for Understanding 5.1.7 4-bit Addresses
Free Response 5.1.8 Free Response: IPv4 vs IPv6
5.2 DNS and Routing
Video 5.2.1 DNS
Check for Understanding 5.2.2 DNS Quiz
Connection 5.2.3 How Does DNS Work?
Free Response 5.2.4 Respond: How Does DNS Work?
Video 5.2.5 Routing
Check for Understanding 5.2.6 Routing Quiz
Free Response 5.2.7 Free Response: Redundancy
Traceroute 5.2.8 Route Tracing
5.3 Packets and Protocols
Video 5.3.1 Packets and Protocols
Check for Understanding 5.3.2 Packets and Protocols Quiz
Resource 5.3.3 Passing Notes
Connection 5.3.4 How the Internet Works
Free Response 5.3.5 The Story of the Internet
5.4 Protocols and Standards
Video 5.4.1 Protocols
Check for Understanding 5.4.2 Protocols Quiz
Video 5.4.3 Standards
Check for Understanding 5.4.4 Standards Quiz
Connection 5.4.5 The New Wireless Standard
Connection 5.4.6 801.11ax
Free Response 5.4.7 801.11ax FR
5.5 Private Networks
Video 5.5.1 IP and MAC Addresses
Check for Understanding 5.5.2 IP and MAC Addresses Quiz
Example 5.5.3 Intranet Permissions
Free Response 5.5.4 Coffee Shop: Design an Intranet
Video 5.5.5 DMZs and VPNs
Check for Understanding 5.5.6 DMZs and VPNs Quiz
Connection 5.5.7 Protecting Privacy with VPNs
Free Response 5.5.8 Protecting Privacy with VPNs
Free Response 5.5.9 Coffee Shop: Network Plan
Free Response 5.5.10 Coffee Shop: Network Diagram
Video 5.5.11 SOHO Network
Example 5.5.12 Network Topologies
5.6 Cybersecurity
Video 5.6.1 Cybersecurity
Check for Understanding 5.6.2 Cybersecurity Quiz
Example 5.6.3 You Can Be Tracked!
Connection 5.6.4 Website Cookies
Connection 5.6.5 Password Strength
Free Response 5.6.6 Reflection: Password Strength
Example 5.6.7 Multifactor Authentication
Free Response 5.6.8 Reflection: PII
Example 5.6.9 Phishing Simulator
Connection 5.6.10 Rogue Access Points
Survey 5.6.11 Mindsets
5.7 Advanced Devices
Video 5.7.1 Advanced Devices
Check for Understanding 5.7.2 Advanced Devices Quiz
Connection 5.7.3 Network Administrator Career
Free Response 5.7.4 Network Administrator Career
Free Response 5.7.5 Choosing the Best Devices
Free Response 5.7.6 Network Diagram
5.8 The Impact of the Internet
Video 5.8.1 The Impact of the Internet
Check for Understanding 5.8.2 The Impact of the Internet Quiz
Free Response 5.8.3 Reflection: Internet Impact
Connection 5.8.4 Crucial Steps to Close the Digital Divide
Free Response 5.8.5 Reflection: Closing the Digital Divide
Connection 5.8.6 Pokemon Go: Unintended Effects
Free Response 5.8.7 Reflection: Unintended Effects
5.9 The Internet Quiz
Unit Quiz 5.9.1 Networking Fundamentals Quiz (Duplicate)
Unit Quiz 5.9.2 Advanced Networking Quiz (Duplicate)
5.10 Networking Quiz
Unit Quiz 5.10.1 Networking Quiz
6. Primitive Types
6.1 Why Programming? Why Java?
Video 6.1.1 Printing in Java
Check for Understanding 6.1.2 Printing in Java
Example 6.1.3 Hello World
Example 6.1.4 Printing Multiple Lines
Exercise 6.1.5 Welcome Program
Exercise 6.1.6 ASCII Art
Exercise 6.1.7 Fixing a Paragraph
Exercise 6.1.8 Heating Up
Exercise 6.1.9 Personal Timeline
Notes 6.1.10 Why Java?
6.2 Variables and Data Types
Video 6.2.1 Variables and Types
Check for Understanding 6.2.2 Variables and Types
Example 6.2.3 Variables
Example 6.2.4 Using Final
Exercise 6.2.5 Our First Integer
Video 6.2.6 Variables and Types Pt. 2
Check for Understanding 6.2.7 Variables and Types Pt. 2
Example 6.2.8 Swapping Two Values
Exercise 6.2.9 Answering Questions
Exercise 6.2.10 Team Rankings
6.3 Expressions and Assignment Statements
Video 6.3.1 Arithmetic Expressions
Check for Understanding 6.3.2 Arithmetic Expressions
Example 6.3.3 Calculator
Example 6.3.4 Temperature Conversion
Example 6.3.5 Tricky Java
Exercise 6.3.6 Weight of a Pyramid
Exercise 6.3.7 Add Fractions
Exercise 6.3.8 Freely Falling Bodies
6.4 Compound Assignment Operators
Video 6.4.1 Compound Assignment Operators
Check for Understanding 6.4.2 Compound Assignment Operators
Example 6.4.3 All Functions Calculator
Example 6.4.4 Increase/Decrease by 1
Exercise 6.4.5 Work Shift
Exercise 6.4.6 My Age
6.5 User Input
Video 6.5.1 User Input
Check for Understanding 6.5.2 User Input Quiz
Example 6.5.3 Using the Scanner Class
Example 6.5.4 Increase/Decrease by 1 (User Input)
Example 6.5.5 int Before String
Exercise 6.5.6 My Age (User Input)
Exercise 6.5.7 Night Out
Exercise 6.5.8 MLA Citation
6.6 Casting and Ranges of Variables
Video 6.6.1 Casting
Check for Understanding 6.6.2 Casting
Example 6.6.3 Casting
Exercise 6.6.4 Casting to an Int
Exercise 6.6.5 Casting to a Double
Example 6.6.6 Casting Order of Operations
Example 6.6.7 Rounding Using Casting
Exercise 6.6.8 Movie Ratings
Example 6.6.9 Implicit Casting
Example 6.6.10 Min and Max Values of Integers
Exercise 6.6.11 Integer Overflow
6.7 Primitive Types Quiz
Unit Quiz 6.7.1 Primitive Types Quiz
7. Computer Organization
7.1 Internal Components
Video 7.1.1 Internal Components
Check for Understanding 7.1.2 Internal Components
Connection 7.1.3 Build a Computer
Free Response 7.1.4 Build a Computer
Example 7.1.5 Test Your Brain's RAM!
Free Response 7.1.6 Test Your Brain's RAM!
Connection 7.1.7 The Machine Instruction Cycle
7.2 Peripheral Devices
Video 7.2.1 Peripheral Devices
Check for Understanding 7.2.2 Peripheral Devices
Free Response 7.2.3 Personalized Peripherals
Free Response 7.2.4 IT Help
Free Response 7.2.5 Your Ideal Computer Setup
7.3 Network Devices
Video 7.3.1 Network Devices
Check for Understanding 7.3.2 Network Devices
Connection 7.3.3 Speed Test
Free Response 7.3.4 Speed Test
Connection 7.3.5 Fiber Optics Bend Light!
Free Response 7.3.6 Fiber Optics Bend Light!
Connection 7.3.7 Ethernet Standards
Free Response 7.3.8 Ethernet Standards
Free Response 7.3.9 Network Troubleshooting
7.4 Storage Options
Video 7.4.1 Storage Options
Check for Understanding 7.4.2 Storage Options Quiz
Connection 7.4.3 Security of Cloud Storage
Free Response 7.4.4 Security of Cloud Storage
Free Response 7.4.5 Storage Suggestions
7.5 Network Options
Video 7.5.1 Network Options
Check for Understanding 7.5.2 Network Options Quiz
Connection 7.5.3 What is an SSID?
Free Response 7.5.4 What is an SSID?
Free Response 7.5.5 Wireless Network Setup
7.6 Operating Systems
Video 7.6.1 Operating Systems
Check for Understanding 7.6.2 Operating Systems Quiz
Example 7.6.3 Detect My OS
Connection 7.6.4 Upgrading a Mac OS
Example 7.6.5 Windows OS Installation Simulation
Free Response 7.6.6 Installing an OS
7.7 Software and Applications
Video 7.7.1 Software and Applications
Check for Understanding 7.7.2 Software and Applications Quiz
Example 7.7.3 Spreadsheet Simulation
Example 7.7.4 Messaging Simulation
Example 7.7.5 Kanban Board Simulation
Free Response 7.7.6 Software Simulations
7.8 Browser Configuration
Video 7.8.1 Browser Configuration
Check for Understanding 7.8.2 Browser Configuration
Connection 7.8.3 Cached CodeHS
Free Response 7.8.4 Cached CodeHS
Example 7.8.5 Is Your Popup Blocker On?
Free Response 7.8.6 Browser Extensions Lab
7.9 Sequential, Parallel & Distributed Computing
Video 7.9.1 Computer Processing Operations
Check for Understanding 7.9.2 Computer Processing Operations Quiz
Resource 7.9.3 Sequential vs. Parallel Activity
Free Response 7.9.4 Free Response: Sequential vs. Parallel
7.10 Computer Organization Quiz
Unit Quiz 7.10.1 Computer Organization Quiz
8. Using Objects
8.1 Objects: Instances of Classes
Video 8.1.1 Objects: Instances of Classes
Check for Understanding 8.1.2 Quiz: Classes and Objects
Video 8.1.3 Multi-File Exercises in Java
Example 8.1.4 Rectangle Skeleton
Example 8.1.5 GrilledCheese Skeleton
Example 8.1.6 Shark Skeleton
Free Response 8.1.7 Free Response: What instance variables?
Exercise 8.1.8 Pizza Instance Variables
Free Response 8.1.9 Phone Skeleton
8.2 Creating and Storing Objects (Instantiation)
Video 8.2.1 Creating and Storing Objects
Check for Understanding 8.2.2 Quiz: Constructors
Example 8.2.3 The Rectangle Class
Example 8.2.4 The Point Class
Example 8.2.5 The Student Class
Exercise 8.2.6 Using the Rectangle Class
Exercise 8.2.7 Student GPA Field
Exercise 8.2.8 Instance Variables for Your Dog
Exercise 8.2.9 Pizza Time!
Badge 8.2.10 Instantiation Badge
8.3 Overloading
Video 8.3.1 Method Overloading
Check for Understanding 8.3.2 Method Overloading Quiz
Example 8.3.3 Overloaded Rectangle
Example 8.3.4 Overloaded GrilledCheese
Example 8.3.5 Null Pointer Exception
Exercise 8.3.6 Plain Coffee
Exercise 8.3.7 Custom Piñatas
Exercise 8.3.8 Website Class
Exercise 8.3.9 Empty References
8.4 Calling a Void Method
Video 8.4.1 Calling a Void Method
Check for Understanding 8.4.2 Quiz: Void Methods
Example 8.4.3 Area of a Rectangle
Example 8.4.4 Program Flow
Exercise 8.4.5 Hello!
Exercise 8.4.6 Loose Change
Exercise 8.4.7 Chat Bot
Exercise 8.4.8 Greetings and Salutations
8.5 Calling a Void Method with Parameters
Video 8.5.1 Calling a Void Method with Parameters
Check for Understanding 8.5.2 Methods and Parameters
Example 8.5.3 Rectangle
Example 8.5.4 Moving a Point
Exercise 8.5.5 Using the Point Class
Example 8.5.6 Calculator
Exercise 8.5.7 Basketball Players
Exercise 8.5.8 More Operations
Exercise 8.5.9 Chat Bot 2.0
8.6 Calling a Non-void Method
Video 8.6.1 Calling a Non-void Method
Check for Understanding 8.6.2 Quiz: Non-Void Methods
Example 8.6.3 Rectangle
Example 8.6.4 Desks in a Room
Example 8.6.5 Activity Log
Exercise 8.6.6 Number Games
Exercise 8.6.7 Construction Costs
Exercise 8.6.8 How Far Away is ...?
8.7 String Objects
Video 8.7.1 String Objects
Check for Understanding 8.7.2 String Objects
Example 8.7.3 Immutable Strings
Example 8.7.4 String Concatenation
Example 8.7.5 Rectangle Dimensions
Example 8.7.6 Printing Equations
Exercise 8.7.7 Pretty Printing Operations
Exercise 8.7.8 Full Name
Exercise 8.7.9 QuoteMachine
8.8 String Methods
Video 8.8.1 String Methods
Check for Understanding 8.8.2 String Methods
Example 8.8.3 Bigger Strings?
Example 8.8.4 Chopping Strings
Example 8.8.5 Object Concatenation
Exercise 8.8.6 Speaking
Exercise 8.8.7 toString for Flowers
Exercise 8.8.8 Organizing Files
Exercise 8.8.9 Concatenating Fractions
Exercise 8.8.10 Word Games
8.9 Wrapper Classes: Integers and Doubles
Video 8.9.1 Wrapper Classes
Check for Understanding 8.9.2 Quiz: Wrapper Classes
Example 8.9.3 Creating Integers
Example 8.9.4 Using Doubles
Example 8.9.5 Autoboxing Example
Exercise 8.9.6 Order Up!
Exercise 8.9.7 Currency
Exercise 8.9.8 Guess the number!
8.10 Using the Math Class
Video 8.10.1 Using the Math Class
Check for Understanding 8.10.2 Quiz: Static Methods
Example 8.10.3 Using the Math Class
Example 8.10.4 Static Methods: Rectangle
Example 8.10.5 Generating Random Numbers
Exercise 8.10.6 Circle Area
Exercise 8.10.7 The Unit Circle
Exercise 8.10.8 Racing
Free Response 8.10.9 OOP vs Procedural Programming
8.11 Using Objects Quiz
Unit Quiz 8.11.1 Using Objects Quiz
9. Boolean Expressions and if Statements
9.1 Boolean Expressions and if Statements
Video 9.1.1 Comparison Operators
Check for Understanding 9.1.2 Comparison Operators
Example 9.1.3 Old Enough To Vote
Example 9.1.4 Grade Range
Example 9.1.5 Equality of Strings
Exercise 9.1.6 Number Order
Exercise 9.1.7 Sugar Tax
Exercise 9.1.8 Triple Double
9.2 if Statements and Control Flow
Video 9.2.1 If Statements
Check for Understanding 9.2.2 If Statements
Example 9.2.3 Can Vote
Example 9.2.4 Negative Numbers
Example 9.2.5 Rectangle
Exercise 9.2.6 Discounts
Exercise 9.2.7 Sweet or Unsweet?
Exercise 9.2.8 Cooking
Exercise 9.2.9 Rating
9.3 if-else Statements
Video 9.3.1 If-Else Statements
Check for Understanding 9.3.2 If-Else
Example 9.3.3 Bill with add tip
Example 9.3.4 Even and Odd
Exercise 9.3.5 Positive or Negative
Exercise 9.3.6 Battleships Move
Exercise 9.3.7 Ratings
Exercise 9.3.8 Player Score
9.4 else if Statements
Video 9.4.1 else-if Statements
Check for Understanding 9.4.2 else-if
Example 9.4.3 Add Tip
Example 9.4.4 Add Tip - 8 or 4 Customers
Example 9.4.5 Add Tip - 8, 4, 2 Customers
Exercise 9.4.6 Positive, Negative, or Zero
Exercise 9.4.7 Salmon Spawn
Exercise 9.4.8 Berries
Exercise 9.4.9 Battleships
9.5 Compound Boolean Expressions
Video 9.5.1 Compound Boolean Expressions
Check for Understanding 9.5.2 Logical Operators
Example 9.5.3 Light Switch
Example 9.5.4 Number in Range
Example 9.5.5 Pizza Slices
Exercise 9.5.6 Roller Coaster
Exercise 9.5.7 Compound Roller Coaster
Exercise 9.5.8 Divisibility
Exercise 9.5.9 Find the Minimum
9.6 Equivalent Boolean Expressions
Video 9.6.1 Equivalent Boolean Expressions
Check for Understanding 9.6.2 De Morgan's Laws
Example 9.6.3 De Morgan AND
Example 9.6.4 De Morgan OR
Exercise 9.6.5 Amusement Park
Exercise 9.6.6 Odd Numbers
Exercise 9.6.7 Odd and Even
Free Response 9.6.8 Odd and Even Free Response
9.7 Comparing Objects
Video 9.7.1 Comparing Objects
Check for Understanding 9.7.2 Comparing Objects
Example 9.7.3 Comparing Strings
Example 9.7.4 Comparing Rectangles
Example 9.7.5 Null Test
Example 9.7.6 Identify Aliases
Exercise 9.7.7 String Variable Trace
Free Response 9.7.8 String Trace
Exercise 9.7.9 Three Strings
Exercise 9.7.10 Comparing Circles
9.8 Boolean Expressions and if Statements Quiz
Unit Quiz 9.8.1 Boolean Expressions and If Statements Quiz
10. Iteration
10.1 Iteration
Video 10.1.1 While Loops
Check for Understanding 10.1.2 While Loops
Example 10.1.3 While Loop Countdown
Example 10.1.4 Get Down to One
Example 10.1.5 Running Average
Exercise 10.1.6 Making Taffy
Exercise 10.1.7 Guess the Number
Exercise 10.1.8 Divisibility
Exercise 10.1.9 Max and Min Values
10.2 For Loops
Video 10.2.1 For Loops
Check for Understanding 10.2.2 For Loops
Example 10.2.3 For Loop
Example 10.2.4 Countdown
Example 10.2.5 Count By Twos
Exercise 10.2.6 Print the Odds
Exercise 10.2.7 Repeat 100 Times
Exercise 10.2.8 Replace WHILE with FOR Loop
Exercise 10.2.9 Replace FOR Loop with WHILE Loop
Exercise 10.2.10 Multiplication Table
10.3 Developing Algorithms Using Strings
Video 10.3.1 Developing Algorithms Using Strings
Check for Understanding 10.3.2 Developing Algorithms Using Strings
Example 10.3.3 Traversing Strings
Example 10.3.4 Replace Characters
Example 10.3.5 Reverse String
Exercise 10.3.6 Replace Letter
Exercise 10.3.7 Password Checker
Exercise 10.3.8 Finding Palindromes
Exercise 10.3.9 Fixing Grammar
Exercise 10.3.10 Teen Talk
Badge 10.3.11 String Processing Badge
10.4 Nested Iteration
Video 10.4.1 Nested Iteration
Check for Understanding 10.4.2 Nested Iteration
Example 10.4.3 Make a Rectangle
Example 10.4.4 Nested Loop Iteration Counts
Example 10.4.5 Inverted Triangle
Exercise 10.4.6 Upright Number Triangle
Exercise 10.4.7 Make a Tree
Exercise 10.4.8 Multiplication Table
10.5 Informal Code Analysis
Video 10.5.1 Informal Code Analysis
Check for Understanding 10.5.2 Informal Code Analysis
Example 10.5.3 Loop Execution Count
Example 10.5.4 While Loop Time
Example 10.5.5 For Loop Time
Example 10.5.6 Fundamental versus Compound Operations
Free Response 10.5.7 Time Comparisons
Exercise 10.5.8 Improving findChar Speed
Example 10.5.9 Improving findChar Speed Check
Free Response 10.5.10 findChar Speed Reflection
10.6 Iteration Quiz
Unit Quiz 10.6.1 Iteration Quiz
11. Writing Classes
11.1 Writing Classes
Video 11.1.1 Anatomy of Classes
Check for Understanding 11.1.2 Quiz: Access Modifiers
Example 11.1.3 Rectangle Getter Methods
Exercise 11.1.4 Access for DNA Class
Exercise 11.1.5 Access for Employee Class
Exercise 11.1.6 Fixing Circle
11.2 Constructors
Video 11.2.1 Constructors
Check for Understanding 11.2.2 Quiz: Constructors
Example 11.2.3 SuperHero Class
Example 11.2.4 Initializing an Object without a Constructor
Exercise 11.2.5 Batting Average
Exercise 11.2.6 Dog Class
Exercise 11.2.7 Student Overload
Exercise 11.2.8 SchoolClub Class
11.3 Documentation with Comments
Video 11.3.1 Documentation with Comments
Check for Understanding 11.3.2 Quiz: Comments
Example 11.3.3 Comments for Debugging
Example 11.3.4 Power Class with Comments
Exercise 11.3.5 Commenting Activity Tracker
Exercise 11.3.6 Commenting Activity Log
Exercise 11.3.7 C.Y.O.A. Layout
Exercise 11.3.8 C.Y.O.A. Finishing the story
Connection 11.3.9 UML Diagrams
11.4 Accessor Methods
Video 11.4.1 Accessor Methods
Check for Understanding 11.4.2 Quiz: Accessors
Example 11.4.3 Student Getter Methods
Example 11.4.4 SuperHero Class with Secret Identity
Exercise 11.4.5 Text Messages Getter Methods
Exercise 11.4.6 Full Dragon Class
Exercise 11.4.7 A Different Dragon Class
Exercise 11.4.8 A Chef's Best Meal
11.5 Mutator Methods
Video 11.5.1 Mutator Methods
Check for Understanding 11.5.2 Quiz: Mutators
Example 11.5.3 SuperHero Class with Mutator Methods
Example 11.5.4 Student Setters
Exercise 11.5.5 Rectangle class
Exercise 11.5.6 Full Fraction Class
Exercise 11.5.7 Weekly Routine
11.6 Writing Methods
Video 11.6.1 Writing Methods
Check for Understanding 11.6.2 Quiz: Writing Methods
Example 11.6.3 Triangle Class
Example 11.6.4 Baseball Player Class
Exercise 11.6.5 Distance Conversions
Exercise 11.6.6 Food App Demo
Exercise 11.6.7 Car Class
Resource 11.6.8 Combination Lock FRQ
11.7 Static Variables and Methods
Video 11.7.1 Static Variables and Methods
Check for Understanding 11.7.2 Quiz: Static Methods
Example 11.7.3 Static SuperHero
Example 11.7.4 Static Variables: Circle
Exercise 11.7.5 Randomizer Class
Exercise 11.7.6 Rock, Paper, Scissors!
Exercise 11.7.7 How Many Players in the Game?
11.8 Scope and Access
Video 11.8.1 Scope and Access
Check for Understanding 11.8.2 Quiz: Local Variables and Scope
Example 11.8.3 Instance Variable Scope
Example 11.8.4 Local Variable Scope
Example 11.8.5 Variable Shadowing
Example 11.8.6 Method Decomposition with Trivia
Exercise 11.8.7 Scope
Exercise 11.8.8 Which Variables Exist?
Exercise 11.8.9 Broken Calculator
11.9 this Keyword
Video 11.9.1 this Keyword
Check for Understanding 11.9.2 Quiz: this Keyword
Example 11.9.3 Rectangles and this
Example 11.9.4 Student and this
Exercise 11.9.5 Write Your Own CodeHS
Exercise 11.9.6 Song Class
Exercise 11.9.7 Fraction Math
11.10 Ethical and Social Implications of Computing
Video 11.10.1 Implications of Computing Systems
Free Response 11.10.2 Computing and Your Life
Check for Understanding 11.10.3 Quiz: Ethical and Social Impact
Connection 11.10.4 ACM General Ethical Principles
Free Response 11.10.5 ACM General Ethical Principles
Connection 11.10.6 Bias in Facial Recognition
Free Response 11.10.7 Bias in Facial Recognition
Connection 11.10.8 Self-driving Cars
Free Response 11.10.9 Self-driving Cars
11.11 Writing Classes Quiz
Unit Quiz 11.11.1 Writing Classes Quiz
Example 11.11.2 Using the Rectangle Class as a Client
12. Array
12.1 Array
Video 12.1.1 Introduction to Arrays
Check for Understanding 12.1.2 Quiz: Arrays
Example 12.1.3 Making an Array
Example 12.1.4 Make an Empty Array
Example 12.1.5 Indexing Into an Array
Exercise 12.1.6 Our First Array
Exercise 12.1.7 Set Scores
Exercise 12.1.8 Last Element in Array
Exercise 12.1.9 Snap Shot Splash Screen
12.2 Traversing Arrays
Video 12.2.1 Using Arrays
Check for Understanding 12.2.2 Quiz: Using Arrays
Example 12.2.3 Iterating Over An Array - For Loop
Example 12.2.4 Iterating Over An Array - While Loop
Example 12.2.5 Array Out of Bounds
Example 12.2.6 Finding a Target Value
Exercise 12.2.7 Print Array
Exercise 12.2.8 Print Odd Array Indices
Exercise 12.2.9 Find Index of a String
Free Response 12.2.10 Thinking Ahead: Fibonacci Sequence
Exercise 12.2.11 Fibonacci Sequence
12.3 Enhanced for Loop for Arrays
Video 12.3.1 Enhanced For Loop for Arrays
Check for Understanding 12.3.2 Enhanced For Loop for Arrays
Example 12.3.3 Enhanced For Loop
Example 12.3.4 Classroom Array
Example 12.3.5 Updating Values in a Loop
Exercise 12.3.6 Print Odds
Exercise 12.3.7 Largest Value
Exercise 12.3.8 Classroom Array
Exercise 12.3.9 Array Average
12.4 Developing Algorithms Using Arrays
Video 12.4.1 Developing Algorithms Using Arrays
Check for Understanding 12.4.2 Developing Algorithms Using Arrays
Example 12.4.3 Finding the Minimum Value
Example 12.4.4 Reordering an Array
Example 12.4.5 Finding Duplicates
Exercise 12.4.6 Find the Median
Exercise 12.4.7 Find the Last Multiple of 3
Exercise 12.4.8 Most Improved
Challenge 12.4.9 Car Showroom
12.5 Array Quiz
Unit Quiz 12.5.1 Array Quiz
13. ArrayList
13.1 ArrayList
Video 13.1.1 ArrayLists
Check for Understanding 13.1.2 Quiz: ArrayList
Example 13.1.3 Initializing an ArrayList
Example 13.1.4 Array vs. ArrayList Initialization
Free Response 13.1.5 Arrays vs. ArrayLists
Exercise 13.1.6 Initializing an ArrayList
Exercise 13.1.7 Car Inventory
13.2 ArrayList Methods
Video 13.2.1 ArrayLists Methods
Check for Understanding 13.2.2 Quiz: ArrayList Methods
Example 13.2.3 ArrayList and Java Primitives
Example 13.2.4 ArrayList Methods
Example 13.2.5 Array vs. ArrayList Methods
Exercise 13.2.6 Get First Element
Exercise 13.2.7 ArrayList of Even Numbers
Exercise 13.2.8 Teacher Class List
Exercise 13.2.9 Teacher Class List Methods
13.3 Traversing ArrayLists
Video 13.3.1 Traversing ArrayLists
Check for Understanding 13.3.2 Quiz: Traversing Arrays
Example 13.3.3 Reading List
Example 13.3.4 While Loop ArrayList Traversal
Example 13.3.5 ArrayList Traversing Error
Exercise 13.3.6 Traversing Odds
Exercise 13.3.7 ArrayList Helper Methods
Exercise 13.3.8 Road Trip!
13.4 Developing Algorithms using ArrayLists
Video 13.4.1 Developing Algorithms Using ArrayLists
Check for Understanding 13.4.2 Quiz: Developing Algorithms
Example 13.4.3 Traversing ArrayLists Simultaneously
Example 13.4.4 Inserting Elements While Traversing ArrayLists
Exercise 13.4.5 ArrayList equals
Exercise 13.4.6 Airline Tickets
Exercise 13.4.7 Billboard Top 10
Exercise 13.4.8 User Data Cleanup
13.5 Searching
Video 13.5.1 Linear Search
Check for Understanding 13.5.2 Quiz: Linear Search
Example 13.5.3 Linear Search
Exercise 13.5.4 Linear Search on ArrayList with While Loop
Exercise 13.5.5 Fantasy Football Roster
Resource 13.5.6 Card Collection FRQ
13.6 Sorting
Video 13.6.1 Selection Sort
Check for Understanding 13.6.2 Selection Sort
Example 13.6.3 Selection Sort
Exercise 13.6.4 Explore Selection Sort
Video 13.6.5 Insertion Sort
Check for Understanding 13.6.6 Insertion Sort
Example 13.6.7 Insertion Sort
Example 13.6.8 Visualizing Algorithms
Exercise 13.6.9 Explore Insertion Sort
Example 13.6.10 Selection Sort vs. Insertion Sort Run Time
Free Response 13.6.11 Selection Sort vs. Insertion Sort
Exercise 13.6.12 Phonebook
13.7 Ethical Issues Around Data Collection
Video 13.7.1 Ethical Issues Around Data Collection
Check for Understanding 13.7.2 Ethical Issues Around Data Collection
Connection 13.7.3 The Curly Fry Conundrum
Free Response 13.7.4 Reflection
Connection 13.7.5 Guidelines on Ethical Data Use
Free Response 13.7.6 Issue News Article
Badge 13.7.7 ArrayList Badge
13.8 ArrayList Quiz
Unit Quiz 13.8.1 ArrayList Quiz
14. 2D Array
14.1 2D Arrays
Video 14.1.1 2D Arrays
Check for Understanding 14.1.2 Quiz: 2D Arrays
Example 14.1.3 GradeBook
Example 14.1.4 ChessBoard
Exercise 14.1.5 Manipulating 2D Arrays
Exercise 14.1.6 Complete Chessboard
Exercise 14.1.7 Tic Tac Toe Board
14.2 Traversing 2D Arrays
Video 14.2.1 Traversing 2D Arrays
Check for Understanding 14.2.2 Quiz: Traversing 2D Arrays
Example 14.2.3 Traversing Gradebook
Example 14.2.4 Linear Search 2D Arrays
Example 14.2.5 Row vs. Column Major
Free Response 14.2.6 Row vs. Column Major
Exercise 14.2.7 Sum Rows in a 2D Array
Exercise 14.2.8 Tic Tac Toe Methods
Challenge 14.2.9 Finalizing Tic Tac Toe
Badge 14.2.10 2D Array Badge
14.3 2D Array Quiz
Unit Quiz 14.3.1 2D Array Quiz
15. Recursion
15.1 Recursion
Video 15.1.1 Recursion
Check for Understanding 15.1.2 Quiz: Recursion
Example 15.1.3 Summing
Example 15.1.4 Sum Array
Example 15.1.5 Fibonacci Recursion
Exercise 15.1.6 Factorial
Exercise 15.1.7 Countdown!
Exercise 15.1.8 Recursive Minimum
Exercise 15.1.9 Bacteria Cultures
15.2 Recursive Searching
Video 15.2.1 Recursive Searching
Check for Understanding 15.2.2 Quiz: Recursive Searching
Example 15.2.3 Binary Search
Example 15.2.4 Binary Recursive
Example 15.2.5 Binary vs Linear
Exercise 15.2.6 Exploring Binary Searches
Exercise 15.2.7 Comparing Binary Search and Linear Search
Exercise 15.2.8 Maximum Iterations
15.3 Recursive Sorting
Video 15.3.1 Recursive Sorting
Check for Understanding 15.3.2 Quiz: Recursive Sorting
Example 15.3.3 Merge Sort
Example 15.3.4 Sort Visualizer
Exercise 15.3.5 Explore Merge Sort
Exercise 15.3.6 Merge Sort Benchmark Testing
Exercise 15.3.7 Recursive Calls
Exercise 15.3.8 Sort Benchmark Testing
Free Response 15.3.9 Using Concurrent Processes
15.4 Recursion Quiz
Unit Quiz 15.4.1 Recursion Quiz
16. Exam Practice
16.1 IB Assessment Prep Overview
Notes 16.1.1 IB Assessment Prep Overview
Video 16.1.2 Understanding IB Assessments
Quiz 16.1.3 Quiz: Understanding IB Assessments
Notes 16.1.4 Study Guides Overview
Free Response 16.1.5 Testing Mindset
16.2 Topic 1: System Fundamentals
Notes 16.2.1 System Fundamentals Overview
Free Response 16.2.2 Planning and System Installation
Free Response 16.2.3 User Focus
Free Response 16.2.4 System Backup
Free Response 16.2.5 Software Deployment
Free Response 16.2.6 Hardware, Software, Peripheral, Network, and HR
Free Response 16.2.7 Components of a Computer System
Free Response 16.2.8 System Design and Analysis
Free Response 16.2.9 Human Interaction with the System
16.3 Topic 2: Computer Organization
Free Response 16.3.1 CPU Architecture
Free Response 16.3.2 Memory
Free Response 16.3.3 Operating Systems and Application Systems
Free Response 16.3.4 Binary Representation
Free Response 16.3.5 Simple Logic Gates
16.4 Topic 3: Networks
Free Response 16.4.1 Network Fundamentals
Free Response 16.4.2 Data Transmission
Free Response 16.4.3 Wireless Networking
16.5 Topic 4: Computational Thinking, Problem-solving
Free Response 16.5.1 Thinking Procedurally
Free Response 16.5.2 Thinking Logically
Free Response 16.5.3 Thinking Ahead
Free Response 16.5.4 Thinking Concurrently
Free Response 16.5.5 Thinking Abstractly
Free Response 16.5.6 Program Design - Algorithms
Free Response 16.5.7 Program Design - Pseudocode
Free Response 16.5.8 Nature of Programming Languages
Free Response 16.5.9 Use of Programming Languages
16.6 Topic 5: Object Oriented Programming
Free Response 16.6.1 Modeling Objects to Solve a Problem
Free Response 16.6.2 Key OOP Principles
Free Response 16.6.3 Using OOP in Development
Free Response 16.6.4 Using the Right Language
Exercise 16.6.5 Coding Example
16.7 Practice Exam
Notes 16.7.1 Practice Exam
Connection 16.7.2 IB Practice Exam - Paper 1
Connection 16.7.3 IB Practice Exam - Paper 2