Please enable JavaScript to use CodeHS

Outline


1. System Administration
1.1 Operating Systems
Video 1.1.1 Operating Systems
Check for Understanding 1.1.2 Operating Systems Quiz
Example 1.1.3 Detect My OS
Example 1.1.4 Windows OS Installation Simulation
Free Response 1.1.5 Installing an OS
Connection 1.1.6 Upgrading a Mac OS
1.2 Comparing Operating Systems
Video 1.2.1 Comparing Operating Systems
Check for Understanding 1.2.2 Comparing Operating Systems Quiz
Example 1.2.3 Windows Simulation
Example 1.2.4 MacOS Simulation
Connection 1.2.5 Choose a Linux Distro!
Free Response 1.2.6 Which would you choose?
1.3 Compatibility
Video 1.3.1 Compatibility
Check for Understanding 1.3.2 Compatibility Quiz
Example 1.3.3 What Processor? Windows
Example 1.3.4 What Processor? Mac
Free Response 1.3.5 What Processor are you running?
1.4 Software and Applications
Video 1.4.1 Software and Applications
Check for Understanding 1.4.2 Software and Applications Quiz
Example 1.4.3 Spreadsheet Simulation
Example 1.4.4 Messaging Simulation
Example 1.4.5 Kanban Board Simulation
Free Response 1.4.6 Software Simulations
1.5 Software Licenses
Video 1.5.1 Software Licenses
Check for Understanding 1.5.2 Software Licenses Quiz
Free Response 1.5.3 Do I need a Software License?
Free Response 1.5.4 Is This Original?
1.6 Application Security
Video 1.6.1 Application Security
Check for Understanding 1.6.2 Application Security
Example 1.6.3 Windows Updates
Connection 1.6.4 Windows Defender Antivirus
Free Response 1.6.5 Windows Defender Antivirus
Free Response 1.6.6 CodeHS System Restore
1.7 Browser Configuration
Video 1.7.1 Browser Configuration
Check for Understanding 1.7.2 Browser Configuration
Connection 1.7.3 Cached CodeHS
Free Response 1.7.4 Cached CodeHS
Example 1.7.5 Is Your Popup Blocker On?
Free Response 1.7.6 Browser Extensions Lab
1.8 System Administration
Video 1.8.1 User Accounts
Check for Understanding 1.8.2 User Accounts Quiz
Free Response 1.8.3 User Accounts
Free Response 1.8.4 Shared Folders and Files
Video 1.8.5 Host Security
Check for Understanding 1.8.6 Host Security Quiz
Free Response 1.8.7 Security Baseline
1.9 Command Line Interface
Notes 1.9.1 Linux/MacOS vs. Windows
Video 1.9.2 Command Line Interface
Check for Understanding 1.9.3 Command Line Interface Quiz
Resource 1.9.4 Command Equivalents
Video 1.9.5 Windows Command Prompt
Free Response 1.9.6 Windows Command Prompt
Free Response 1.9.7 Directory Directions
Connection 1.9.8 Neural Interface?
Free Response 1.9.9 Neural Interface?
1.10 System Administration Quiz
Survey 1.10.1 Mindsets
Unit Quiz 1.10.2 System Administration Quiz
2. Networking Fundamentals
2.1 Introduction to the Internet
Video 2.1.1 Welcome to the Internet
Check for Understanding 2.1.2 Intro to the Internet
Connection 2.1.3 Inside Facebook's Connectivity Lab
Free Response 2.1.4 Connectivity Lab Reflection
2.2 Notational Systems
Video 2.2.1 Number Systems
Check for Understanding 2.2.2 Number Systems Quiz
Notes 2.2.3 Number Base Tool
Video 2.2.4 Decimal to Binary
Check for Understanding 2.2.5 Decimal to Binary Quiz
Exercise 2.2.6 Binary Game
2.3 Data Representation
Video 2.3.1 Hexadecimal
Check for Understanding 2.3.2 Hexadecimal Quiz
Exercise 2.3.3 Binary to Hex Game
Video 2.3.4 Encoding Text with Binary
Check for Understanding 2.3.5 Encoding Text with Binary Quiz
Example 2.3.6 Custom Encoding
Example 2.3.7 Bits to ASCII
Exercise 2.3.8 Hello World in Bits
2.4 Internet Hardware and Sending Information
Video 2.4.1 Internet Hardware
Check for Understanding 2.4.2 Internet Hardware
Video 2.4.3 Sending Information
Check for Understanding 2.4.4 Sending Information
Connection 2.4.5 The Internet is in the Ocean
Free Response 2.4.6 Internet in the Ocean Reflection
2.5 Internet Addresses
Video 2.5.1 Internet Addresses
Check for Understanding 2.5.2 Internet Addresses
Free Response 2.5.3 The Need for Addresses
Connection 2.5.4 IPv4 vs. IPv6
Free Response 2.5.5 Reflection: IPv4 vs IPv6
2.6 Domain Name System (DNS)
Video 2.6.1 Domain Name System (DNS)
Check for Understanding 2.6.2 Domain Name System
Connection 2.6.3 How Does DNS Work?
Free Response 2.6.4 How Does DNS Work?
2.7 Routing
Video 2.7.1 Routing
Check for Understanding 2.7.2 Routing
Free Response 2.7.3 Redundancy
2.8 Packets & Protocols
Video 2.8.1 Packets
Check for Understanding 2.8.2 Packets
Video 2.8.3 Protocols
Check for Understanding 2.8.4 Protocols
Connection 2.8.5 How the Internet Works
Free Response 2.8.6 The Journey of an Image
2.9 Viewing a Webpage
Video 2.9.1 Viewing a Webpage
Check for Understanding 2.9.2 Viewing a Webpage
Free Response 2.9.3 Explaining a URL
Connection 2.9.4 Net Neutrality Explained
Connection 2.9.5 FCCs Net Neutrality Rules Officially Repealed
Free Response 2.9.6 Take a Side on Net Neutrality
Connection 2.9.7 Net Neutrality and Cybersecurity
Free Response 2.9.8 Net Neutrality and Cybersecurity Research
2.10 Creative Credit & Copyright
Video 2.10.1 Creative Credit and Copyright
Check for Understanding 2.10.2 Creative Credit and Copyright
Free Response 2.10.3 Cite!
Connection 2.10.4 Exploring Creative Commons
Free Response 2.10.5 Respond: Creative Commons
Free Response 2.10.6 Task: Finding Images
Free Response 2.10.7 Reflection: Why is Copyright Important?
2.11 Impact of the Internet
Video 2.11.1 Impact of the Internet
Check for Understanding 2.11.2 Impact of the Internet
Connection 2.11.3 What is the Digital Divide?
Free Response 2.11.4 What is the Digital Divide?
2.12 Networking Fundamentals Quiz
Survey 2.12.1 Mindsets
Unit Quiz 2.12.2 Networking Fundamentals Quiz
3. Introduction to Programming in Java with Karel the Dog
3.1 Introduction to Programming With Karel
Video 3.1.1 Introduction to Programming With Karel
Check for Understanding 3.1.2 Quiz: Karel Commands
Example 3.1.3 Our First Karel Program
Exercise 3.1.4 Your First Karel Program
Exercise 3.1.5 Short Stack
3.2 More Basic Karel
Video 3.2.1 More Basic Karel
Check for Understanding 3.2.2 More Basic Karel
Example 3.2.3 Tennis Ball Square
Exercise 3.2.4 Make a Tower
Exercise 3.2.5 Pyramid of Karel
3.3 Java Programs and the Run Method
Video 3.3.1 Writing a Java Program
Check for Understanding 3.3.2 Run Method
Example 3.3.3 Square Karel
Exercise 3.3.4 Tower Karel
Exercise 3.3.5 Gold Medal Karel
Exercise 3.3.6 Maze Karel
3.4 Karel Can't Turn Right
Video 3.4.1 Karel Can't Turn Right
Check for Understanding 3.4.2 Karel Can't Turn Right
Example 3.4.3 Tower and Turn Right
Exercise 3.4.4 Slide Karel
Exercise 3.4.5 Fireman Karel
Badge 3.4.6 Right Turn Karel Badge
3.5 Methods in Karel
Video 3.5.1 Methods in Karel
Check for Understanding 3.5.2 Methods in Karel
Example 3.5.3 Turn Around
Exercise 3.5.4 Planting Bushes
Exercise 3.5.5 Mario Karel
3.6 Top Down Design and Decomposition in Karel
Video 3.6.1 Top Down Design and Decomposition in Karel
Check for Understanding 3.6.2 Top Down Design and Decomposition
Example 3.6.3 Hurdle Karel
Exercise 3.6.4 The Two Towers
Exercise 3.6.5 Planting Flowers
3.7 Commenting Your Code
Video 3.7.1 Commenting Your Code
Check for Understanding 3.7.2 Commenting Your Code
Example 3.7.3 Hurdle Karel (Comments)
Exercise 3.7.4 The Two Towers + Comments
3.8 Super Karel
Video 3.8.1 Super Karel
Check for Understanding 3.8.2 Super Karel
Example 3.8.3 Hurdle Karel (with SuperKarel)
Exercise 3.8.4 The Two Towers + SuperKarel
Badge 3.8.5 Super Karel Badge
3.9 For Loops
Video 3.9.1 For Loops
Check for Understanding 3.9.2 For Loops
Example 3.9.3 Repeated Move
Example 3.9.4 Put Down Tennis Balls
Exercise 3.9.5 Marathon Karel
Exercise 3.9.6 Take 'em All
Exercise 3.9.7 Dizzy Karel
Exercise 3.9.8 For Loop Square
Exercise 3.9.9 Planting Flowers
Exercise 3.9.10 Lots of Hurdles
3.10 While Loops in Karel
Video 3.10.1 While Loops in Karel
Check for Understanding 3.10.2 While Loops in Karel
Example 3.10.3 Move to Wall
Exercise 3.10.4 Follow The Yellow Ball Road
Exercise 3.10.5 Just Keep Spinning
Exercise 3.10.6 Lay Row of Tennis Balls
Exercise 3.10.7 Big Tower
3.11 If Statements
Video 3.11.1 If Statements
Check for Understanding 3.11.2 If Statements Quiz
Example 3.11.3 If Statements
Example 3.11.4 Safe Take Ball
Exercise 3.11.5 Is There a Ball?
3.12 If/Else Statements
Video 3.12.1 If/Else Statements
Check for Understanding 3.12.2 If/Else Statements
Example 3.12.3 Flip Karel
Exercise 3.12.4 Fix It Karel
Exercise 3.12.5 Invert
Badge 3.12.6 Conditional Karel Badge
3.13 Control Structures Example
Video 3.13.1 Control Structures Example
Check for Understanding 3.13.2 Control Structures Example
Example 3.13.3 Cleanup Karel
Exercise 3.13.4 Random Hurdles
Exercise 3.13.5 Fix It Karel
3.14 More Karel Examples and Testing
Video 3.14.1 More Karel Examples and Testing
Example 3.14.2 Move Tennis Ball Stack
Example 3.14.3 Climbing Karel
3.15 How to Indent Your Code
Video 3.15.1 How to Indent Your Code
Check for Understanding 3.15.2 How to Indent Your Code
Example 3.15.3 Dance and Clean Karel
Exercise 3.15.4 Diagonal
Exercise 3.15.5 Staircase
Badge 3.15.6 Karel Exercises Badge
3.16 Karel Challenges
Challenge 3.16.1 Fetch
Challenge 3.16.2 Racing Karel
Challenge 3.16.3 Tower Builder
Challenge 3.16.4 Super Cleanup Karel
Challenge 3.16.5 Double Tennis Balls
Challenge 3.16.6 Midpoint Karel
Badge 3.16.7 Karel Challenges Badge
3.17 Introduction to Programming in Java Quiz
Unit Quiz 3.17.1 Introduction to Programming in Java Quiz Unit 1
4. Basic Java
4.1 Programming Fundamentals
Video 4.1.1 Programming Languages
Quiz 4.1.2 Programming Languages
Connection 4.1.3 Compilers vs. Interpreters
Free Response 4.1.4 Compilers vs. Interpreters
Resource 4.1.5 How to Choose a Programming Language
Free Response 4.1.6 How to Choose a Programming Language Free Response
4.2 Printing in Java
Video 4.2.1 Printing in Java
Check for Understanding 4.2.2 Printing in Java
Example 4.2.3 Hello world
Example 4.2.4 Printing Multiple Lines
Exercise 4.2.5 Welcome Program
Exercise 4.2.6 ASCII Art
4.3 Variables and Types
Video 4.3.1 Variables and Types
Check for Understanding 4.3.2 Variables and Types
Example 4.3.3 Variables
Exercise 4.3.4 Our First Integer
Exercise 4.3.5 Answering Questions
4.4 User Input
Video 4.4.1 User Input
Check for Understanding 4.4.2 User Input
Example 4.4.3 UserInput
Exercise 4.4.4 About You
Exercise 4.4.5 Poetry
Badge 4.4.6 User Input Badge
4.5 Arithmetic Expressions
Video 4.5.1 Arithmetic Expressions
Check for Understanding 4.5.2 Arithmetic Expressions
Example 4.5.3 Calculator
Example 4.5.4 Tricky Java
Exercise 4.5.5 Weight of a Pyramid
Exercise 4.5.6 Add Fractions
4.6 Casting
Video 4.6.1 Casting
Check for Understanding 4.6.2 Casting
Example 4.6.3 Casting
Exercise 4.6.4 Casting to an Int
Exercise 4.6.5 Casting to a Double
Example 4.6.6 Casting Order of Operations
Example 4.6.7 Rounding using Casting
Exercise 4.6.8 Movie Ratings
4.7 Booleans
Video 4.7.1 Booleans
Check for Understanding 4.7.2 Booleans
Example 4.7.3 Boolean Example
Exercise 4.7.4 Ice Cream
Badge 4.7.5 Booleans Badge
4.8 Logical Operators
Video 4.8.1 Logical Operators
Check for Understanding 4.8.2 Logical Operators
Example 4.8.3 Light Switch
Exercise 4.8.4 Roller Coaster
4.9 Comparison Operators
Video 4.9.1 Comparison Operators
Check for Understanding 4.9.2 Comparison Operators
Example 4.9.3 Grade Range
Exercise 4.9.4 Triple Double
4.10 For Loops
Video 4.10.1 For Loops
Check for Understanding 4.10.2 For Loops
Example 4.10.3 The For Loop
Exercise 4.10.4 Repeat 1000 Times
Video 4.10.5 General For Loop
Example 4.10.6 Countdown
Example 4.10.7 Count By Twos
Exercise 4.10.8 Print The Odds
Video 4.10.9 For Loop Examples
Example 4.10.10 For Loop Sum
Exercise 4.10.11 Factorial
4.11 While Loops
Video 4.11.1 While Loops
Check for Understanding 4.11.2 While Loops
Example 4.11.3 While Loop Countdown
Exercise 4.11.4 Making Taffy
4.12 If Statements
Video 4.12.1 If Statements
Check for Understanding 4.12.2 If Statements
Example 4.12.3 Negative Numbers
Example 4.12.4 Even and Odd
Exercise 4.12.5 Find the Minimum
Exercise 4.12.6 How Was Dinner?
4.13 Loop-and-a-Half
Video 4.13.1 Loop-and-a-Half
Check for Understanding 4.13.2 Loop-and-a-Half Quiz
Example 4.13.3 Running Average
Exercise 4.13.4 Guess the Number
Badge 4.13.5 Looper Badge
4.14 Short-Circuit Evaluation
Video 4.14.1 Short-Circuit Evaluation
Check for Understanding 4.14.2 Short-Circuit Evaluation Quiz
Example 4.14.3 Pizza Slices
Exercise 4.14.4 Divisibility
4.15 De Morgan's Laws
Video 4.15.1 De Morgan's Laws
Check for Understanding 4.15.2 De Morgan's Laws Quiz
Example 4.15.3 De Morgan AND
Example 4.15.4 De Morgan OR
Exercise 4.15.5 Amusement Park
4.16 Strings
Video 4.16.1 Strings
Check for Understanding 4.16.2 Strings
Example 4.16.3 Comparing Strings
Exercise 4.16.4 Three Strings
Badge 4.16.5 Basic Java Exercises Badge
4.17 Basic Java Quiz
Unit Quiz 4.17.1 Basic Java Quiz
5. Methods
5.1 Java Methods
Video 5.1.1 Java Methods
Check for Understanding 5.1.2 Java Methods
Example 5.1.3 Print Line Break
Exercise 5.1.4 Print Karel
5.2 Methods and Parameters
Video 5.2.1 Methods and Parameters
Check for Understanding 5.2.2 Methods and Parameters
Example 5.2.3 Line Breaks with Parameters
Example 5.2.4 Sum
Exercise 5.2.5 Product
Exercise 5.2.6 Add10
Exercise 5.2.7 Countdown From
Exercise 5.2.8 Repeating Message
5.3 Methods and Return Values
Video 5.3.1 Methods and Return Values
Check for Understanding 5.3.2 Return Value
Example 5.3.3 Methods and Return Values
Practice 5.3.4 Double Number
Practice 5.3.5 Square
Practice 5.3.6 Average
5.4 Javadocs and More Methods
Video 5.4.1 Javadocs
Check for Understanding 5.4.2 Javadocs
Example 5.4.3 Javadoc Sum
Practice 5.4.4 Is in Range
Practice 5.4.5 Sum Range
Practice 5.4.6 Is Divisible
Practice 5.4.7 Fahrenheit to Celsius
Badge 5.4.8 Methods Badge
5.5 Strings Methods
Video 5.5.1 String Methods
Check for Understanding 5.5.2 String Methods
Example 5.5.3 Looping Over a String
Practice 5.5.4 Yelling
Practice 5.5.5 Porky Pig
Practice 5.5.6 Triple String
Practice 5.5.7 Full Name
Practice 5.5.8 Repeating String
5.6 Strings and Characters
Video 5.6.1 Strings and Characters
Example 5.6.2 Chars are Numbers
Example 5.6.3 Escape Sequences
Example 5.6.4 Character Methods
Practice 5.6.5 Is it an Integer?
5.7 Exceptions
Video 5.7.1 Exceptions
Check for Understanding 5.7.2 Exceptions Quiz
Example 5.7.3 Arithmetic Exception
Example 5.7.4 Index Out Of Bounds Exception
Exercise 5.7.5 Bug Hunter
5.8 String Processing
Video 5.8.1 String Processing
Check for Understanding 5.8.2 String Processing
Example 5.8.3 Finding Palindromes
Example 5.8.4 String Concatenation
Practice 5.8.5 Fix the Sum String
Practice 5.8.6 Convert To Uppercase
Practice 5.8.7 Double Vowels
Practice 5.8.8 All Same Letter
Practice 5.8.9 AltCase
Practice 5.8.10 Do the Brackets Match?
Practice 5.8.11 Teen Talk
Practice 5.8.12 Fixing Grammar
Practice 5.8.13 Password Checker
Practice 5.8.14 Replace Letter
Badge 5.8.15 Methods Exercises Badge
5.9 Methods Quiz
Unit Quiz 5.9.1 Methods Quiz
6. Classes and Object-Oriented Programming
6.1 Introduction to Classes and Objects
Video 6.1.1 What is a Class?
Check for Understanding 6.1.2 Quiz: Classes and Objects
Example 6.1.3 The Rectangle Class
Example 6.1.4 The Point Class
Example 6.1.5 The Student Class
Exercise 6.1.6 Using the Rectangle Class
Exercise 6.1.7 Calling A Method
Exercise 6.1.8 Using the Point Class
Exercise 6.1.9 Using the Student Class
6.2 Classes vs. Objects
Video 6.2.1 Classes and Objects
Check for Understanding 6.2.2 Classes vs. Objects vs. Instances
Example 6.2.3 Classes, Objects, and Instances
Example 6.2.4 Creating Rectangle Objects
Exercise 6.2.5 Text Messages
6.3 Using a Class as a Client
Video 6.3.1 How to Use a Class
Check for Understanding 6.3.2 Quiz: Client of a Class
Example 6.3.3 Using the Rectangle Class as a Client
Example 6.3.4 Using the Randomizer Class as a Client
Exercise 6.3.5 Coin Flips
Exercise 6.3.6 Longest Streak
Example 6.3.7 Testing the GeoLocation Class
Exercise 6.3.8 How Far Away is ...?
Badge 6.3.9 Client Badge
6.4 Writing Classes
Video 6.4.1 Constructors
Check for Understanding 6.4.2 Quiz: Constructors
Example 6.4.3 Rectangle toString
Example 6.4.4 Student toString
Exercise 6.4.5 toString for Flowers
Exercise 6.4.6 Instance Variables for Your Dog
Exercise 6.4.7 Student GPA Field
Free Response 6.4.8 Free Response: What instance variables?
Exercise 6.4.9 Pizza Time!
Exercise 6.4.10 Fractions
6.5 Writing Classes and Instance Methods
Video 6.5.1 Writing Instance Methods
Check for Understanding 6.5.2 Quiz: Writing Methods
Example 6.5.3 Area of a Rectangle
Example 6.5.4 Moving a Point
Exercise 6.5.5 Writing getPerimeter()
Exercise 6.5.6 Honors Students
Exercise 6.5.7 Batting Average
Exercise 6.5.8 Distance in Kilometers
Resource 6.5.9 Combination Lock FRQ
6.6 Getter and Setter Methods
Video 6.6.1 Getter and Setter Methods
Check for Understanding 6.6.2 Quiz: Getter and Setter Methods
Example 6.6.3 Rectangle Getter Methods
Example 6.6.4 Student Getter Methods
Exercise 6.6.5 Text Messages Getter Methods
Exercise 6.6.6 Fractions Getter/Setter Methods
Exercise 6.6.7 Full Fraction Class
Exercise 6.6.8 Full Dragon Class
Exercise 6.6.9 A Different Dragon Class
6.7 Class Methods and Class Variables
Video 6.7.1 Static Methods and Variables (Class Methods and Class Variables)
Check for Understanding 6.7.2 Quiz: Static Methods
Example 6.7.3 Student Class Variables and Methods
Example 6.7.4 Using the Math Class
Example 6.7.5 Using Randomizer
Example 6.7.6 Static Variables: Circle
Exercise 6.7.7 The Unit Circle
Exercise 6.7.8 How Many Players in the Game?
Exercise 6.7.9 Circle Area, another way
Practice 6.7.10 Rock, Paper, Scissors: Get Winner
Exercise 6.7.11 Rock, Paper, Scissors!
6.8 Wrapper Classes
Video 6.8.1 Wrapper Classes
Check for Understanding 6.8.2 Quiz: Wrapper Classes
Example 6.8.3 Creating Integers
Example 6.8.4 Using Doubles
Example 6.8.5 Autoboxing Example
Exercise 6.8.6 Order Up!
Exercise 6.8.7 Currency
Exercise 6.8.8 Guess the number!
6.9 Method Overloading
Video 6.9.1 Method Overloading
Check for Understanding 6.9.2 Method Overloading Quiz
Example 6.9.3 Sum Method Overloading
Example 6.9.4 Constructor Overloading
Exercise 6.9.5 Average Method Overloading
Badge 6.9.6 Overloading Badge
6.10 Local Variables and Scope
Video 6.10.1 Local Variables and Scope
Check for Understanding 6.10.2 Local Variables and Scope Quiz
Example 6.10.3 Instance Variable Scope
Example 6.10.4 Local Variable Scope
Example 6.10.5 Variable Shadowing
Exercise 6.10.6 Which Variables Exist?
6.11 Key Terms for Classes
Video 6.11.1 Key Terms for Classes
Check for Understanding 6.11.2 Quiz: This Keyword
Example 6.11.3 Rectangles and this
Exercise 6.11.4 Batteries
Exercise 6.11.5 Write Your Own CodeHS
6.12 Objects vs Primitives
Video 6.12.1 Objects vs Primitives
Check for Understanding 6.12.2 Objects vs Primitives Quiz
Example 6.12.3 Comparing Rectangles
Example 6.12.4 Changing Dogs
Example 6.12.5 Null Pointer Exception
Free Response 6.12.6 Objects vs Primitives
Exercise 6.12.7 Comparing Circles
6.13 Inheritance
Video 6.13.1 Inheritance
Check for Understanding 6.13.2 Quiz: Subclasses and Superclasses
Example 6.13.3 Square is a Rectangle
Exercise 6.13.4 Clothing Store
Badge 6.13.5 Inheritance Badge
6.14 Class Design and Abstract Classes
Video 6.14.1 Class Design and Abstract Classes
Check for Understanding 6.14.2 Quiz: Class Design
Example 6.14.3 The Shape Hierarchy
Example 6.14.4 Classes for Dessert
Exercise 6.14.5 Finding The Perimeters
6.15 Polymorphism
Video 6.15.1 Polymorphism
Check for Understanding 6.15.2 Quiz: Polymorphism
Example 6.15.3 Animal Sounds
Example 6.15.4 Shape Areas
Exercise 6.15.5 Fun with Solids
6.16 Object Superclass
Video 6.16.1 Object Superclass
Check for Understanding 6.16.2 Quiz: Object Superclass
Example 6.16.3 Default Values
Example 6.16.4 Override toString
Example 6.16.5 Override equals
Exercise 6.16.6 Equal?
Exercise 6.16.7 Equals? - Part 2
Exercise 6.16.8 Equal Rectangles
Exercise 6.16.9 2D Array Tester
6.17 Interfaces
Video 6.17.1 Interfaces
Check for Understanding 6.17.2 Quiz: Interfaces
Example 6.17.3 Comparable Interface
Example 6.17.4 Summable Interface
Exercise 6.17.5 Fraction is Comparable
Exercise 6.17.6 City is Summable
Badge 6.17.7 Classes and Object-Oriented Programming Badge
6.18 Ethical and Social Implications of Computing
Video 6.18.1 Implications of Computing Systems
Free Response 6.18.2 Computing and Your Life
Check for Understanding 6.18.3 Quiz: Ethical and Social Impact
Connection 6.18.4 ACM General Ethical Principles
Free Response 6.18.5 ACM General Ethical Principles
Connection 6.18.6 Bias in Facial Recognition
Free Response 6.18.7 Bias in Facial Recognition
Connection 6.18.8 Self-driving Cars
Free Response 6.18.9 Self-driving Cars
6.19 Classes and Object-Oriented Programming Quiz
Unit Quiz 6.19.1 Classes and Object-Oriented Programming Quiz
7. Data Structures
7.1 What are Data Structures?
Video 7.1.1 What are Data Structures?
Check for Understanding 7.1.2 Quiz: Data Structures
Free Response 7.1.3 Data Structures Everywhere
7.2 Introduction to Arrays
Video 7.2.1 Introduction to Arrays
Check for Understanding 7.2.2 Quiz: Arrays
Example 7.2.3 Making an Array
Example 7.2.4 Make an Empty Array
Example 7.2.5 Indexing Into an Array
Exercise 7.2.6 Our First Array
Practice 7.2.7 Array Length
Practice 7.2.8 Last Element in Array
7.3 Using Arrays
Video 7.3.1 Using Arrays
Check for Understanding 7.3.2 Quiz: Using Arrays
Example 7.3.3 Iterating Over an Array
Example 7.3.4 Sum Array
Example 7.3.5 Array Out of Bounds
Exercise 7.3.6 Print Array
Exercise 7.3.7 Print Odd Array Indices
Practice 7.3.8 Find the Last Multiple of 3
Example 7.3.9 Classroom Example
Example 7.3.10 Exam Scores
Example 7.3.11 Array References
Practice 7.3.12 Find the Median
Exercise 7.3.13 Most Improved
Badge 7.3.14 Arrays Badge
7.4 Enhanced For Loops
Video 7.4.1 Enhanced For Loops
Check for Understanding 7.4.2 Enhanced For Loop
Example 7.4.3 Enhanced For Loop
Example 7.4.4 Classroom Array
Example 7.4.5 Updating Values in a Loop
Exercise 7.4.6 Print Odds
Exercise 7.4.7 Largest Value
Exercise 7.4.8 Classroom Array
Exercise 7.4.9 Array Average
7.5 ArrayList Methods
Video 7.5.1 ArrayLists
Check for Understanding 7.5.2 Quiz: ArrayList
Example 7.5.3 Hello World ArrayList
Example 7.5.4 ArrayList and Java Primitives
Example 7.5.5 ArrayList Size Method
Exercise 7.5.6 Get First Element
Example 7.5.7 Reading List
Example 7.5.8 Texting in Class
Exercise 7.5.9 Road Trip!
Resource 7.5.10 MagicalWorld Candy FRQ
7.6 Arrays vs ArrayLists
Video 7.6.1 Arrays vs ArrayLists
Check for Understanding 7.6.2 Quiz: Arrays vs ArrayList
Example 7.6.3 Expanding Array
Exercise 7.6.4 Improving Expanding Array
Example 7.6.5 Array vs ArrayList
Resource 7.6.6 Seat Assignments FRQ
7.7 Additional Loop Examples
Video 7.7.1 Additional Loop Examples
Check for Understanding 7.7.2 Additional Loop Examples
Example 7.7.3 For and While Loops
Example 7.7.4 ArrayList Traversing Error
Example 7.7.5 Traversing ArrayLists Simultaneously
Exercise 7.7.6 Replace FOR Loop with WHILE Loop
Exercise 7.7.7 Traversing Odds
Exercise 7.7.8 ArrayList Equals
7.8 The List Interface
Video 7.8.1 The List Interface
Check for Understanding 7.8.2 The List Interface Quiz
Example 7.8.3 Reverse the List
Practice 7.8.4 Summer Reading Short List
7.9 2D Arrays (Matrices or Grids)
Video 7.9.1 2D Arrays
Check for Understanding 7.9.2 Quiz: 2D Arrays
Example 7.9.3 Nested Loops
Practice 7.9.4 Ice Cream Combos
Example 7.9.5 First 2D Array
Example 7.9.6 Initializing a 2D Array
Example 7.9.7 The Matrix
Practice 7.9.8 Sum Rows in a Matrix
Badge 7.9.9 Matrix Badge
7.10 Traversing 2D Arrays
Video 7.10.1 Traversing 2D Arrays
Check for Understanding 7.10.2 Quiz: Traversing 2D Arrays
Example 7.10.3 Traversing Gradebook
Example 7.10.4 Linear Search 2D Arrays
Example 7.10.5 Row vs. Column Major
Free Response 7.10.6 Row vs. Column Major
Exercise 7.10.7 Sum Rows in a 2D Array
Exercise 7.10.8 Tic Tac Toe Methods
Challenge 7.10.9 Finalizing Tic Tac Toe
7.11 HashMaps
Video 7.11.1 HashMaps
Check for Understanding 7.11.2 Quiz: HashMaps
Example 7.11.3 The Phonebook
Exercise 7.11.4 Word Counts
Free Response 7.11.5 Word Counts Reflection
7.12 Binary
Video 7.12.1 Number Systems
Check for Understanding 7.12.2 Number Systems Quiz
Example 7.12.3 Converting Octal to Decimal
Practice 7.12.4 Converting Binary to Decimal
Video 7.12.5 Using Binary
Check for Understanding 7.12.6 Using Binary Quiz
Example 7.12.7 Integer Limits
Exercise 7.12.8 Binary Translator
Resource 7.12.9 Genres Galore Online Shop FRQ
7.13 Ethical Issues Around Data Collection
Video 7.13.1 Ethical Issues Around Data Collection
Check for Understanding 7.13.2 Ethical Issues Around Data Collection
Connection 7.13.3 The Curly Fry Conundrum
Free Response 7.13.4 Reflection
Connection 7.13.5 Guidelines on Ethical Data Use
Free Response 7.13.6 Issue News Article
Badge 7.13.7 ArrayList Badge
7.14 Data Structures Quiz
Unit Quiz 7.14.1 Data Structures Quiz
8. Steganography Lab
8.1 Activity 1: Exploring Color
Resource 8.1.1 Steganography Student Lab
Free Response 8.1.2 Picture Lab A1: Digital Pictures and Color
Free Response 8.1.3 Exploring Color
Example 8.1.4 Clearing Bits
Free Response 8.1.5 Clearing Bits Responses
Exercise 8.1.6 Changing Colors
Free Response 8.1.7 Changing Colors Response
Exercise 8.1.8 Setting Bits
Connection 8.1.9 Bits vs Vectors
Free Response 8.1.10 Bits vs Vectors
8.2 Activity 2: Hiding and Revealing a Picture
Free Response 8.2.1 Hiding and Revealing
Exercise 8.2.2 Hiding and Revealing
8.3 Activity 3: Identifying a Hidden Picture
Exercise 8.3.1 Identifying a Hidden Picture
Free Response 8.3.2 Identify a Hidden Picture: Check Your Understanding
8.4 Activity 4: Hiding and Revealing a Text Message
Free Response 8.4.1 Hiding and Revealing a Text Message Intro
Exercise 8.4.2 Hiding and Revealing a Text Message
Free Response 8.4.3 Hiding and Revealing; Check your Understanding
8.5 Activity 5: Open Ended Project
Exercise 8.5.1 Open Ended Project
9. Algorithms and Recursion
9.1 What is an Algorithm?
Video 9.1.1 What is an Algorithm?
Free Response 9.1.2 Every Day Algorithms
Connection 9.1.3 Big O Notation
Free Response 9.1.4 Big O Notation
9.2 Linear Search
Video 9.2.1 Linear Search
Example 9.2.2 Linear Search
Practice 9.2.3 Linear Search on ArrayList
Resource 9.2.4 Gradebook FRQ
9.3 Binary Search
Video 9.3.1 Binary Search
Check for Understanding 9.3.2 Binary Search
Example 9.3.3 Binary Search
Exercise 9.3.4 Comparing Binary Search and Linear Search
Badge 9.3.5 Binary Search Badge
9.4 Selection Sort
Video 9.4.1 Selection Sort
Check for Understanding 9.4.2 Selection Sort
Example 9.4.3 Selection Sort
Example 9.4.4 Visualizing Algorithms
Exercise 9.4.5 Explore Selection Sort
9.5 Insertion Sort
Video 9.5.1 Insertion Sort
Check for Understanding 9.5.2 Insertion Sort
Example 9.5.3 Visualizing Algorithms
Example 9.5.4 Insertion Sort
Exercise 9.5.5 Explore Insertion Sort
Connection 9.5.6 Bubble Sort
Free Response 9.5.7 Bubble Sort Free Response
9.6 Advanced: Recursion
Video 9.6.1 Recursion
Example 9.6.2 Factorial
Practice 9.6.3 Factorial Unit Test Example
Video 9.6.4 Recursion Walkthrough
Example 9.6.5 Recursion Example
Example 9.6.6 Recursive Binary Search
Example 9.6.7 Fibonacci Recursive
Practice 9.6.8 Bacteria Cultures
Practice 9.6.9 Recursive Minimum
AP Practice 9.6.10 AP Multiple Choice Practice
9.7 Mergesort
Video 9.7.1 Mergesort
Example 9.7.2 Visualizing Algorithms
Example 9.7.3 Merge Sort
Exercise 9.7.4 Explore Merge Sort
Badge 9.7.5 Algorithms Badge
9.8 Informal Code Analysis
Video 9.8.1 Informal Code Analysis
Check for Understanding 9.8.2 Informal Code Analysis
Example 9.8.3 Loop Execution Count
Example 9.8.4 While Loop Time
Example 9.8.5 For Loop Time
Free Response 9.8.6 Time Comparisons
Exercise 9.8.7 Improving isChar Speed
Example 9.8.8 Improving isChar Speed Check
Free Response 9.8.9 isChar Speed Reflection
9.9 Algorithms and Recursion Quiz
Unit Quiz 9.9.1 Algorithms and Recursion Quiz
10. Celebrity Lab
10.1 Activity 1: Introduction to Celebrity
Free Response 10.1.1 Introduction to Celebrity
10.2 Activity 2: The Celebrity Class: A Simple Version
Free Response 10.2.1 Celebrity Class: A Simple Version
Exercise 10.2.2 Celebrity Constructor
10.3 Activity 3: Putting it All Together
Exercise 10.3.1 Set up Constructors
Exercise 10.3.2 Setting up the Game
Exercise 10.3.3 Complete Game Play Methods
Free Response 10.3.4 Check Your Understanding
10.4 Activity 4: Extending the Celebrity Class
Free Response 10.4.1 Extending the Celebrity Class
Example 10.4.2 Literature Celebrity
Exercise 10.4.3 Custom Celebrity
Exercise 10.4.4 Updating CelebrityGame
Exercise 10.4.5 Updating the GUI
10.5 Activity 5: Open Ended Activity
Free Response 10.5.1 Open Ended Activity
11. Final Project
11.1 Project Overview
Resource 11.1.1 Final Project Overview
Connection 11.1.2 Innovative Brainstorm
Free Response 11.1.3 Innovative Brainstorm
11.2 Planning Your Project
Free Response 11.2.1 Determine your Objectives
Free Response 11.2.2 Create a Project Timeline
11.3 Creating Your Project
Free Response 11.3.1 Create your Project
11.4 Providing Feedback
Connection 11.4.1 Evaluating an Innovation
Free Response 11.4.2 Evaluating an Innovation
Free Response 11.4.3 User Testing 1
Free Response 11.4.4 User Testing 2
11.5 Presenting your Innovation
Free Response 11.5.1 Make Changes and Update Version
Presentation 11.5.2 Present your Innovation
11.6 Challenge: Take your Innovation Off CodeHS
Notes 11.6.1 Take your Innovation Off CodeHS
Video 11.6.2 Java Outside of CodeHS
Video 11.6.3 Hello World in Eclipse
Video 11.6.4 Hello World in BlueJ
Video 11.6.5 Hello World in Terminal