### Please enable JavaScript to use CodeHS

Intro to Computer Science in Python 3

1. ## Welcome

1. ### 1.1 Welcome

2. Video 1.1.1 Welcome
3. Free Response 1.1.2 Welcome
4. Video 1.1.3 Course Content Overview
2. ## Introduction to Programming with Turtle Graphics

1. ### 2.1 Intro to Python with Tracy the Turtle

2. Video 2.1.1 Intro to Tracy
3. Check for Understanding 2.1.2 Intro to Tracy
6. ### 2.2 Tracy's Grid World

7. Video 2.2.1 Tracy's Grid World
8. Check for Understanding 2.2.2 Tracy's Grid World
9. Example 2.2.3 Dashed Line
10. Exercise 2.2.4 Shorter Dashed Line
11. Exercise 2.2.5 Caterpillar
13. ### 2.3 Turning Tracy

14. Video 2.3.1 Turning Tracy
15. Check for Understanding 2.3.2 Turning Tracy
16. Example 2.3.3 Square
17. Example 2.3.4 X and Y Axes
18. Exercise 2.3.5 Rectangle
19. Exercise 2.3.6 4 Columns
20. ### 2.4 For Loops

21. Video 2.4.1 For Loops
22. Check for Understanding 2.4.2 For Loops
23. Example 2.4.3 Square Using Loops
24. Example 2.4.4 Dotted Line
25. Exercise 2.4.5 Row of Circles
26. Exercise 2.4.6 4 Columns 2.0
28. ### 2.5 Turning Tracy Using Angles

29. Video 2.5.1 Turning Tracy Using Angles
30. Check for Understanding 2.5.2 Turning Tracy Using Angles
31. Example 2.5.3 Asterisk
32. Example 2.5.4 Four Circles
33. Exercise 2.5.5 Hexagon
34. Exercise 2.5.6 'X' Marks the Spot
35. Exercise 2.5.7 Circle Pyramid

38. Check for Understanding 2.6.2 Comments
39. Example 2.6.3 Four Circles with Comments
40. Exercise 2.6.4 Circle Pyramid with Comments
41. ### 2.7 Naming Guidelines

42. Video 2.7.1 Naming Guidelines
43. Check for Understanding 2.7.2 Naming Guidelines
44. ### 2.8 Functions

45. Video 2.8.1 Functions
46. Check for Understanding 2.8.2 Functions
47. Example 2.8.3 X and Y Axes with Hash Marks
49. Exercise 2.8.5 Shape Stack
51. ### 2.9 Artistic Effects

52. Video 2.9.1 Artistic Effects
53. Check for Understanding 2.9.2 Artistic Effects
54. Example 2.9.3 Rainbow Octagon
55. Example 2.9.4 Circle Square Triangle
56. Exercise 2.9.5 Four Colored Triangles
57. Exercise 2.9.6 Colorful Bracelet
58. Challenge 2.9.7 Kid's Shapes Toy
59. ### 2.10 Top Down Design

60. Video 2.10.1 Top Down Design
61. Check for Understanding 2.10.2 Top Down Design
62. Example 2.10.3 Bubble Wrap
63. Exercise 2.10.4 Bubble Wrap 2.0
64. Exercise 2.10.5 Sidewalk
65. ### 2.11 Variables

66. Video 2.11.1 Variables
67. Check for Understanding 2.11.2 Variables
68. Example 2.11.3 Increasing Length
69. Exercise 2.11.4 Dartboard
70. Exercise 2.11.5 Line of Increasing Blocks
71. ### 2.12 User Input

72. Video 2.12.1 User Input
73. Check for Understanding 2.12.2 User Input
74. Example 2.12.3 Color Coded Increasing Length
75. Exercise 2.12.4 Colored Dartboard
76. Exercise 2.12.5 Four Corners
78. ### 2.13 Parameters

79. Video 2.13.1 Parameters
80. Check for Understanding 2.13.2 Parameters
81. Example 2.13.3 Concentric Circles
82. Exercise 2.13.4 Colorful Caterpillar
83. Exercise 2.13.5 Circle in a Square
84. Exercise 2.13.6 Snowman
85. ### 2.14 Using i in For Loops

86. Video 2.14.1 Using i in For Loops
87. Check for Understanding 2.14.2 Using i in For Loops
88. Example 2.14.3 Geometry
89. Exercise 2.14.4 Geometry 2.0
90. ### 2.15 Extended Loop Control

91. Video 2.15.1 Extended Loop Control
92. Check for Understanding 2.15.2 Extended Loop Control
93. Example 2.15.3 Square Swirl
94. Exercise 2.15.4 Dartboard using i
95. Exercise 2.15.5 Phone Signal
97. ### 2.16 If Statements

