Please enable JavaScript to use CodeHS

Outline


1. Welcome
1.1 Welcome
Video 1.1.1 Welcome
Free Response 1.1.2 Welcome
2. Karel in Python
2.1 Introduction to Programming With Karel
Video 2.1.1 Introduction to Programming With Karel
Check for Understanding 2.1.2 Quiz: Karel Commands
Example 2.1.3 Our First Karel Program
Exercise 2.1.4 Your First Karel Program
Exercise 2.1.5 Short Stack
Debugging 2.1.6 Dancing Karel
2.2 More Basic Karel
Video 2.2.1 More Basic Karel
Check for Understanding 2.2.2 More Basic Karel Quiz
Example 2.2.3 Tennis Ball Square
Exercise 2.2.4 Make a Tower
Exercise 2.2.5 Pyramid of Karel
Debugging 2.2.6 Go Through the Door
2.3 Karel Can't Turn Right
Video 2.3.1 Karel Can't Turn Right
Check for Understanding 2.3.2 Karel Can't Turn Right Quiz
Example 2.3.3 Tower and Turn Right
Exercise 2.3.4 Fireman Karel
Exercise 2.3.5 Slide Karel
Free Response 2.3.6 Reflection: Teaching Karel New Commands
Badge 2.3.7 Right Turn Karel Badge
2.4 Functions in Karel
Video 2.4.1 Functions in Karel
Check for Understanding 2.4.2 Functions in Karel Quiz
Example 2.4.3 Turn Around
Exercise 2.4.4 Pancakes
Exercise 2.4.5 Backflip
Exercise 2.4.6 Digging Karel
Debugging 2.4.7 Build a Shelter
2.5 Top Down Design and Decomposition in Karel
Video 2.5.1 Top Down Design and Decomposition in Karel
Check for Understanding 2.5.2 Top Down Design and Decomposition Quiz
Example 2.5.3 Hurdle Karel
Exercise 2.5.4 The Two Towers
Debugging 2.5.5 Make a 'Z'
Free Response 2.5.6 Reflection: Top Down Design
2.6 Commenting Your Code
Video 2.6.1 Commenting Your Code
Check for Understanding 2.6.2 Commenting Your Code Quiz
Example 2.6.3 Hurdle Karel
Exercise 2.6.4 The Two Towers + Comments
Free Response 2.6.5 Reflection: Commenting
2.7 Abstraction
Video 2.7.1 Abstraction
Check for Understanding 2.7.2 Abstraction Quiz
Example 2.7.3 Abstracting Away build_tower
Free Response 2.7.4 Abstracting Your Day
Free Response 2.7.5 Reflection: Abstraction
Free Response 2.7.6 Reflection: Abstraction in Karel
2.8 Super Karel
Video 2.8.1 Super Karel
Check for Understanding 2.8.2 Super Karel Quiz
Example 2.8.3 Hurdle Karel (with SuperKarel)
Exercise 2.8.4 The Two Towers + SuperKarel
Badge 2.8.5 Super Karel Badge
2.9 For Loops
Video 2.9.1 For Loops
Check for Understanding 2.9.2 For Loops Quiz
Example 2.9.3 Repeated Move
Example 2.9.4 Put Down Tennis Balls
Exercise 2.9.5 Take 'em All
Exercise 2.9.6 Dizzy Karel
Exercise 2.9.7 For Loop Square
Exercise 2.9.8 Lots of Hurdles
2.10 If Statements
Video 2.10.1 If Statements
Check for Understanding 2.10.2 If Statements Quiz
Example 2.10.3 If Statements
Example 2.10.4 Safe Take Ball
Exercise 2.10.5 Is There a Ball?
Survey 2.10.6 Mindsets
2.11 If/Else Statements
Video 2.11.1 If/Else Statements
Check for Understanding 2.11.2 If/Else Statements Quiz
Example 2.11.3 If/Else Statements
Example 2.11.4 One Ball in Each Spot
Exercise 2.11.5 Right Side Up
Badge 2.11.6 Conditional Karel Badge
2.12 While Loops in Karel
Video 2.12.1 While Loops in Karel
Check for Understanding 2.12.2 While Loops in Karel Quiz
Example 2.12.3 Move to Wall
Exercise 2.12.4 Follow The Yellow Ball Road
Exercise 2.12.5 Lay Row of Tennis Balls
Exercise 2.12.6 Big Tower
2.13 Control Structures Example
Video 2.13.1 Control Structures Example
Check for Understanding 2.13.2 Control Structures Example Quiz
Example 2.13.3 Cleanup Karel
Exercise 2.13.4 Random Hurdles
2.14 Debugging Strategies
Video 2.14.1 Debugging Basics
Check for Understanding 2.14.2 Debugging Basics
Debugging 2.14.3 Debug: The Two Towers
Debugging 2.14.4 Debug: Lots of Hurdles
Video 2.14.5 Debugging From Error Messages
Check for Understanding 2.14.6 Debugging with Error Messages
Debugging 2.14.7 Debug: Big Tower
Debugging 2.14.8 Debug: Random Hurdles
2.15 Algorithms
Video 2.15.1 Karel Algorithms
Check for Understanding 2.15.2 Quiz: Which Control Structure?
Video 2.15.3 Algorithms Example: Move Stack
Example 2.15.4 Move Tennis Ball Stack
Example 2.15.5 Climbing Karel
Exercise 2.15.6 Decorate the Fence
2.16 Ultra Karel
Video 2.16.1 Ultra Karel
Check for Understanding 2.16.2 Ultra Karel Quiz
Example 2.16.3 Red Frame
Example 2.16.4 Slip 'n Slide
Exercise 2.16.5 Invert Colors
Exercise 2.16.6 Checkerboard Karel
Badge 2.16.7 Karel Exercises Badge
2.17 Karel Challenges
Challenge 2.17.1 Fetch
Challenge 2.17.2 Racing Karel
Challenge 2.17.3 Tower Builder
Challenge 2.17.4 Super Cleanup Karel
Challenge 2.17.5 Double Tennis Balls
Badge 2.17.6 Programming with Karel Bootcamp Badge
2.18 Introduction to Programming Quiz
Unit Quiz 2.18.1 Introduction to Programming Quiz
3. Basic Python and Console Interaction
3.1 Printing in Python
Video 3.1.1 Printing in Python
Check for Understanding 3.1.2 Printing in Python
Example 3.1.3 Hello, world!
Example 3.1.4 Printing Multiple Lines
Exercise 3.1.5 Introduce Yourself
Debugging 3.1.6 Fix This Program!
Exercise 3.1.7 Vertical name
3.2 Variables and Types
Video 3.2.1 Variables and Types
Check for Understanding 3.2.2 Variables and Types
Example 3.2.3 Variables in Action
Example 3.2.4 Variable Types
Example 3.2.5 Variable Naming
Exercise 3.2.6 Make Some Variables!
Debugging 3.2.7 Undefined Variables
Badge 3.2.8 Variables Badge
3.3 User Input
Video 3.3.1 User Input
Check for Understanding 3.3.2 User Input
Example 3.3.3 Basic User Input
Example 3.3.4 Type Conversion
Example 3.3.5 Type Conversion, Part 2
Exercise 3.3.6 Hello <name>
Exercise 3.3.7 Age
3.4 Mathematical Operators
Video 3.4.1 Mathematical Operators
Check for Understanding 3.4.2 Mathematical Operators
Example 3.4.3 Operators and Integers
Example 3.4.4 Operator Precedence
Exercise 3.4.5 Add Parentheses
Example 3.4.6 Division in Python
Example 3.4.7 Operators and Floats
Exercise 3.4.8 Rectangle
3.5 String Operators
Video 3.5.1 String Operators
Check for Understanding 3.5.2 String Operators
Example 3.5.3 Operators and Strings
Debugging 3.5.4 Fix This Program
Example 3.5.5 Team Sizes
Exercise 3.5.6 Introduce Yourself, Part 2
Exercise 3.5.7 Rectangle, Part 2
Exercise 3.5.8 Rectangle, Part 3
Challenge 3.5.9 Recipe
3.6 Comments
Video 3.6.1 Comments
Check for Understanding 3.6.2 Comments
Example 3.6.3 Commented Program
Example 3.6.4 Trapezoid
Exercise 3.6.5 Add Comments!
3.7 Programming Languages
Video 3.7.1 Programming Languages
Example 3.7.2 Dynamically Typed Languages
Example 3.7.3 Statically Typed Languages
Free Response 3.7.4 Dynamically Typed vs. Statically Typed Languages
Video 3.7.5 Compiled Languages
Video 3.7.6 Interpreted Languages
Free Response 3.7.7 Compiled vs. Interpreted Languages
Video 3.7.8 How Do Computers Read Code
3.8 Basic Python and Console Interaction Quiz
Unit Quiz 3.8.1 Basic Python and Console Interaction Quiz
Badge 3.8.2 Basic Python and Console Interaction Badge
4. Project: Mad Libs
4.1 Project: Mad Libs
Exercise 4.1.1 Project: Mad Libs
5. Conditionals
5.1 Booleans
Video 5.1.1 Booleans
Check for Understanding 5.1.2 Booleans
Example 5.1.3 Boolean Variables
Debugging 5.1.4 Fix This Program
Exercise 5.1.5 Plants
5.2 If Statements
Video 5.2.1 If Statements
Check for Understanding 5.2.2 If Statements
Example 5.2.3 Your First If Statement
Example 5.2.4 If/Else Statement
Debugging 5.2.5 Fix This Program
Exercise 5.2.6 Is It Raining?
Badge 5.2.7 Conditional Badge
5.3 Comparison Operators
Video 5.3.1 Comparison Operators
Check for Understanding 5.3.2 Comparison Operators
Example 5.3.3 Comparison Operators
Example 5.3.4 High Jump
Example 5.3.5 Roller Coaster
Exercise 5.3.6 Old Enough to Vote?
Exercise 5.3.7 Positive, Zero, or Negative?
Example 5.3.8 Age Group
Exercise 5.3.9 Table Reservation
Challenge 5.3.10 Transaction
5.4 Logical Operators
Video 5.4.1 Logical Operators
Check for Understanding 5.4.2 Logical Operators
Example 5.4.3 Logical Operators
Exercise 5.4.4 Administrators, Teachers, and Students
Exercise 5.4.5 Presidential Eligibility
Challenge 5.4.6 Presidential Eligibility- Extended
5.5 Floating Point Numbers and Rounding
Video 5.5.1 Floating Point Numbers and Rounding
Check for Understanding 5.5.2 Floating Point Numbers and Rounding
Example 5.5.3 Rounding Error
Exercise 5.5.4 Correct Portion
5.6 Conditionals Quiz
Unit Quiz 5.6.1 Conditionals Quiz
6. Project: Quiz Game
6.1 Project: Quiz Game
Exercise 6.1.1 Project: Quiz Game
7. Looping
7.1 While Loops
Video 7.1.1 While Loops
Check for Understanding 7.1.2 While Loops
Example 7.1.3 Guess My Number
Example 7.1.4 Program Tracing
Example 7.1.5 Program Tracing, Part 2
Exercise 7.1.6 2 Through 20 Even
Exercise 7.1.7 Divisibility
7.2 For Loops
Video 7.2.1 For Loops
Check for Understanding 7.2.2 For Loops
Example 7.2.3 Print 10 Numbers
Example 7.2.4 1 Through 10, Part 2
Exercise 7.2.5 Counting 10 to 100 by Tens
Example 7.2.6 Running Total
Example 7.2.7 Running Total, Part 2
Exercise 7.2.8 Average Test Score
Exercise 7.2.9 How Many Names?
Badge 7.2.10 Loops Badge
Survey 7.2.11 Mindset Survey 2
7.3 Break and Continue
Video 7.3.1 Break and Continue
Check for Understanding 7.3.2 Break and Continue
Example 7.3.3 Break
Example 7.3.4 Continue
Example 7.3.5 Bike Frame Size
Example 7.3.6 Loop and a Half
Exercise 7.3.7 Higher/ Lower
Challenge 7.3.8 Higher / Lower 2.0
7.4 Nested Control Structures
Video 7.4.1 Nested Control Structures
Check for Understanding 7.4.2 Nested Control Structures
Example 7.4.3 Double For Loop
Example 7.4.4 Average Test Score, Part 2
Example 7.4.5 For Loop + While Loop
Exercise 7.4.6 Rolling Dice
Exercise 7.4.7 Categories
7.5 Looping Quiz
Unit Quiz 7.5.1 Looping Unit Test
8. Project: Password Authenticator
8.1 Project: Password Authenticator
Exercise 8.1.1 Project: Password Authenticator
9. Functions and Exceptions
9.1 Functions
Video 9.1.1 Functions
Check for Understanding 9.1.2 Functions
Example 9.1.3 Greeting
Example 9.1.4 Extended Greeting
Exercise 9.1.5 Weather
9.2 Functions and Parameters
Video 9.2.1 Functions and Parameters
Check for Understanding 9.2.2 Functions and Parameters
Example 9.2.3 Print a Value
Example 9.2.4 Name and Age
Exercise 9.2.5 Print Product
Exercise 9.2.6 Print Multiple Times
Example 9.2.7 Default Parameter Values
Exercise 9.2.8 Area of a Square with Default Parameters
9.3 Namespaces in Functions
Video 9.3.1 Namespaces in Functions
Check for Understanding 9.3.2 Namespaces in Functions
Example 9.3.3 Functions and Variables
Example 9.3.4 Functions and Variables, Part 2
Debugging 9.3.5 Fix This Program!
Exercise 9.3.6 Adding to a Value
Exercise 9.3.7 Add, Subtract, or Multiply
9.4 Functions and Return Values
Video 9.4.1 Functions and Return Values
Check for Understanding 9.4.2 Functions and Return Values
Example 9.4.3 Return 10
Exercise 9.4.4 Add One
Example 9.4.5 Negate
Example 9.4.6 Functions Calling Functions
Example 9.4.7 Function Calls As Parameters
Exercise 9.4.8 Sum Two Numbers
Exercise 9.4.9 Temperature Converter
Badge 9.4.10 Functions Badge
9.5 Exceptions
Video 9.5.1 Exceptions
Check for Understanding 9.5.2 Exceptions
Example 9.5.3 Enter a Number
Example 9.5.4 Enter Name and Age
Exercise 9.5.5 Temperature Converter, Part 2
Exercise 9.5.6 Enter a Positive Number
9.6 Functions Quiz
Unit Quiz 9.6.1 Functions and Exceptions Quiz
Badge 9.6.2 Control Flow Badge
10. Strings
10.1 Indexing
Video 10.1.1 Indexing
Check for Understanding 10.1.2 Indexing
Example 10.1.3 Characters in a String
Video 10.1.4 Unit Tests
Practice 10.1.5 Initials
Practice 10.1.6 Sandwich Sandwiches
10.2 Slicing
Video 10.2.1 Slicing
Check for Understanding 10.2.2 Slicing
Example 10.2.3 Groups of Characters
Example 10.2.4 String Collage
Example 10.2.5 Room Names
Practice 10.2.6 If You're Not First, You're Last
Practice 10.2.7 Part 1, Replace a Letter
Practice 10.2.8 Part 2, Replace a Letter
Badge 10.2.9 Slicing Badge
10.3 Immutability
Video 10.3.1 Immutability
Check for Understanding 10.3.2 Immutability
Example 10.3.3 String Immutability
Exercise 10.3.4 Find the Error
10.4 Strings and For Loops
Video 10.4.1 Strings and For Loops
Check for Understanding 10.4.2 Strings and For Loops
Example 10.4.3 The len Function
Practice 10.4.4 Length of User's Name
Example 10.4.5 String For Loop with Indices
Example 10.4.6 String For Loop with Characters
Exercise 10.4.7 Spelling Bee
Practice 10.4.8 Keeping Count
10.5 The in Keyword
Video 10.5.1 The in Keyword
Check for Understanding 10.5.2 The in Keyword
Example 10.5.3 Contains a Letter
Example 10.5.4 Contains a Substring
Practice 10.5.5 Contains a Vowel
10.6 String Methods
Video 10.6.1 String Methods
Check for Understanding 10.6.2 String Methods
Example 10.6.3 upper and lower
Practice 10.6.4 ENTHUSIASM!
Example 10.6.5 swapcase
Example 10.6.6 strip
Example 10.6.7 find
Practice 10.6.8 What's in a Name?
Practice 10.6.9 Part 1, Remove All From String
Exercise 10.6.10 Part 2, Remove All From String
Survey 10.6.11 Mindset Survey 3
10.7 Strings Quiz
Unit Quiz 10.7.1 Strings Quiz
Badge 10.7.2 Strings Badge
11. Project: The Game of Pig
11.1 Project: The Game of Pig
Free Response 11.1.1 The Game of Pig
Exercise 11.1.2 Build the Basic Program
Exercise 11.1.3 Adding a Computer Opponent
12. Creating and Altering Data Structures
12.1 Tuples
Video 12.1.1 Tuples
Check for Understanding 12.1.2 Tuples
Example 12.1.3 A Tuple Is a Sequence
Example 12.1.4 A Tuple is Heterogeneous
Example 12.1.5 Tuples With a Single Element
Example 12.1.6 Concatenating Tuples
Exercise 12.1.7 Fix This Tuple
Practice 12.1.8 Citation
Practice 12.1.9 Diving Contest
Practice 12.1.10 Coordinate Pairs
12.2 Lists
Video 12.2.1 Lists
Check for Understanding 12.2.2 Lists
Example 12.2.3 A List Is Like a Mutable Tuple
Example 12.2.4 String <--> List
Practice 12.2.5 Spell It Out
Example 12.2.6 Splitting a String
Practice 12.2.7 Listed Greeting
Example 12.2.8 List of Tuples, Tuples of Lists
12.3 For Loops and Lists
Video 12.3.1 For Loops and Lists
Check for Understanding 12.3.2 For Loops and Lists
Example 12.3.3 For Loops and Lists
Example 12.3.4 For Loops and Lists, Part 2
Practice 12.3.5 Max In List
Practice 12.3.6 Owls
Practice 12.3.7 Exclamat!on Po!nts
Challenge 12.3.8 Word Ladder
Challenge 12.3.9 Owls, Part 2
12.4 List Methods
Video 12.4.1 List Methods
Check for Understanding 12.4.2 List Methods
Example 12.4.3 append and extend
Exercise 12.4.4 How Many Names?
Exercise 12.4.5 Five Numbers
Example 12.4.6 sort
Exercise 12.4.7 Librarian
Example 12.4.8 reverse
Example 12.4.9 count
Example 12.4.10 remove
Practice 12.4.11 Take a Thing Out, Sort It and Reverse It
Challenge 12.4.12 Librarian, Part 2
Badge 12.4.13 Lists Badge
12.5 Creating and Altering Data Structures Quiz
Unit Quiz 12.5.1 Creating and Altering Data Structures Quiz
13. Extending Data Structures
13.1 2d Lists
Video 13.1.1 2d Lists
Check for Understanding 13.1.2 2d Lists
Example 13.1.3 A List of Lists
Example 13.1.4 Grid
Example 13.1.5 2d Lists and Slices
Exercise 13.1.6 Checkerboard, v1
Exercise 13.1.7 Checkerboard, v2
Exercise 13.1.8 Checkerboard, v3
Challenge 13.1.9 Tic Tac Toe
13.2 List Comprehensions
Video 13.2.1 List Comprehensions
Check for Understanding 13.2.2 List Comprehensions
Example 13.2.3 List of Consecutive Numbers
Example 13.2.4 List of Squares
Exercise 13.2.5 Divisible by 3
Example 13.2.6 Digits of Pi
Example 13.2.7 List of Booleans
Exercise 13.2.8 Last Names
Exercise 13.2.9 Strings To Integers
Survey 13.2.10 Mindset Survey 4
13.3 Packing and Unpacking
Video 13.3.1 Packing and Unpacking
Check for Understanding 13.3.2 Packing and Unpacking
Example 13.3.3 Packing
Example 13.3.4 Unpacking
Example 13.3.5 Unpacking Parameters
Exercise 13.3.6 Coordinate Pair
Exercise 13.3.7 Slopes
Example 13.3.8 Swapping
Exercise 13.3.9 Full Name & Citation
Badge 13.3.10 Packing Badge
13.4 Dictionaries
Video 13.4.1 Dictionaries
Check for Understanding 13.4.2 Dictionaries
Example 13.4.3 Keys and Values
Example 13.4.4 The in Keyword
Exercise 13.4.5 Phone Book
Exercise 13.4.6 Word Counts
13.5 Extending Data Structures Quiz
Unit Quiz 13.5.1 Extending Data Structures Quiz
Badge 13.5.2 Data Structures Badge
14. Project: Guess the Word
14.1 Project: Guess the Word
Demo 14.1.1 Guess the Word Demo
Exercise 14.1.2 Guess the Word, Part 1
Exercise 14.1.3 Guess the Word, Part 2
Exercise 14.1.4 Guess the Word, Part 3
Exercise 14.1.5 Guess the Word, Part 4
15. File I/O
15.1 What is File I/O
Video 15.1.1 What is File I/O
Quiz 15.1.2 What is File I/O
Example 15.1.3 What is a TXT File?
Example 15.1.4 What is a CSV File?
Free Response 15.1.5 Choosing a File Format: TXT vs. CSV
Example 15.1.6 File I/O in Data Science
Example 15.1.7 File I/O in Image Processing
Free Response 15.1.8 File I/O and Social Media
15.2 Reading Character from File
Video 15.2.1 Reading Character from File
Video 15.2.2 Reading Characters from File: Example Walkthrough
Quiz 15.2.3 Reading Characters from File
Example 15.2.4 Read Specific Characters
Example 15.2.5 Read All Characters
Debugging 15.2.6 Fix This: Reading Characters
Debugging 15.2.7 Fix This: Unable to Read
Exercise 15.2.8 Validating Tweet Length
15.3 Reading Line from File
Video 15.3.1 Reading Line From File
Video 15.3.2 Reading Line from File: Example Walkthrough
Quiz 15.3.3 Read Line from File
Example 15.3.4 Reading and Printing Lines
Exercise 15.3.5 Counting Lines in a File
Exercise 15.3.6 Summing Numbers from File
Exercise 15.3.7 Formatting Movie Titles
15.4 Reading All Lines from File
Video 15.4.1 Reading All Lines from File
Video 15.4.2 Reading All Lines from File: Example Walkthrough
Quiz 15.4.3 Reading All Lines from File
Example 15.4.4 Using readlines()
Exercise 15.4.5 Finding the Needle in the Haystack
Exercise 15.4.6 Extract Quotes from a Text File
15.5 Writing to File
Video 15.5.1 Writing to File
Video 15.5.2 Write to End of File: Example Walkthrough
Quiz 15.5.3 Writing to File
Example 15.5.4 Write to File
Example 15.5.5 Append to File
Exercise 15.5.6 Activity Tracker
Exercise 15.5.7 Guest Book
Exercise 15.5.8 Write the Sum
15.6 Move File Pointer Position
Video 15.6.1 Move File Pointer Position
Video 15.6.2 Move File Pointer Position: Example Walkthrough
Quiz 15.6.3 Move File Pointer Position
Example 15.6.4 Using tell()
Example 15.6.5 Reading from a Position in File
Exercise 15.6.6 Read from Middle
Exercise 15.6.7 Reverse a File
15.7 File I/O Quiz
Quiz 15.7.1 File I/O Quiz
16. Roles in a Software Development Team
16.1 Software Engineer
Video 16.1.1 A Day as a Software Developer
Video 16.1.2 Development Life Cycle
Check for Understanding 16.1.3 Development Life Cycle
Video 16.1.4 A Day in the Life of a Software Engineer at Meta
Connection 16.1.5 Scrum Framework
Free Response 16.1.6 SCRUM Response
Connection 16.1.7 Using Flowcharts
Notes 16.1.8 Project: Software Development
Resource 16.1.9 Creating a Plan
16.2 QA Engineer
Video 16.2.1 A Day as a QA Engineer
Video 16.2.2 Define Acceptance Criteria
Video 16.2.3 Outline Test Cases
Video 16.2.4 Report Bugs
Video 16.2.5 Part 1: Bug Hunt
Free Response 16.2.6 Part 2: Report the Bug
16.3 Designer
Video 16.3.1 A Day as a Designer
Video 16.3.2 Create Wireframes
Video 16.3.3 Research Typography
Video 16.3.4 Choose Colors
Connection 16.3.5 Create a Color Palette
Video 16.3.6 Check Accessibility
Presentation 16.3.7 Design a Mood Board
16.4 Project Manager
Video 16.4.1 A Day as a Project Manager
Video 16.4.2 Plan Project
Video 16.4.3 Organize Tasks
Video 16.4.4 Set Deadlines
None 16.4.5 Create a Task Board