Please enable JavaScript to use CodeHS

Utah Computer Programming 1 and 2 - Outline

  1. Karel in Python

    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. Debugging 1.1.6 Dancing Karel
    8. 1.2 More Basic Karel

    9. Video 1.2.1 More Basic Karel
    10. Check for Understanding 1.2.2 More Basic Karel Quiz
    11. Example 1.2.3 Tennis Ball Square
    12. Exercise 1.2.4 Make a Tower
    13. Exercise 1.2.5 Pyramid of Karel
    14. Debugging 1.2.6 Go Through the Door
    15. 1.3 Karel Can't Turn Right

    16. Video 1.3.1 Karel Can't Turn Right
    17. Check for Understanding 1.3.2 Karel Can't Turn Right Quiz
    18. Example 1.3.3 Tower and Turn Right
    19. Exercise 1.3.4 Fireman Karel
    20. Exercise 1.3.5 Slide Karel
    21. Free Response 1.3.6 Reflection: Teaching Karel New Commands
    22. Badge 1.3.7 Right Turn Karel Badge
    23. 1.4 Functions in Karel

    24. Video 1.4.1 Functions in Karel
    25. Check for Understanding 1.4.2 Functions in Karel Quiz
    26. Example 1.4.3 Turn Around
    27. Exercise 1.4.4 Pancakes
    28. Exercise 1.4.5 Backflip
    29. Exercise 1.4.6 Digging Karel
    30. Debugging 1.4.7 Build a Shelter
    31. 1.5 Top Down Design and Decomposition in Karel

    32. Video 1.5.1 Top Down Design and Decomposition in Karel
    33. Check for Understanding 1.5.2 Top Down Design and Decomposition Quiz
    34. Example 1.5.3 Hurdle Karel
    35. Exercise 1.5.4 The Two Towers
    36. Debugging 1.5.5 Make a 'Z'
    37. Free Response 1.5.6 Reflection: Top Down Design
    38. 1.6 Commenting Your Code

    39. Video 1.6.1 Commenting Your Code
    40. Check for Understanding 1.6.2 Commenting Your Code Quiz
    41. Example 1.6.3 Hurdle Karel
    42. Exercise 1.6.4 The Two Towers + Comments
    43. Free Response 1.6.5 Reflection: Commenting
    44. 1.7 Abstraction

    45. Video 1.7.1 Abstraction
    46. Check for Understanding 1.7.2 Abstraction Quiz
    47. Example 1.7.3 Abstracting Away build_tower
    48. Free Response 1.7.4 Abstracting Your Day
    49. Free Response 1.7.5 Reflection: Abstraction
    50. Free Response 1.7.6 Reflection: Abstraction in Karel
    51. 1.8 Super Karel

    52. Video 1.8.1 Super Karel
    53. Quiz 1.8.2 Super Karel Quiz
    54. Example 1.8.3 Hurdle Karel (with SuperKarel)
    55. Exercise 1.8.4 The Two Towers + SuperKarel
    56. Badge 1.8.5 Super Karel Badge
    57. 1.9 For Loops

    58. Video 1.9.1 For Loops
    59. Check for Understanding 1.9.2 For Loops Quiz
    60. Example 1.9.3 Repeated Move
    61. Example 1.9.4 Put Down Tennis Balls
    62. Exercise 1.9.5 Take 'em All
    63. Exercise 1.9.6 Dizzy Karel
    64. Exercise 1.9.7 For Loop Square
    65. Exercise 1.9.8 Lots of Hurdles
    66. 1.10 If Statements

    67. Video 1.10.1 If Statements
    68. Check for Understanding 1.10.2 If Statements Quiz
    69. Example 1.10.3 If Statements
    70. Example 1.10.4 Safe Take Ball
    71. Exercise 1.10.5 Is There a Ball?
    72. Survey 1.10.6 Mindsets
    73. 1.11 If/Else Statements

    74. Video 1.11.1 If/Else Statements
    75. Check for Understanding 1.11.2 If/Else Statements Quiz
    76. Example 1.11.3 If/Else Statements
    77. Example 1.11.4 One Ball in Each Spot
    78. Exercise 1.11.5 Right Side Up
    79. Badge 1.11.6 Conditional Karel Badge
    80. 1.12 While Loops in Karel

    81. Video 1.12.1 While Loops in Karel
    82. Check for Understanding 1.12.2 While Loops in Karel Quiz
    83. Example 1.12.3 Move to Wall
    84. Exercise 1.12.4 Follow The Yellow Ball Road
    85. Exercise 1.12.5 Lay Row of Tennis Balls
    86. Exercise 1.12.6 Big Tower
    87. 1.13 Control Structures Example

    88. Video 1.13.1 Control Structures Example
    89. Check for Understanding 1.13.2 Control Structures Example Quiz
    90. Example 1.13.3 Cleanup Karel
    91. Exercise 1.13.4 Random Hurdles
    92. 1.14 Debugging Strategies

    93. Video 1.14.1 Debugging Basics
    94. Check for Understanding 1.14.2 Debugging Basics
    95. Debugging 1.14.3 Debug: The Two Towers
    96. Debugging 1.14.4 Debug: Lots of Hurdles
    97. Video 1.14.5 Debugging From Error Messages
    98. Check for Understanding 1.14.6 Debugging with Error Messages
    99. Debugging 1.14.7 Debug: Big Tower
    100. Debugging 1.14.8 Debug: Random Hurdles
    101. 1.15 Algorithms

    102. Video 1.15.1 Karel Algorithms
    103. Check for Understanding 1.15.2 Quiz: Which Control Structure?
    104. Video 1.15.3 Algorithms Example: Move Stack
    105. Example 1.15.4 Move Tennis Ball Stack
    106. Example 1.15.5 Climbing Karel
    107. Exercise 1.15.6 Decorate the Fence
    108. 1.16 Ultra Karel

    109. Video 1.16.1 Ultra Karel
    110. Check for Understanding 1.16.2 Ultra Karel Quiz
    111. Example 1.16.3 Red Frame
    112. Example 1.16.4 Slip 'n Slide
    113. Exercise 1.16.5 Invert Colors
    114. Exercise 1.16.6 Checkerboard Karel
    115. Badge 1.16.7 Karel Exercises Badge
    116. 1.17 Karel Challenges

    117. Challenge 1.17.1 Fetch
    118. Challenge 1.17.2 Racing Karel
    119. Challenge 1.17.3 Tower Builder
    120. Challenge 1.17.4 Super Cleanup Karel
    121. Challenge 1.17.5 Double Tennis Balls
    122. Badge 1.17.6 Programming with Karel Bootcamp Badge
    123. 1.18 Introduction to Programming Quiz

    124. Unit Quiz 1.18.1 Introduction to Programming Quiz
  2. Basic Python and Console Interaction

    1. 2.1 Printing in Python

    2. Video 2.1.1 Printing in Python
    3. Check for Understanding 2.1.2 Printing in Python
    4. Example 2.1.3 Hello, world!
    5. Example 2.1.4 Printing Multiple Lines
    6. Exercise 2.1.5 Introduce Yourself
    7. Debugging 2.1.6 Fix This Program!
    8. Exercise 2.1.7 Vertical name
    9. 2.2 Variables and Types

    10. Video 2.2.1 Variables and Types
    11. HTML Notes 2.2.2 Constants and Data Types
    12. Example 2.2.3 Variables in Action
    13. Example 2.2.4 Variable Types
    14. Example 2.2.5 Variable Naming
    15. HTML Notes 2.2.6 Naming Conventions
    16. Exercise 2.2.7 Make Some Variables!
    17. Debugging 2.2.8 Undefined Variables
    18. HTML Notes 2.2.9 Scope: Local and Global Variables
    19. Exercise 2.2.10 Variable Scope Exploration
    20. Quiz 2.2.11 Variables and Types Quiz
    21. 2.3 User Input

    22. HTML Notes 2.3.1 Input vs. Output
    23. Video 2.3.2 User Input
    24. Quiz 2.3.3 User Input Quiz
    25. Example 2.3.4 Basic User Input
    26. Example 2.3.5 Type Conversion
    27. Example 2.3.6 Type Conversion, Part 2
    28. Example 2.3.7 Built In Functions
    29. Exercise 2.3.8 Hello <name>
    30. Exercise 2.3.9 Age
    31. 2.4 Mathematical Operators

    32. Video 2.4.1 Mathematical Operators
    33. Check for Understanding 2.4.2 Mathematical Operators
    34. Example 2.4.3 Operators and Integers
    35. Example 2.4.4 Operator Precedence
    36. Exercise 2.4.5 Add Parentheses
    37. Example 2.4.6 Division in Python
    38. Example 2.4.7 Operators and Floats
    39. Exercise 2.4.8 Rectangle
    40. 2.5 String Operators

    41. Video 2.5.1 String Operators
    42. Check for Understanding 2.5.2 String Operators
    43. Example 2.5.3 Operators and Strings
    44. Debugging 2.5.4 Fix This Program
    45. Example 2.5.5 Team Sizes
    46. Exercise 2.5.6 Introduce Yourself, Part 2
    47. Exercise 2.5.7 Rectangle, Part 2
    48. Exercise 2.5.8 Rectangle, Part 3
    49. Example 2.5.9 Formatting Currency
    50. Challenge 2.5.10 Recipe
    51. 2.6 Comments

    52. Video 2.6.1 Comments
    53. Check for Understanding 2.6.2 Comments
    54. Example 2.6.3 Commented Program
    55. Example 2.6.4 Trapezoid
    56. Exercise 2.6.5 Add Comments!
    57. 2.7 Programming Languages

    58. Video 2.7.1 Programming Languages
    59. Example 2.7.2 Dynamically Typed Languages
    60. Example 2.7.3 Statically Typed Languages
    61. Free Response 2.7.4 Dynamically Typed vs. Statically Typed Languages
    62. Video 2.7.5 Compiled Languages
    63. Video 2.7.6 Interpreted Languages
    64. Free Response 2.7.7 Compiled vs. Interpreted Languages
    65. Video 2.7.8 How Do Computers Read Code
    66. HTML Notes 2.7.9 A Broader Look at Programming Languages
    67. Quiz 2.7.10 Programming Languages Quiz
    68. 2.8 Basic Python and Console Interaction Quiz

    69. Unit Quiz 2.8.1 Basic Python and Console Interaction Quiz
    70. Badge 2.8.2 Basic Python and Console Interaction Badge
  3. Project: Mad Libs

    1. 3.1 Project: Mad Libs

    2. Exercise 3.1.1 Project: Mad Libs
  4. Conditionals

    1. 4.1 Booleans

    2. Video 4.1.1 Booleans
    3. Check for Understanding 4.1.2 Booleans
    4. Example 4.1.3 Boolean Variables
    5. Debugging 4.1.4 Fix This Program
    6. Exercise 4.1.5 Plants
    7. 4.2 If Statements

    8. Video 4.2.1 If Statements
    9. Check for Understanding 4.2.2 If Statements
    10. Example 4.2.3 Your First If Statement
    11. Example 4.2.4 If/Else Statement
    12. Debugging 4.2.5 Fix This Program
    13. Exercise 4.2.6 Is It Raining?
    14. Badge 4.2.7 Conditional Badge
    15. 4.3 Comparison Operators

    16. Video 4.3.1 Comparison Operators
    17. Check for Understanding 4.3.2 Comparison Operators
    18. Example 4.3.3 Comparison Operators
    19. Example 4.3.4 High Jump
    20. Example 4.3.5 Roller Coaster
    21. Exercise 4.3.6 Old Enough to Vote?
    22. Exercise 4.3.7 Positive, Zero, or Negative?
    23. Example 4.3.8 Age Group
    24. Exercise 4.3.9 Table Reservation
    25. Challenge 4.3.10 Transaction
    26. 4.4 Logical Operators

    27. Video 4.4.1 Logical Operators
    28. HTML Notes 4.4.2 Truth Tables
    29. Quiz 4.4.3 Logical Operators Quiz
    30. Example 4.4.4 Logical Operators
    31. Exercise 4.4.5 Administrators, Teachers, and Students
    32. Exercise 4.4.6 Presidential Eligibility
    33. Exercise 4.4.7 Network Access
    34. Challenge 4.4.8 Presidential Eligibility- Extended
    35. 4.5 Floating Point Numbers and Rounding

    36. Video 4.5.1 Floating Point Numbers and Rounding
    37. Check for Understanding 4.5.2 Floating Point Numbers and Rounding
    38. Example 4.5.3 Rounding Error
    39. Exercise 4.5.4 Correct Portion
    40. Example 4.5.5 Rounding Currency
    41. 4.6 Conditionals Quiz

    42. Unit Quiz 4.6.1 Conditionals Quiz
  5. Project: Quiz Game

    1. 5.1 Project: Quiz Game

    2. Exercise 5.1.1 Project: Quiz Game
  6. Looping

    1. 6.1 While Loops

    2. Video 6.1.1 While Loops
    3. Check for Understanding 6.1.2 While Loops
    4. Example 6.1.3 Guess My Number
    5. Example 6.1.4 Program Tracing
    6. Example 6.1.5 Program Tracing, Part 2
    7. Exercise 6.1.6 2 Through 20 Even
    8. Exercise 6.1.7 Divisibility
    9. 6.2 For Loops

    10. Video 6.2.1 For Loops
    11. Check for Understanding 6.2.2 For Loops
    12. Example 6.2.3 Print 10 Numbers
    13. Example 6.2.4 1 Through 10, Part 2
    14. Exercise 6.2.5 Counting 10 to 100 by Tens
    15. Example 6.2.6 Running Total
    16. Example 6.2.7 Running Total, Part 2
    17. Exercise 6.2.8 Average Test Score
    18. Exercise 6.2.9 How Many Names?
    19. Badge 6.2.10 Loops Badge
    20. Survey 6.2.11 Mindset Survey 2
    21. 6.3 Break and Continue

    22. Video 6.3.1 Break and Continue
    23. Check for Understanding 6.3.2 Break and Continue
    24. Example 6.3.3 Break
    25. Example 6.3.4 Continue
    26. Example 6.3.5 Bike Frame Size
    27. Example 6.3.6 Loop and a Half
    28. Exercise 6.3.7 Higher/ Lower
    29. Challenge 6.3.8 Higher / Lower 2.0
    30. 6.4 Nested Control Structures

    31. Video 6.4.1 Nested Control Structures
    32. Check for Understanding 6.4.2 Nested Control Structures
    33. Example 6.4.3 Double For Loop
    34. Example 6.4.4 Average Test Score, Part 2
    35. Example 6.4.5 For Loop + While Loop
    36. Exercise 6.4.6 Rolling Dice
    37. Exercise 6.4.7 Categories
    38. 6.5 Looping Quiz

    39. Unit Quiz 6.5.1 Looping Unit Test
  7. Project: Password Authenticator

    1. 7.1 Project: Password Authenticator

    2. Exercise 7.1.1 Project: Password Authenticator
  8. Roles in a Software Development Team

    1. 8.1 Software Engineer

    2. Connection 8.1.1 A Day as a Software Developer
    3. Video 8.1.2 Development Life Cycle
    4. HTML Notes 8.1.3 Team Roles, Release, and Maintenance
    5. Quiz 8.1.4 Development Life Cycle Quiz
    6. Video 8.1.5 A Day in the Life of a Software Engineer at Meta
    7. Connection 8.1.6 Scrum Framework
    8. Free Response 8.1.7 SCRUM Response
    9. Connection 8.1.8 Using Flowcharts
    10. Notes 8.1.9 Project: Software Development
    11. Resource 8.1.10 Creating a Plan
    12. 8.2 QA Engineer

    13. Connection 8.2.1 A Day as a QA Engineer
    14. Connection 8.2.2 Define Acceptance Criteria
    15. Connection 8.2.3 Outline Test Cases
    16. Connection 8.2.4 Report Bugs
    17. Connection 8.2.5 Part 1: Bug Hunt
    18. Free Response 8.2.6 Part 2: Report the Bug
    19. 8.3 Designer

    20. Connection 8.3.1 A Day as a Designer
    21. Connection 8.3.2 Create Wireframes
    22. Connection 8.3.3 Research Typography
    23. Connection 8.3.4 Choose Colors
    24. Connection 8.3.5 Create a Color Palette
    25. Connection 8.3.6 Check Accessibility
    26. Presentation 8.3.7 Design a Mood Board
    27. 8.4 Project Manager

    28. Connection 8.4.1 A Day as a Project Manager
    29. Connection 8.4.2 Plan Project
    30. Connection 8.4.3 Organize Tasks
    31. Connection 8.4.4 Set Deadlines
    32. None 8.4.5 Create a Task Board
    33. 8.5 Software Reliability and Automation's Impact

    34. HTML Notes 8.5.1 Why Reliable Software Is an Ethical Responsibility
    35. Free Response 8.5.2 Reliable Software Ethics Reflection
    36. Connection 8.5.3 The Big Question Article
    37. Free Response 8.5.4 Workplace Automation Reflection
  9. Functions and Exceptions

    1. 9.1 Functions

    2. Video 9.1.1 Functions
    3. HTML Notes 9.1.2 Documenting Your Functions
    4. Check for Understanding 9.1.3 Functions
    5. Example 9.1.4 Greeting
    6. Example 9.1.5 Extended Greeting
    7. Exercise 9.1.6 Weather
    8. 9.2 Functions and Parameters

    9. Video 9.2.1 Functions and Parameters
    10. Check for Understanding 9.2.2 Functions and Parameters
    11. Example 9.2.3 Print a Value
    12. Example 9.2.4 Name and Age
    13. Exercise 9.2.5 Print Product
    14. Exercise 9.2.6 Print Multiple Times
    15. Example 9.2.7 Default Parameter Values
    16. Exercise 9.2.8 Area of a Square with Default Parameters
    17. 9.3 Namespaces in Functions

    18. Video 9.3.1 Namespaces in Functions
    19. Check for Understanding 9.3.2 Namespaces in Functions
    20. Example 9.3.3 Functions and Variables
    21. Example 9.3.4 Functions and Variables, Part 2
    22. Debugging 9.3.5 Fix This Program!
    23. Exercise 9.3.6 Adding to a Value
    24. Exercise 9.3.7 Add, Subtract, or Multiply
    25. Exercise 9.3.8 Fix the Scorekeeper
    26. 9.4 Functions and Return Values

    27. Video 9.4.1 Functions and Return Values
    28. Check for Understanding 9.4.2 Functions and Return Values
    29. Example 9.4.3 Return 10
    30. Exercise 9.4.4 Add One
    31. Example 9.4.5 Negate
    32. Example 9.4.6 Functions Calling Functions
    33. Example 9.4.7 Function Calls As Parameters
    34. Exercise 9.4.8 Sum Two Numbers
    35. Exercise 9.4.9 Temperature Converter
    36. Badge 9.4.10 Functions Badge
    37. 9.5 Exceptions

    38. Video 9.5.1 Exceptions
    39. Check for Understanding 9.5.2 Exceptions
    40. Example 9.5.3 Enter a Number
    41. Example 9.5.4 Enter Name and Age
    42. Exercise 9.5.5 Temperature Converter, Part 2
    43. Exercise 9.5.6 Enter a Positive Number
    44. 9.6 Functions Quiz

    45. Unit Quiz 9.6.1 Functions and Exceptions Quiz
    46. Badge 9.6.2 Control Flow Badge
  10. Strings

    1. 10.1 Indexing

    2. Video 10.1.1 Indexing
    3. Check for Understanding 10.1.2 Indexing
    4. Example 10.1.3 Characters in a String
    5. Video 10.1.4 Unit Tests
    6. Practice 10.1.5 Initials
    7. Practice 10.1.6 Sandwich Sandwiches
    8. 10.2 Slicing

    9. Video 10.2.1 Slicing
    10. Check for Understanding 10.2.2 Slicing
    11. Example 10.2.3 Groups of Characters
    12. Example 10.2.4 String Collage
    13. Example 10.2.5 Room Names
    14. Practice 10.2.6 If You're Not First, You're Last
    15. Practice 10.2.7 Part 1, Replace a Letter
    16. Practice 10.2.8 Part 2, Replace a Letter
    17. Badge 10.2.9 Slicing Badge
    18. 10.3 Immutability

    19. Video 10.3.1 Immutability
    20. Check for Understanding 10.3.2 Immutability
    21. Example 10.3.3 String Immutability
    22. Exercise 10.3.4 Find the Error
    23. 10.4 Strings and For Loops

    24. Video 10.4.1 Strings and For Loops
    25. Check for Understanding 10.4.2 Strings and For Loops
    26. Example 10.4.3 The len Function
    27. Practice 10.4.4 Length of User's Name
    28. Example 10.4.5 String For Loop with Indices
    29. Example 10.4.6 String For Loop with Characters
    30. Exercise 10.4.7 Spelling Bee
    31. Practice 10.4.8 Keeping Count
    32. 10.5 The in Keyword

    33. Video 10.5.1 The in Keyword
    34. Check for Understanding 10.5.2 The in Keyword
    35. Example 10.5.3 Contains a Letter
    36. Example 10.5.4 Contains a Substring
    37. Practice 10.5.5 Contains a Vowel
    38. 10.6 String Methods

    39. Video 10.6.1 String Methods
    40. Check for Understanding 10.6.2 String Methods
    41. Example 10.6.3 upper and lower
    42. Practice 10.6.4 ENTHUSIASM!
    43. Example 10.6.5 swapcase
    44. Example 10.6.6 strip
    45. Example 10.6.7 find
    46. Practice 10.6.8 What's in a Name?
    47. Practice 10.6.9 Part 1, Remove All From String
    48. Exercise 10.6.10 Part 2, Remove All From String
    49. Survey 10.6.11 Mindset Survey 3
    50. 10.7 Strings Quiz

    51. Unit Quiz 10.7.1 Strings Quiz
    52. Badge 10.7.2 Strings Badge
  11. Project: The Game of Pig

    1. 11.1 Project: The Game of Pig

    2. Free Response 11.1.1 The Game of Pig
    3. Exercise 11.1.2 Build the Basic Program
    4. Exercise 11.1.3 Adding a Computer Opponent
  12. Creating and Altering Data Structures

    1. 12.1 Tuples

    2. Video 12.1.1 Tuples
    3. Check for Understanding 12.1.2 Tuples
    4. Example 12.1.3 A Tuple Is a Sequence
    5. Example 12.1.4 A Tuple is Heterogeneous
    6. Example 12.1.5 Tuples With a Single Element
    7. Example 12.1.6 Concatenating Tuples
    8. Exercise 12.1.7 Fix This Tuple
    9. Practice 12.1.8 Citation
    10. Practice 12.1.9 Diving Contest
    11. Practice 12.1.10 Coordinate Pairs
    12. 12.2 Lists

    13. Video 12.2.1 Lists
    14. Check for Understanding 12.2.2 Lists
    15. Example 12.2.3 A List Is Like a Mutable Tuple
    16. Example 12.2.4 String <--> List
    17. Practice 12.2.5 Spell It Out
    18. Example 12.2.6 Splitting a String
    19. Practice 12.2.7 Listed Greeting
    20. Example 12.2.8 List of Tuples, Tuples of Lists
    21. 12.3 For Loops and Lists

    22. Video 12.3.1 For Loops and Lists
    23. Check for Understanding 12.3.2 For Loops and Lists
    24. Example 12.3.3 For Loops and Lists
    25. Example 12.3.4 For Loops and Lists, Part 2
    26. Practice 12.3.5 Max In List
    27. Practice 12.3.6 Owls
    28. Practice 12.3.7 Exclamat!on Po!nts
    29. Challenge 12.3.8 Word Ladder
    30. Challenge 12.3.9 Owls, Part 2
    31. 12.4 List Methods

    32. Video 12.4.1 List Methods
    33. Check for Understanding 12.4.2 List Methods
    34. Example 12.4.3 append and extend
    35. Exercise 12.4.4 How Many Names?
    36. Exercise 12.4.5 Five Numbers
    37. Example 12.4.6 sort
    38. Exercise 12.4.7 Librarian
    39. Example 12.4.8 reverse
    40. Example 12.4.9 count
    41. Example 12.4.10 remove
    42. Practice 12.4.11 Take a Thing Out, Sort It and Reverse It
    43. Challenge 12.4.12 Librarian, Part 2
    44. Badge 12.4.13 Lists Badge
    45. 12.5 Creating and Altering Data Structures Quiz

    46. Unit Quiz 12.5.1 Creating and Altering Data Structures Quiz
  13. Extending Data Structures

    1. 13.1 2d Lists

    2. Video 13.1.1 2d Lists
    3. Check for Understanding 13.1.2 2d Lists
    4. Example 13.1.3 A List of Lists
    5. Example 13.1.4 Grid
    6. Example 13.1.5 2d Lists and Slices
    7. Exercise 13.1.6 Checkerboard, v1
    8. Exercise 13.1.7 Checkerboard, v2
    9. Exercise 13.1.8 Checkerboard, v3
    10. Challenge 13.1.9 Tic Tac Toe
    11. 13.2 List Comprehensions

    12. Video 13.2.1 List Comprehensions
    13. Check for Understanding 13.2.2 List Comprehensions
    14. Example 13.2.3 List of Consecutive Numbers
    15. Example 13.2.4 List of Squares
    16. Exercise 13.2.5 Divisible by 3
    17. Example 13.2.6 Digits of Pi
    18. Example 13.2.7 List of Booleans
    19. Exercise 13.2.8 Last Names
    20. Exercise 13.2.9 Strings To Integers
    21. Survey 13.2.10 Mindset Survey 4
    22. 13.3 Packing and Unpacking

    23. Video 13.3.1 Packing and Unpacking
    24. Check for Understanding 13.3.2 Packing and Unpacking
    25. Example 13.3.3 Packing
    26. Example 13.3.4 Unpacking
    27. Example 13.3.5 Unpacking Parameters
    28. Exercise 13.3.6 Coordinate Pair
    29. Exercise 13.3.7 Slopes
    30. Example 13.3.8 Swapping
    31. Exercise 13.3.9 Full Name & Citation
    32. Badge 13.3.10 Packing Badge
    33. 13.4 Dictionaries

    34. Video 13.4.1 Dictionaries
    35. Check for Understanding 13.4.2 Dictionaries
    36. Example 13.4.3 Keys and Values
    37. Example 13.4.4 The in Keyword
    38. Exercise 13.4.5 Phone Book
    39. Exercise 13.4.6 Word Counts
    40. 13.5 Extending Data Structures Quiz

    41. Unit Quiz 13.5.1 Extending Data Structures Quiz
    42. Badge 13.5.2 Data Structures Badge
  14. Project: Guess the Word

    1. 14.1 Project: Guess the Word

    2. Demo 14.1.1 Guess the Word Demo
    3. HTML Notes 14.1.2 Building As A Team
    4. Free Response 14.1.3 Team Charter
    5. Free Response 14.1.4 Team Development Log
    6. Exercise 14.1.5 Guess the Word, Part 1
    7. Exercise 14.1.6 Guess the Word, Part 2
    8. Exercise 14.1.7 Guess the Word, Part 3
    9. Exercise 14.1.8 Guess the Word, Part 4
    10. Free Response 14.1.9 Team Project Submission
    11. Free Response 14.1.10 Present Your Project
    12. Free Response 14.1.11 Peer Evaluation
  15. File I/O

    1. 15.1 What is File I/O

    2. Video 15.1.1 What is File I/O
    3. Quiz 15.1.2 What is File I/O
    4. Example 15.1.3 What is a TXT File?
    5. Example 15.1.4 What is a CSV File?
    6. Free Response 15.1.5 Choosing a File Format: TXT vs. CSV
    7. Example 15.1.6 File I/O in Data Science
    8. Example 15.1.7 File I/O in Image Processing
    9. Free Response 15.1.8 File I/O and Social Media
    10. 15.2 Reading Character from File

    11. Video 15.2.1 Reading Character from File
    12. Video 15.2.2 Reading Characters from File: Example Walkthrough
    13. Quiz 15.2.3 Reading Characters from File
    14. Example 15.2.4 Read Specific Characters
    15. Example 15.2.5 Read All Characters
    16. Debugging 15.2.6 Fix This: Reading Characters
    17. Debugging 15.2.7 Fix This: Unable to Read
    18. Exercise 15.2.8 Validating Tweet Length
    19. 15.3 Reading Line from File

    20. Video 15.3.1 Reading Line From File
    21. Video 15.3.2 Reading Line from File: Example Walkthrough
    22. Quiz 15.3.3 Read Line from File
    23. Example 15.3.4 Reading and Printing Lines
    24. Exercise 15.3.5 Counting Lines in a File
    25. Exercise 15.3.6 Summing Numbers from File
    26. Exercise 15.3.7 Formatting Movie Titles
    27. 15.4 Reading All Lines from File

    28. Video 15.4.1 Reading All Lines from File
    29. Video 15.4.2 Reading All Lines from File: Example Walkthrough
    30. Check for Understanding 15.4.3 Reading All Lines from File
    31. Example 15.4.4 Using readlines()
    32. Exercise 15.4.5 Finding the Needle in the Haystack
    33. Exercise 15.4.6 Extract Quotes from a Text File
    34. 15.5 Writing to File

    35. Video 15.5.1 Writing to File
    36. Video 15.5.2 Write to End of File: Example Walkthrough
    37. Quiz 15.5.3 Writing to File
    38. Example 15.5.4 Write to File
    39. Example 15.5.5 Append to File
    40. Exercise 15.5.6 Activity Tracker
    41. Exercise 15.5.7 Guest Book
    42. Exercise 15.5.8 Write the Sum
    43. Exercise 15.5.9 Update a High Score
    44. 15.6 Move File Pointer Position

    45. Video 15.6.1 Move File Pointer Position
    46. Video 15.6.2 Move File Pointer Position: Example Walkthrough
    47. Quiz 15.6.3 Move File Pointer Position
    48. Example 15.6.4 Using tell()
    49. Example 15.6.5 Reading from a Position in File
    50. Example 15.6.6 Write to a Position in File
    51. Exercise 15.6.7 Read from Middle
    52. Exercise 15.6.8 Reverse a File
    53. 15.7 File I/O Quiz

    54. Quiz 15.7.1 File I/O Quiz
    55. 15.8 File I/O With An API

    56. HTML Notes 15.8.1 What Is An API?
    57. HTML Notes 15.8.2 Types of APIs
    58. Quiz 15.8.3 APIs Quiz
    59. Example 15.8.4 Your First API Request
    60. Exercise 15.8.5 Exploration Inside An API Response
    61. Challenge 15.8.6 Challenge: Build With Live Data
  16. Classes and Objects

    1. 16.1 Classes and Objects

    2. Video 16.1.1 Classes and Objects
    3. Check for Understanding 16.1.2 Classes and Objects
    4. Example 16.1.3 The Point Class
    5. Exercise 16.1.4 The Rectangle Class, Part 1
    6. Example 16.1.5 The Point Class, Part 2
    7. Exercise 16.1.6 The Rectangle Class, Part 2
    8. 16.2 Methods

    9. Video 16.2.1 Methods
    10. Check for Understanding 16.2.2 Methods
    11. Example 16.2.3 The Point Class, Part 3
    12. Example 16.2.4 The Point Class, Part 4
    13. Exercise 16.2.5 The Rectangle Class, Part 3
    14. Exercise 16.2.6 The Rectangle Class, Part 4
    15. 16.3 Built-In Methods

    16. Video 16.3.1 Built-In Methods
    17. Check for Understanding 16.3.2 Built-In Methods
    18. Example 16.3.3 The __repr__ method
    19. Example 16.3.4 The __eq__ method
    20. Example 16.3.5 The Point Class, Part 5
    21. Exercise 16.3.6 The Rectangle Class, Part 5
    22. Exercise 16.3.7 The Rectangle Class, Part 6
    23. Example 16.3.8 Sheet Music
    24. Challenge 16.3.9 Names In a Hat
    25. 16.4 Operator Overloading

    26. Video 16.4.1 Operator Overloading
    27. Check for Understanding 16.4.2 Operator Overloading
    28. Example 16.4.3 The __add__ method
    29. Example 16.4.4 The Point Class, Part 6
    30. Exercise 16.4.5 The Rectangle Class, Part 7
    31. Exercise 16.4.6 The Rectangle Class, Part 8
    32. Exercise 16.4.7 Contact Merge
    33. 16.5 Class Variables vs. Instance Variables

    34. Video 16.5.1 Class Variables vs. Instance Variables
    35. Check for Understanding 16.5.2 Class Variables vs. Instance Variables
    36. Example 16.5.3 The Point Class, Part 7
    37. Exercise 16.5.4 The Rectangle Class, Part 9
    38. Example 16.5.5 Cars
    39. Exercise 16.5.6 Cars, Part 2
    40. Example 16.5.7 Cars, Part 3
  17. Ethics and Cybersecurty

    1. 17.1 Cyber Ethics and Laws

    2. Free Response 17.1.1 Cyber Ethics Scenarios
    3. Article 17.1.2 Ethics vs. Laws
    4. Free Response 17.1.3 Legal Consequences
    5. Connection 17.1.4 Copyright in Education
    6. Video 17.1.5 Getting Permission
    7. Notes 17.1.6 Threat Actors
    8. Free Response 17.1.7 Pros and Cons: Intellectual Property Laws
    9. Free Response 17.1.8 Software, Access, and Privacy
    10. HTML Notes 17.1.9 How Software Shapes Society: Access and Privacy
    11. 17.2 Common Cyber Attacks and Prevention

    12. Connection 17.2.1 Protecting Your Computer
    13. Connection 17.2.2 Phishing for Your Info
    14. Free Response 17.2.3 Phishing Response
    15. Article 17.2.4 Cyber Impacts
    16. Notes 17.2.5 Story Starter
    17. Free Response 17.2.6 Complete Your Story
    18. Notes 17.2.7 Cyber Game Enrichment
    19. 17.3 Personal Data Security

    20. Article 17.3.1 A Tale of Authentication
    21. Free Response 17.3.2 A Tale of Authentication Submission
    22. Check for Understanding 17.3.3 Personal Data Security
    23. Video 17.3.4 Browser Security Settings Exploration
    24. Article 17.3.5 Privacy Settings Simulator
    25. Free Response 17.3.6 Security vs. Usability
    26. 17.4 Software Licenses

    27. Video 17.4.1 Software Licenses
    28. Check for Understanding 17.4.2 Software Licenses Quiz
    29. Free Response 17.4.3 Do I need a Software License?
    30. Free Response 17.4.4 Is This Original?
    31. 17.5 Application Security

    32. Video 17.5.1 Application Security
    33. Check for Understanding 17.5.2 Application Security
    34. Connection 17.5.3 Windows Defender Antivirus
    35. Free Response 17.5.4 Windows Defender Antivirus
    36. Free Response 17.5.5 CodeHS System Restore
    37. 17.6 Ethics and Cybersecurity Quiz

    38. Quiz 17.6.1 Ethics and Cybersecurity Quiz
  18. Intro to AI

    1. 18.1 How to Use AI Tools Safely

    2. HTML Notes 18.1.1 What Are AI Tools?
    3. Article 18.1.2 Account Creation Do's and Don'ts
    4. Article 18.1.3 Protecting Your Personal Information
    5. Article 18.1.4 AI Mistake Detective
    6. Article 18.1.5 Would You Trust This? Quick Decisions
    7. Article 18.1.6 Would You Let AI Handle It?
    8. Free Response 18.1.7 Write a Letter: How to Stay Safe Using AI
    9. 18.2 Human & Artificial Intelligence

    10. Video 18.2.1 Human & Artificial Intelligence
    11. Free Response 18.2.2 Human & Artificial Intelligence Reflection
    12. Video 18.2.3 The Turing Test as a Measure of Intelligence
    13. Free Response 18.2.4 The Turing Test as a Measure of Intelligence Reflection
    14. Video 18.2.5 A Test of Intelligence
    15. Free Response 18.2.6 A Test of Intelligence Reflection
    16. Free Response 18.2.7 Explore & Reflect: Test the Intelligence of an AI
    17. Article 18.2.8 Figure's Plan to Develop a Humanoid Robot
    18. Video 18.2.9 Figure's Humanoid Robot Presentation
    19. Free Response 18.2.10 Figure AI's Humanoid Robot Reflection
    20. 18.3 Generative vs. Predictive AI

    21. Video 18.3.1 Generative vs. Predictive AI
    22. Notes 18.3.2 Explore AI Google Experiments
    23. Free Response 18.3.3 XYZ Toy
    24. Free Response 18.3.4 Instrument Playground
    25. Free Response 18.3.5 Quick, Draw!
    26. Free Response 18.3.6 Shadow Art
    27. Free Response 18.3.7 Where is Hopper?
    28. Free Response 18.3.8 Generative vs Predictive AI Reflection
    29. 18.4 Large Language Models

    30. Video 18.4.1 Large Language Models
    31. Free Response 18.4.2 Large Language Models Reflection
    32. HTML Notes 18.4.3 Comparing LLMs
    33. Free Response 18.4.4 Comparing LLMs Reflection
    34. Article 18.4.5 Multimodal AI
    35. Free Response 18.4.6 Multimodal Model Reflection
    36. Notes 18.4.7 Sketch a Website
    37. Exercise 18.4.8 Your Website
    38. Free Response 18.4.9 Your Website Reflection
    39. 18.5 Prompt Engineering

    40. Video 18.5.1 What is Prompt Engineering?
    41. Article 18.5.2 Prompt Engineering Best Practices
    42. Notes 18.5.3 More Prompt Engineering Techniques
    43. Free Response 18.5.4 Text Prompt Reflection
    44. Connection 18.5.5 Prompt Engineering Tips for Images
    45. Free Response 18.5.6 Prompt Engineering Tips for Images Reflection
    46. Notes 18.5.7 Generate an Image
    47. Free Response 18.5.8 Image Prompt Reflection
    48. Free Response 18.5.9 Say What You See
    49. 18.6 Prompt Practice & Refinement

    50. HTML Notes 18.6.1 Practice Writing Prompts
    51. Free Response 18.6.2 Compare Your Prompts
    52. Free Response 18.6.3 Peer Feedback on Prompts
    53. HTML Notes 18.6.4 Scenario 2: Apply What You Learned
    54. Free Response 18.6.5 Reflection: What Makes a Good Prompt?
    55. 18.7 Who Builds AI?

    56. Connection 18.7.1 Will AI help or hurt diversity and inclusion?
    57. Free Response 18.7.2 Will AI help or hurt diversity and inclusion? Reflection
    58. Connection 18.7.3 How Do You Teach AI?
    59. Free Response 18.7.4 How Do You Teach AI Reflection
    60. Connection 18.7.5 Consequences of Exposing Bias in AI
    61. Free Response 18.7.6 Consequences of Exposing Bias in AI Reflection
    62. Article 18.7.7 Customize Your AI Movie Recommender
    63. Free Response 18.7.8 AI Movie Recommender Submission
    64. Free Response 18.7.9 Who Builds AI Lesson Discussion
    65. 18.8 Introduction to AI-Assisted Coding

    66. Video 18.8.1 How To Play Connections
    67. Article 18.8.2 Example Connections Game
    68. Free Response 18.8.3 Step 1: Plan Your Game
    69. Exercise 18.8.4 Steps 2 and 3: Use an AI Chatbot to Generate Your Game
    70. Exercise 18.8.5 Step 4: Submit Your Work
    71. Free Response 18.8.6 What Was It Like to Code with AI? Reflection
    72. HTML Notes 18.8.7 Using AI Honestly
    73. HTML Notes 18.8.8 AI Ownership and Copyright
    74. Exercise 18.8.9 Review the AI's Code
    75. Free Response 18.8.10 The Ethics of AI-Written Software
    76. Free Response 18.8.11 Your AI Use Statement
    77. Free Response 18.8.12 Is This Authentic?
    78. Free Response 18.8.13 Challenge: Extend Your Connections Game
    79. 18.9 Project: AI-Assisted Coding

    80. Article 18.9.1 How Can AI Help Solve Real-World Problems?
    81. Article 18.9.2 AI Project Planning Worksheet: Solve a Real-World Problem
    82. Free Response 18.9.3 AI Project Planning Worksheet Submission
    83. Exercise 18.9.4 Part 1: Build and Debug
    84. Exercise 18.9.5 Part 2: Testing and Feedback
    85. Challenge 18.9.6 Final Draft: Create Your Own AI-Assisted Project!
    86. HTML Notes 18.9.7 Part 3: Reflect and Present
    87. Free Response 18.9.8 Final Presentation
    88. 18.10 Intro to AI Unit Quiz

    89. Unit Quiz 18.10.1 Intro to AI Unit Quiz
  19. Exploring CS Careers

    1. 19.1 Computer Science Careers

    2. Video 19.1.1 Computer Science All Around Us
    3. Quiz 19.1.2 Computer Science All Around Us
    4. Connection 19.1.3 CS Careers
    5. Free Response 19.1.4 CS Career Response
    6. Connection 19.1.5 Coding in the Wild
    7. Free Response 19.1.6 Coding in the Wild Response
    8. Connection 19.1.7 Inclusive Coding
    9. Free Response 19.1.8 Inclusive Coding Response
    10. 19.2 Explore a Career

    11. Connection 19.2.1 How to Choose the Right Career Path
    12. Free Response 19.2.2 Step 1: Your Hobbies
    13. Free Response 19.2.3 Step 2: Your Talents
    14. Free Response 19.2.4 Step 3: Your Personality
    15. Free Response 19.2.5 Step 4: Your Career Aspirations
    16. Free Response 19.2.6 Step 5: Do Your Research
    17. Notes 19.2.7 Career Exploration Presentation Guidelines
    18. Presentation 19.2.8 Career Exploration Presentation
    19. HTML Notes 19.2.9 Software Roles and Traits
  20. Midterm

    1. 20.1 Midterm

    2. Final 20.1.1 Intro to Python Midterm Pt. 1- Multiple Choice
  21. Final Exam

    1. 21.1 Final Exam

    2. Midterm 21.1.1 Final Exam Pt 1: Multiple Choice