98. Video 2.16.1 If Statements
99. Check for Understanding 2.16.2 If Statements
100. Example 2.16.3 X and Y Axis with Bolded Marks
101. Exercise 2.16.4 Happy Face
102. Exercise 2.16.5 Black and White Squares
103. ### 2.17 If/ Else Statements

104. Video 2.17.1 If/Else Statements
105. Check for Understanding 2.17.2 If/Else Statements
106. Example 2.17.3 Positive, Negative, Zero
107. Exercise 2.17.4 Rating
108. Exercise 2.17.5 Happy/ Sad Face
109. ### 2.18 While Loops

110. Video 2.18.1 While Loops
111. Check for Understanding 2.18.2 While Loops
112. Example 2.18.3 Increasing Circles
113. Exercise 2.18.4 Increasing Squares
114. Exercise 2.18.5 Guess a Number
116. Survey 2.18.7 Mindset Survey 1
117. ### 2.19 Putting Together Control Structures

118. Video 2.19.1 Putting Together Control Structures
119. Check for Understanding 2.19.2 Putting Together Control Structures
120. Example 2.19.3 Block Pyramid
121. Exercise 2.19.4 Guess a Number 2.0
122. Exercise 2.19.5 Circle Pyramid 2.0
123. Challenge 2.19.6 Checkerboard
125. ### 2.20 Intro to Programming with Turtle Graphics Quiz

126. Quiz 2.20.1 Intro to Programming with Turtle Graphics Quiz
3. ## Basic Python and Console Interaction

1. ### 3.1 Printing in Python

2. Video 3.1.1 Printing in Python
3. Check for Understanding 3.1.2 Printing in Python
4. Example 3.1.3 Hello, world!
5. Example 3.1.4 Printing Multiple Lines
6. Exercise 3.1.5 Introduce Yourself
7. Debugging 3.1.6 Fix This Program!
8. Exercise 3.1.7 Vertical name
9. ### 3.2 Variables and Types

10. Video 3.2.1 Variables and Types
11. Check for Understanding 3.2.2 Variables and Types
12. Example 3.2.3 Variables in Action
13. Example 3.2.4 Variable Types
14. Example 3.2.5 Variable Naming
15. Exercise 3.2.6 Make Some Variables!
16. Debugging 3.2.7 Undefined Variables
18. ### 3.3 User Input

19. Video 3.3.1 User Input
20. Check for Understanding 3.3.2 User Input
21. Example 3.3.3 Basic User Input
22. Example 3.3.4 Type Conversion
23. Example 3.3.5 Type Conversion, Part 2
24. Exercise 3.3.6 Hello <name>
25. Exercise 3.3.7 Age
26. ### 3.4 Mathematical Operators

27. Video 3.4.1 Mathematical Operators
28. Check for Understanding 3.4.2 Mathematical Operators
29. Example 3.4.3 Operators and Integers
30. Example 3.4.4 Operator Precedence
32. Example 3.4.6 Division in Python
33. Example 3.4.7 Operators and Floats
34. Exercise 3.4.8 Rectangle
35. ### 3.5 String Operators

36. Video 3.5.1 String Operators
37. Check for Understanding 3.5.2 String Operators
38. Example 3.5.3 Operators and Strings
39. Debugging 3.5.4 Fix This Program
40. Example 3.5.5 Team Sizes
41. Exercise 3.5.6 Introduce Yourself, Part 2
42. Exercise 3.5.7 Rectangle, Part 2
43. Exercise 3.5.8 Rectangle, Part 3
44. Challenge 3.5.9 Recipe

47. Check for Understanding 3.6.2 Comments
48. Example 3.6.3 Commented Program
49. Example 3.6.4 Trapezoid
51. ### 3.7 Basic Python and Console Interaction Quiz

52. Unit Quiz 3.7.1 Basic Python and Console Interaction Quiz
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?
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. Check for Understanding 4.4.2 Logical Operators
29. Example 4.4.3 Logical Operators
30. Exercise 4.4.4 Administrators, Teachers, and Students
31. Exercise 4.4.5 Presidential Eligibility
32. Challenge 4.4.6 Presidential Eligibility- Extended
33. ### 4.5 Floating Point Numbers and Rounding

34. Video 4.5.1 Floating Point Numbers and Rounding
35. Check for Understanding 4.5.2 Floating Point Numbers and Rounding
36. Example 4.5.3 Rounding Error
37. Exercise 4.5.4 Correct Portion
38. ### 4.6 Conditionals Quiz

39. Unit Quiz 4.6.1 Conditionals Quiz
5. ## Looping

1. ### 5.1 While Loops

2. Video 5.1.1 While Loops
3. Check for Understanding 5.1.2 While Loops
4. Example 5.1.3 Guess My Number
5. Example 5.1.4 Program Tracing
6. Example 5.1.5 Program Tracing, Part 2
7. Exercise 5.1.6 2 Through 20 Even
8. Exercise 5.1.7 Divisibility
9. ### 5.2 For Loops

10. Video 5.2.1 For Loops
11. Check for Understanding 5.2.2 For Loops
12. Example 5.2.3 Print 10 Numbers
13. Example 5.2.4 1 Through 10, Part 2
14. Exercise 5.2.5 Counting 10 to 100 by Tens
15. Example 5.2.6 Running Total
16. Example 5.2.7 Running Total, Part 2
17. Exercise 5.2.8 Average Test Score
18. Exercise 5.2.9 How Many Names?
20. Survey 5.2.11 Mindset Survey 2
21. ### 5.3 Break and Continue

22. Video 5.3.1 Break and Continue
23. Check for Understanding 5.3.2 Break and Continue
24. Example 5.3.3 Break
25. Example 5.3.4 Continue
26. Example 5.3.5 Bike Frame Size
27. Example 5.3.6 Loop and a Half
28. Exercise 5.3.7 Higher/ Lower
29. Challenge 5.3.8 Higher / Lower 2.0
30. ### 5.4 Nested Control Structures

31. Video 5.4.1 Nested Control Structures
32. Check for Understanding 5.4.2 Nested Control Structures
33. Example 5.4.3 Double For Loop
34. Example 5.4.4 Average Test Score, Part 2
35. Example 5.4.5 For Loop + While Loop
36. Exercise 5.4.6 Rolling Dice
37. Exercise 5.4.7 Categories
38. ### 5.5 Looping Quiz

39. Unit Quiz 5.5.1 Looping Unit Test
6. ## Functions and Exceptions

1. ### 6.1 Functions

2. Video 6.1.1 Functions
3. Check for Understanding 6.1.2 Functions
4. Example 6.1.3 Greeting
5. Example 6.1.4 Extended Greeting
6. Exercise 6.1.5 Weather
7. ### 6.2 Functions and Parameters

8. Video 6.2.1 Functions and Parameters
9. Check for Understanding 6.2.2 Functions and Parameters
10. Example 6.2.3 Print a Value
11. Example 6.2.4 Name and Age
12. Exercise 6.2.5 Print Product
13. Exercise 6.2.6 Print Multiple Times
14. Example 6.2.7 Default Parameter Values
15. Exercise 6.2.8 Area of a Square with Default Parameters
16. ### 6.3 Namespaces in Functions

17. Video 6.3.1 Namespaces in Functions
18. Check for Understanding 6.3.2 Namespaces in Functions
19. Example 6.3.3 Functions and Variables
20. Example 6.3.4 Functions and Variables, Part 2
21. Debugging 6.3.5 Fix This Program!
22. Exercise 6.3.6 Adding to a Value
23. Exercise 6.3.7 Add, Subtract, or Multiply
24. ### 6.4 Functions and Return Values

25. Video 6.4.1 Functions and Return Values
26. Check for Understanding 6.4.2 Functions and Return Values
27. Example 6.4.3 Return 10
29. Example 6.4.5 Negate
30. Example 6.4.6 Functions Calling Functions
31. Example 6.4.7 Function Calls As Parameters
32. Exercise 6.4.8 Sum Two Numbers
33. Exercise 6.4.9 Temperature Converter
35. ### 6.5 Exceptions

36. Video 6.5.1 Exceptions
37. Check for Understanding 6.5.2 Exceptions
38. Example 6.5.3 Enter a Number
39. Example 6.5.4 Enter Name and Age
40. Exercise 6.5.5 Temperature Converter, Part 2
41. Exercise 6.5.6 Enter a Positive Number
42. ### 6.6 Functions & Exceptions Quiz

43. Unit Quiz 6.6.1 Functions and Exceptions Quiz
7. ## Strings

1. ### 7.1 Indexing

2. Video 7.1.1 Indexing
3. Check for Understanding 7.1.2 Indexing
4. Example 7.1.3 Characters in a String
5. Video 7.1.4 Unit Tests
6. Practice 7.1.5 Initials
7. Practice 7.1.6 Sandwich Sandwiches
8. ### 7.2 Slicing

9. Video 7.2.1 Slicing
10. Check for Understanding 7.2.2 Slicing
11. Example 7.2.3 Groups of Characters
12. Example 7.2.4 String Collage
13. Example 7.2.5 Room Names
14. Practice 7.2.6 If You're Not First, You're Last
15. Practice 7.2.7 Part 1, Replace a Letter
16. Practice 7.2.8 Part 2, Replace a Letter
18. ### 7.3 Immutability

19. Video 7.3.1 Immutability
20. Check for Understanding 7.3.2 Immutability
21. Example 7.3.3 String Immutability
22. Exercise 7.3.4 Find the Error
23. ### 7.4 Strings and For Loops

24. Video 7.4.1 Strings and For Loops
25. Check for Understanding 7.4.2 Strings and For Loops
26. Example 7.4.3 The len Function
27. Practice 7.4.4 Length of User's Name
28. Example 7.4.5 String For Loop with Indices
29. Example 7.4.6 String For Loop with Characters
30. Exercise 7.4.7 Spelling Bee
31. Practice 7.4.8 Keeping Count
32. ### 7.5 The in Keyword

33. Video 7.5.1 The in Keyword
34. Check for Understanding 7.5.2 The in Keyword
35. Example 7.5.3 Contains a Letter
36. Example 7.5.4 Contains a Substring
37. Practice 7.5.5 Contains a Vowel
38. ### 7.6 String Methods

39. Video 7.6.1 String Methods
40. Check for Understanding 7.6.2 String Methods
41. Example 7.6.3 upper and lower
42. Practice 7.6.4 ENTHUSIASM!
43. Example 7.6.5 swapcase
44. Example 7.6.6 strip
45. Example 7.6.7 find
46. Practice 7.6.8 What's in a Name?
47. Practice 7.6.9 Part 1, Remove All From String
48. Exercise 7.6.10 Part 2, Remove All From String
49. Survey 7.6.11 Mindset Survey 3
50. ### 7.7 Strings Quiz

51. Unit Quiz 7.7.1 Strings Quiz
8. ## Creating and Altering Data Structures

1. ### 8.1 Tuples

2. Video 8.1.1 Tuples
3. Check for Understanding 8.1.2 Tuples
4. Example 8.1.3 A Tuple Is a Sequence
5. Example 8.1.4 A Tuple is Heterogenous
6. Example 8.1.5 Tuples With a Single Element
7. Example 8.1.6 Concatenating Tuples
8. Exercise 8.1.7 Fix This Tuple
9. Practice 8.1.8 Citation
10. Practice 8.1.9 Diving Contest
11. Practice 8.1.10 Coordinate Pairs
12. ### 8.2 Lists

13. Video 8.2.1 Lists
14. Check for Understanding 8.2.2 Lists
15. Example 8.2.3 A List Is Like a Mutable Tuple
16. Example 8.2.4 String <--> List
17. Practice 8.2.5 Spell It Out
18. Example 8.2.6 Splitting a String
19. Practice 8.2.7 Listed Greeting
20. Example 8.2.8 List of Tuples, Tuples of Lists
21. ### 8.3 For Loops and Lists

22. Video 8.3.1 For Loops and Lists
23. Check for Understanding 8.3.2 For Loops and Lists
24. Example 8.3.3 For Loops and Lists
25. Example 8.3.4 For Loops and Lists, Part 2
26. Practice 8.3.5 Max In List
27. Practice 8.3.6 Owls
28. Practice 8.3.7 Exclamat!on Po!nts
30. Challenge 8.3.9 Owls, Part 2
31. ### 8.4 List Methods

32. Video 8.4.1 List Methods
33. Check for Understanding 8.4.2 List Methods
34. Example 8.4.3 append and extend
35. Exercise 8.4.4 How Many Names?
36. Exercise 8.4.5 Five Numbers
37. Example 8.4.6 sort
38. Exercise 8.4.7 Librarian
39. Example 8.4.8 reverse
40. Example 8.4.9 count
41. Example 8.4.10 remove
42. Practice 8.4.11 Take a Thing Out, Sort It and Reverse It
43. Challenge 8.4.12 Librarian, Part 2
45. ### 8.5 Creating and Altering Data Structures Quiz

46. Unit Quiz 8.5.1 Creating and Altering Data Structures Quiz
9. ## Extending Data Structures

1. ### 9.1 2d Lists

2. Video 9.1.1 2d Lists
3. Check for Understanding 9.1.2 2d Lists
4. Example 9.1.3 A List of Lists
5. Example 9.1.4 Grid
6. Example 9.1.5 2d Lists and Slices
7. Exercise 9.1.6 Checkerboard, v1
8. Exercise 9.1.7 Checkerboard, v2
9. Exercise 9.1.8 Checkerboard, v3
10. Challenge 9.1.9 Tic Tac Toe
11. ### 9.2 List Comprehensions

12. Video 9.2.1 List Comprehensions
13. Check for Understanding 9.2.2 List Comprehensions
14. Example 9.2.3 List of Consecutive Numbers
15. Example 9.2.4 List of Squares
16. Exercise 9.2.5 Divisible by 3
17. Example 9.2.6 Digits of Pi
18. Example 9.2.7 List of Booleans
19. Exercise 9.2.8 Last Names
20. Exercise 9.2.9 Strings To Integers
21. Survey 9.2.10 Mindset Survey 4
22. ### 9.3 Packing and Unpacking

23. Video 9.3.1 Packing and Unpacking
24. Check for Understanding 9.3.2 Packing and Unpacking
25. Example 9.3.3 Packing
26. Example 9.3.4 Unpacking
27. Example 9.3.5 Unpacking Parameters
28. Exercise 9.3.6 Coordinate Pair
29. Exercise 9.3.7 Slopes
30. Example 9.3.8 Swapping
31. Exercise 9.3.9 Full Name & Citation
33. ### 9.4 Dictionaries

34. Video 9.4.1 Dictionaries
35. Check for Understanding 9.4.2 Dictionaries
36. Example 9.4.3 Keys and Values
37. Example 9.4.4 The in Keyword
38. Exercise 9.4.5 Phone Book
39. Exercise 9.4.6 Word Counts
40. ### 9.5 Equivalence vs. Identity

41. Video 9.5.1 Equivalence vs. Identity
42. Check for Understanding 9.5.2 Equivalence vs. Identity
43. Example 9.5.3 Equivalence vs. Identity - Mutables
44. Example 9.5.4 Equivalence vs. Identity - Immutables
45. Example 9.5.5 Identity and Parameters
46. Exercise 9.5.6 Swapping
47. Exercise 9.5.7 Word Counts, Part 2
48. ### 9.6 Extending Data Structures Quiz

49. Unit Quiz 9.6.1 Extending Data Structures Quiz
10. ## Project: Guess the Word

1. ### 10.1 Project: Guess the Word

2. Demo 10.1.1 Guess the Word Demo
3. Exercise 10.1.2 Guess the Word, Part 1
4. Exercise 10.1.3 Guess the Word, Part 2
5. Exercise 10.1.4 Guess the Word, Part 3
6. Exercise 10.1.5 Guess the Word, Part 4

11. ## Final Exam

1. ### 11.1 Final Exam

2. Midterm 11.1.1 Final Exam Pt 1: Multiple Choice
12. ## Classes and Objects

1. ### 12.1 Classes and Objects

2. Video 12.1.1 Classes and Objects
3. Check for Understanding 12.1.2 Classes and Objects
4. Example 12.1.3 The Point Class
5. Exercise 12.1.4 The Rectangle Class, Part 1
6. Example 12.1.5 The Point Class, Part 2
7. Exercise 12.1.6 The Rectangle Class, Part 2
8. ### 12.2 Methods

9. Video 12.2.1 Methods
10. Check for Understanding 12.2.2 Methods
11. Example 12.2.3 The Point Class, Part 3
12. Example 12.2.4 The Point Class, Part 4
13. Exercise 12.2.5 The Rectangle Class, Part 3
14. Exercise 12.2.6 The Rectangle Class, Part 4
15. ### 12.3 Built-In Methods

16. Video 12.3.1 Built-In Methods
17. Check for Understanding 12.3.2 Built-In Methods
18. Example 12.3.3 The __repr__ method
19. Example 12.3.4 The __eq__ method
20. Example 12.3.5 The Point Class, Part 5
21. Exercise 12.3.6 The Rectangle Class, Part 5
22. Exercise 12.3.7 The Rectangle Class, Part 6
23. Example 12.3.8 Sheet Music
24. Challenge 12.3.9 Names In a Hat

28. Example 12.4.3 The __add__ method
29. Example 12.4.4 The Point Class, Part 6
30. Exercise 12.4.5 The Rectangle Class, Part 7
31. Exercise 12.4.6 The Rectangle Class, Part 8
32. Exercise 12.4.7 Contact Merge
33. ### 12.5 Class Variables vs. Instance Variables

34. Video 12.5.1 Class Variables vs. Instance Variables
35. Check for Understanding 12.5.2 Class Variables vs. Instance Variables
36. Example 12.5.3 The Point Class, Part 7
37. Exercise 12.5.4 The Rectangle Class, Part 9
38. Example 12.5.5 Cars
39. Exercise 12.5.6 Cars, Part 2
40. Example 12.5.7 Cars, Part 3
41. ### 12.6 Inheritance

42. Video 12.6.1 Inheritance
43. Check for Understanding 12.6.2 Inheritance
44. Example 12.6.3 Animals
45. Exercise 12.6.4 Food, Part 1
46. Example 12.6.5 Animals with Lists
47. Exercise 12.6.6 Food , Part 2
48. ### 12.7 Hidden Attributes

49. Video 12.7.1 Hidden Attributes
50. Check for Understanding 12.7.2 Hidden Attributes
51. Example 12.7.3 Secret Instance Variable
52. Exercise 12.7.4 Only Even Rectangles Counted
53. Example 12.7.5 Level Up
54. Exercise 12.7.6 Triple and Halve
55. ### 12.8 Namespaces

56. Video 12.8.1 Namespaces
57. Check for Understanding 12.8.2 Namespaces
58. Example 12.8.3 Classes
59. Example 12.8.4 Subclasses
60. Exercise 12.8.5 Food, Part 3
61. ### 12.9 Modules

62. Video 12.9.1 Modules
63. Check for Understanding 12.9.2 Modules
64. Example 12.9.3 Importing Entire Module
65. Example 12.9.4 Importing Individual Components
66. Free Response 12.9.5 Benefits of Individual Importing
67. Exercise 12.9.6 Using the Math Module
68. ### 12.10 Unit Quiz

69. Unit Quiz 12.10.1 Classes and Objects Unit Test

1. ### 13.1 Advanced Challenges with Tracy

2. Challenge 13.1.1 Half Pyramid
3. Challenge 13.1.2 Pizza
4. Challenge 13.1.3 Block Pyramid 2.0
14. ## Midterm

1. ### 14.1 Midterm

2. Final 14.1.1 Intro to Python Midterm Pt. 1- Multiple Choice

1. ### 15.1 Short Circuit Evaluation

2. Video 15.1.1 Short Circuit Evaluation
3. Check for Understanding 15.1.2 Short Circuit Evaluation
5. Exercise 15.1.4 Divisibility
7. ### 15.2 De Morgan's Laws

8. Video 15.2.1 De Morgan's Laws
9. Check for Understanding 15.2.2 De Morgan's Laws
10. Example 15.2.3 De Morgan's Law for AND
11. Example 15.2.4 De Morgan's Law for OR
12. Exercise 15.2.5 Amusement Park
13. ### 15.3 Abstraction

14. Video 15.3.1 Abstraction
15. Check for Understanding 15.3.2 Abstraction
16. Example 15.3.3 Abstracting Away draw_square()
17. Free Response 15.3.4 Abstracting Your Day
18. Free Response 15.3.5 Reflection: Abstraction
19. Free Response 15.3.6 Abstraction in Tracy

23. Example 15.4.3 Concentric Circles with Labels
24. Exercise 15.4.4 Name your Colorful Caterpillar!
25. Exercise 15.4.5 Baseball Diagram
16. ## Project: Who Said It?

1. ### 16.1 Project: Who Said It?

2. Video 16.1.1 File I/O
3. Check for Understanding 16.1.2 File I/O
4. Demo 16.1.3 Who Said It? Demo
5. Exercise 16.1.4 Who Said It? - Part 1
6. Exercise 16.1.5 Who Said It? - Part 2
7. Exercise 16.1.6 Who Said It? - Part 3
8. Exercise 16.1.7 Who Said It? - Part 4
17. ## Python Graphics (Tkinter)

1. ### 17.1 Creating the Canvas

2. Video 17.1.1 Creating the Canvas
3. Check for Understanding 17.1.2 Creating the Canvas
4. Example 17.1.3 Create the Canvas
5. Example 17.1.4 X Marks the Spot
6. Exercise 17.1.5 Tic Tac Toe Board
7. Exercise 17.1.6 Bubble Letter
8. ### 17.2 Shapes and Attributes

9. Video 17.2.1 Shapes and Attributes
10. Check for Understanding 17.2.2 Shapes and Attributes
11. Example 17.2.3 Flag of Japan
12. Exercise 17.2.4 Flag of Poland
13. Exercise 17.2.5 Flag of [your choice!]
14. ### 17.3 Creating Graphics Using Variables

15. Video 17.3.1 Creating Graphics Using Variables
16. Check for Understanding 17.3.2 Creating Graphics Using Variables
17. Example 17.3.3 Flag of Japan Using Variables
18. Example 17.3.4 Creating Shapes
19. Exercise 17.3.5 Snowman
20. Challenge 17.3.6 Ghost
21. ### 17.4 Using Functions in Graphics

22. Video 17.4.1 Using Functions in Graphics
23. Check for Understanding 17.4.2 Using Functions in Graphics
24. Example 17.4.3 Balloons
25. Exercise 17.4.4 Vertical Lines
26. Exercise 17.4.5 Stoplight
27. Challenge 17.4.6 Ghost Invasion
28. ### 17.5 Using Loops in Graphics

29. Video 17.5.1 Using Loops in Graphics
30. Check for Understanding 17.5.2 Using Loops in Graphics
31. Example 17.5.3 Phone Signal
32. Exercise 17.5.4 The Worm
33. Exercise 17.5.5 Growing Circles
34. Challenge 17.5.6 Sidewalk
35. ### 17.6 Graphics Challenges

36. Challenge 17.6.1 Block Tower
18. ## Project: Mastermind

1. ### 18.1 Let's Build Mastermind

2. Connection 18.1.1 How to Play Mastermind
3. Demo 18.1.2 Mastermind: Demo
4. Exercise 18.1.3 Generate Number List
5. Exercise 18.1.4 Get User Guess
6. Exercise 18.1.5 Compare User Guess to List
7. Exercise 18.1.6 Check if User has Won
8. Exercise 18.1.7 Finish the Game!
19. ## Categorizing Triangles

1. ### 19.1 Calculating Area

2. Video 19.1.1 Calculating Area
3. Check for Understanding 19.1.2 Calculating Area
4. Example 19.1.3 Drawing a Custom Triangle
5. Exercise 19.1.4 Calculate the Area
6. ### 19.2 Categorizing Triangles with a Static Base Value

7. Video 19.2.1 Categorizing Triangles with a Static Base Value
8. Check for Understanding 19.2.2 Categorizing Triangles with a Static Base Value
9. Example 19.2.3 Categorizing Obtuse Triangles
10. Exercise 19.2.4 Putting Triangles into Categories
11. ### 19.3 Categorizing Triangles with a Varied Base Value

12. Video 19.3.1 Categorizing Triangles with a Varied Base Value
13. Check for Understanding 19.3.2 Categorizing Triangles with a Varied Base Value
14. Example 19.3.3 Categorizing Obtuse Triangles using Variables
15. Exercise 19.3.4 Using Variables to Calculate Area
16. Exercise 19.3.5 Putting Triangles into Categories using Variables

21. ## Using and Storing Data

1. ### 21.1 Using Requests

2. Exercise 21.1.1 Create a Dictionary
3. Exercise 21.1.2 Create a Dictionary with Requests
4. Example 21.1.3 Amazon Best Sellers List
22. ## Python Graphics (Brython)

1. ### 22.1 Creating Text & Lines

2. Video 22.1.1 Creating Text & Lines
3. Quiz 22.1.2 Creating Text & Lines
4. Example 22.1.3 Hello World
5. Example 22.1.4 "Tracy"
6. Exercise 22.1.5 Tic Tac Toe Board
7. Exercise 22.1.6 Underlined Name
8. Challenge 22.1.7 Bubble Letter
9. ### 22.2 Creating Shapes

10. Video 22.2.1 Creating Shapes
11. Quiz 22.2.2 Shapes and Attributes
12. Example 22.2.3 Flag of Switzerland
13. Exercise 22.2.4 Flag of Ukraine
14. Exercise 22.2.5 Flag of [your choice!]
15. ### 22.3 Creating Graphics Using Variables

16. Video 22.3.1 Creating Graphics Using Variables
17. Quiz 22.3.2 Creating Graphics Using Variables
18. Example 22.3.3 Flag of Switzerland Using Variables
19. Exercise 22.3.4 Flag of Ukraine Using Variables
20. Exercise 22.3.5 Snowman
21. Challenge 22.3.6 Ghost
22. ### 22.4 Using Functions in Graphics

23. Video 22.4.1 Using Functions in Graphics
24. Quiz 22.4.2 Using Functions in Graphics
25. Example 22.4.3 Forest
26. Exercise 22.4.4 Vertical Lines
27. Exercise 22.4.5 Stoplight
28. Challenge 22.4.6 Ghost Invasion
29. ### 22.5 Using Loops in Graphics

30. Video 22.5.1 Using Loops in Graphics
31. Quiz 22.5.2 Using Loops in Graphics
32. Example 22.5.3 Diagonal Checkerboard
33. Exercise 22.5.4 The Worm
34. Exercise 22.5.5 Dartboard
35. Challenge 22.5.6 Sidewalk
36. ### 22.6 Graphics Challenges

37. Challenge 22.6.1 Pyramid
38. Challenge 22.6.2 Extended Forest
23. ## Karel in Python

1. ### 23.1 Welcome to AP CSP

2. Video 23.1.1 Welcome to AP CSP
3. Free Response 23.1.2 Why AP CSP?
4. ### 23.2 Introduction to Programming With Karel

5. Video 23.2.1 Introduction to Programming With Karel
6. Check for Understanding 23.2.2 Quiz: Karel Commands
7. Example 23.2.3 Our First Karel Program
8. Exercise 23.2.4 Your First Karel Program
9. Exercise 23.2.5 Short Stack
10. Debugging 23.2.6 Dancing Karel
11. ### 23.3 More Basic Karel

12. Video 23.3.1 More Basic Karel
13. Check for Understanding 23.3.2 More Basic Karel Quiz
14. Example 23.3.3 Tennis Ball Square
15. Exercise 23.3.4 Make a Tower
16. Exercise 23.3.5 Pyramid of Karel
17. Debugging 23.3.6 Go Through the Door
18. ### 23.4 Karel Can't Turn Right

19. Video 23.4.1 Karel Can't Turn Right
20. Check for Understanding 23.4.2 Karel Can't Turn Right Quiz
21. Example 23.4.3 Tower and Turn Right
22. Exercise 23.4.4 Fireman Karel
23. Exercise 23.4.5 Slide Karel
24. Free Response 23.4.6 Reflection: Teaching Karel New Commands
26. ### 23.5 Functions in Karel

27. Video 23.5.1 Functions in Karel
28. Check for Understanding 23.5.2 Functions in Karel Quiz
29. Example 23.5.3 Turn Around
30. Exercise 23.5.4 Pancakes
31. Exercise 23.5.5 Backflip
32. Exercise 23.5.6 Digging Karel
33. Debugging 23.5.7 Build a Shelter
34. ### 23.6 Top Down Design and Decomposition in Karel

35. Video 23.6.1 Top Down Design and Decomposition in Karel
36. Check for Understanding 23.6.2 Top Down Design and Decomposition Quiz
37. Example 23.6.3 Hurdle Karel
38. Exercise 23.6.4 The Two Towers
39. Debugging 23.6.5 Make a 'Z'
40. Free Response 23.6.6 Reflection: Top Down Design
41. ### 23.7 Commenting Your Code

42. Video 23.7.1 Commenting Your Code
43. Check for Understanding 23.7.2 Commenting Your Code Quiz
44. Example 23.7.3 Hurdle Karel
45. Exercise 23.7.4 The Two Towers + Comments
46. Free Response 23.7.5 Reflection: Commenting
47. ### 23.8 Abstraction

48. Video 23.8.1 Abstraction
49. Check for Understanding 23.8.2 Abstraction Quiz
50. Example 23.8.3 Abstracting Away build_tower
51. Free Response 23.8.4 Abstracting Your Day
52. Free Response 23.8.5 Reflection: Abstraction
53. Free Response 23.8.6 Reflection: Abstraction in Karel
54. ### 23.9 Super Karel

55. Video 23.9.1 Super Karel
56. Check for Understanding 23.9.2 Super Karel Quiz
57. Example 23.9.3 Hurdle Karel (with SuperKarel)
58. Exercise 23.9.4 The Two Towers + SuperKarel
60. ### 23.10 For Loops

61. Video 23.10.1 For Loops
62. Check for Understanding 23.10.2 For Loops Quiz
63. Example 23.10.3 Repeated Move
64. Example 23.10.4 Put Down Tennis Balls
65. Exercise 23.10.5 Take 'em All
66. Exercise 23.10.6 Dizzy Karel
67. Exercise 23.10.7 For Loop Square
68. Exercise 23.10.8 Lots of Hurdles
69. ### 23.11 If Statements

70. Video 23.11.1 If Statements
71. Check for Understanding 23.11.2 If Statements Quiz
72. Example 23.11.3 If Statements
73. Example 23.11.4 Safe Take Ball
74. Exercise 23.11.5 Is There a Ball?
75. Survey 23.11.6 Mindsets
76. ### 23.12 If/Else Statements

77. Video 23.12.1 If/Else Statements
78. Check for Understanding 23.12.2 If/Else Statements Quiz
79. Example 23.12.3 If/Else Statements
80. Example 23.12.4 One Ball in Each Spot
81. Exercise 23.12.5 Right Side Up
83. ### 23.13 While Loops in Karel

84. Video 23.13.1 While Loops in Karel
85. Check for Understanding 23.13.2 While Loops in Karel Quiz
86. Example 23.13.3 Move to Wall
88. Exercise 23.13.5 Lay Row of Tennis Balls
89. Exercise 23.13.6 Big Tower
90. ### 23.14 Control Structures Example

91. Video 23.14.1 Control Structures Example
92. Check for Understanding 23.14.2 Control Structures Example Quiz
93. Example 23.14.3 Cleanup Karel
94. Exercise 23.14.4 Random Hurdles
95. ### 23.15 Debugging Strategies

96. Video 23.15.1 Debugging Basics
97. Check for Understanding 23.15.2 Debugging Basics
98. Debugging 23.15.3 Debug: The Two Towers
99. Debugging 23.15.4 Debug: Lots of Hurdles
100. Video 23.15.5 Debugging From Error Messages
101. Check for Understanding 23.15.6 Debugging with Error Messages
102. Debugging 23.15.7 Debug: Big Tower
103. Debugging 23.15.8 Debug: Random Hurdles
104. ### 23.16 Algorithms

105. Video 23.16.1 Karel Algorithms
106. Check for Understanding 23.16.2 Quiz: Which Control Structure?
107. Video 23.16.3 Algorithms Example: Move Stack
108. Example 23.16.4 Move Tennis Ball Stack
109. Example 23.16.5 Climbing Karel
110. Exercise 23.16.6 Decorate the Fence
111. ### 23.17 Ultra Karel

112. Video 23.17.1 Ultra Karel
113. Check for Understanding 23.17.2 Ultra Karel Quiz
114. Example 23.17.3 Red Frame
115. Example 23.17.4 Slip 'n Slide
116. Exercise 23.17.5 Invert Colors
117. Exercise 23.17.6 Checkerboard Karel