### Please enable JavaScript to use CodeHS

Python Programming 1 and 2

1. ## Welcome

1. ### 1.1 Welcome

2. Video 1.1.1 Welcome
3. Free Response 1.1.2 Welcome
2. ## Karel in Python

1. ### 2.1 Introduction to Programming With Karel

2. Video 2.1.1 Introduction to Programming With Karel
3. Check for Understanding 2.1.2 Quiz: Karel Commands
4. Example 2.1.3 Our First Karel Program
5. Exercise 2.1.4 Your First Karel Program
6. Exercise 2.1.5 Short Stack
7. Debugging 2.1.6 Dancing Karel
8. ### 2.2 More Basic Karel

9. Video 2.2.1 More Basic Karel
10. Check for Understanding 2.2.2 More Basic Karel Quiz
11. Example 2.2.3 Tennis Ball Square
12. Exercise 2.2.4 Make a Tower
13. Exercise 2.2.5 Pyramid of Karel
14. Debugging 2.2.6 Go Through the Door
15. ### 2.3 Karel Can't Turn Right

16. Video 2.3.1 Karel Can't Turn Right
17. Check for Understanding 2.3.2 Karel Can't Turn Right Quiz
18. Example 2.3.3 Tower and Turn Right
19. Exercise 2.3.4 Fireman Karel
20. Exercise 2.3.5 Slide Karel
21. Free Response 2.3.6 Reflection: Teaching Karel New Commands
23. ### 2.4 Functions in Karel

24. Video 2.4.1 Functions in Karel
25. Check for Understanding 2.4.2 Functions in Karel Quiz
26. Example 2.4.3 Turn Around
27. Exercise 2.4.4 Pancakes
28. Exercise 2.4.5 Backflip
29. Exercise 2.4.6 Digging Karel
30. Debugging 2.4.7 Build a Shelter
31. ### 2.5 Top Down Design and Decomposition in Karel

32. Video 2.5.1 Top Down Design and Decomposition in Karel
33. Check for Understanding 2.5.2 Top Down Design and Decomposition Quiz
34. Example 2.5.3 Hurdle Karel
35. Exercise 2.5.4 The Two Towers
36. Debugging 2.5.5 Make a 'Z'
37. Free Response 2.5.6 Reflection: Top Down Design
38. ### 2.6 Commenting Your Code

39. Video 2.6.1 Commenting Your Code
40. Check for Understanding 2.6.2 Commenting Your Code Quiz
41. Example 2.6.3 Hurdle Karel
42. Exercise 2.6.4 The Two Towers + Comments
43. Free Response 2.6.5 Reflection: Commenting
44. ### 2.7 Abstraction

45. Video 2.7.1 Abstraction
46. Check for Understanding 2.7.2 Abstraction Quiz
47. Example 2.7.3 Abstracting Away build_tower
48. Free Response 2.7.4 Abstracting Your Day
49. Free Response 2.7.5 Reflection: Abstraction
50. Free Response 2.7.6 Reflection: Abstraction in Karel
51. ### 2.8 Super Karel

52. Video 2.8.1 Super Karel
53. Check for Understanding 2.8.2 Super Karel Quiz
54. Example 2.8.3 Hurdle Karel (with SuperKarel)
55. Exercise 2.8.4 The Two Towers + SuperKarel
57. ### 2.9 For Loops

58. Video 2.9.1 For Loops
59. Check for Understanding 2.9.2 For Loops Quiz
60. Example 2.9.3 Repeated Move
61. Example 2.9.4 Put Down Tennis Balls
62. Exercise 2.9.5 Take 'em All
63. Exercise 2.9.6 Dizzy Karel
64. Exercise 2.9.7 For Loop Square
65. Exercise 2.9.8 Lots of Hurdles
66. ### 2.10 If Statements

67. Video 2.10.1 If Statements
68. Check for Understanding 2.10.2 If Statements Quiz
69. Example 2.10.3 If Statements
70. Example 2.10.4 Safe Take Ball
71. Exercise 2.10.5 Is There a Ball?
72. Survey 2.10.6 Mindsets
73. ### 2.11 If/Else Statements

74. Video 2.11.1 If/Else Statements
75. Check for Understanding 2.11.2 If/Else Statements Quiz
76. Example 2.11.3 If/Else Statements
77. Example 2.11.4 One Ball in Each Spot
78. Exercise 2.11.5 Right Side Up
80. ### 2.12 While Loops in Karel

81. Video 2.12.1 While Loops in Karel
82. Check for Understanding 2.12.2 While Loops in Karel Quiz
83. Example 2.12.3 Move to Wall
85. Exercise 2.12.5 Lay Row of Tennis Balls
86. Exercise 2.12.6 Big Tower
87. ### 2.13 Control Structures Example

88. Video 2.13.1 Control Structures Example
89. Check for Understanding 2.13.2 Control Structures Example Quiz
90. Example 2.13.3 Cleanup Karel
91. Exercise 2.13.4 Random Hurdles
92. ### 2.14 Debugging Strategies

93. Video 2.14.1 Debugging Basics
94. Check for Understanding 2.14.2 Debugging Basics
95. Debugging 2.14.3 Debug: The Two Towers
96. Debugging 2.14.4 Debug: Lots of Hurdles
97. Video 2.14.5 Debugging From Error Messages
98. Check for Understanding 2.14.6 Debugging with Error Messages
99. Debugging 2.14.7 Debug: Big Tower
100. Debugging 2.14.8 Debug: Random Hurdles
101. ### 2.15 Algorithms

102. Video 2.15.1 Karel Algorithms
103. Check for Understanding 2.15.2 Quiz: Which Control Structure?
104. Video 2.15.3 Algorithms Example: Move Stack
105. Example 2.15.4 Move Tennis Ball Stack
106. Example 2.15.5 Climbing Karel
107. Exercise 2.15.6 Decorate the Fence
108. ### 2.16 Ultra Karel

109. Video 2.16.1 Ultra Karel
110. Check for Understanding 2.16.2 Ultra Karel Quiz
111. Example 2.16.3 Red Frame
112. Example 2.16.4 Slip 'n Slide
113. Exercise 2.16.5 Invert Colors
114. Exercise 2.16.6 Checkerboard Karel
116. ### 2.17 Karel Challenges

117. Challenge 2.17.1 Fetch
118. Challenge 2.17.2 Racing Karel
119. Challenge 2.17.3 Tower Builder
120. Challenge 2.17.4 Super Cleanup Karel
121. Challenge 2.17.5 Double Tennis Balls
123. ### 2.18 Introduction to Programming Quiz

124. Unit Quiz 2.18.1 Introduction to Programming 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 Programming Languages

52. Video 3.7.1 Programming Languages
53. Example 3.7.2 Dynamically Typed Languages
54. Example 3.7.3 Statically Typed Languages
55. Free Response 3.7.4 Dynamically Typed vs. Statically Typed Languages
56. Video 3.7.5 Compiled Languages
57. Video 3.7.6 Interpreted Languages
58. Free Response 3.7.7 Compiled vs. Interpreted Languages
59. Video 3.7.8 How Do Computers Read Code
60. ### 3.8 Basic Python and Console Interaction Quiz

61. Unit Quiz 3.8.1 Basic Python and Console Interaction Quiz

1. ### 4.1 Project: Mad Libs

2. Exercise 4.1.1 Project: Mad Libs
5. ## Conditionals

1. ### 5.1 Booleans

2. Video 5.1.1 Booleans
3. Check for Understanding 5.1.2 Booleans
4. Example 5.1.3 Boolean Variables
5. Debugging 5.1.4 Fix This Program
6. Exercise 5.1.5 Plants
7. ### 5.2 If Statements

8. Video 5.2.1 If Statements
9. Check for Understanding 5.2.2 If Statements
10. Example 5.2.3 Your First If Statement
11. Example 5.2.4 If/Else Statement
12. Debugging 5.2.5 Fix This Program
13. Exercise 5.2.6 Is It Raining?
15. ### 5.3 Comparison Operators

16. Video 5.3.1 Comparison Operators
17. Check for Understanding 5.3.2 Comparison Operators
18. Example 5.3.3 Comparison Operators
19. Example 5.3.4 High Jump
20. Example 5.3.5 Roller Coaster
21. Exercise 5.3.6 Old Enough to Vote?
22. Exercise 5.3.7 Positive, Zero, or Negative?
23. Example 5.3.8 Age Group
24. Exercise 5.3.9 Table Reservation
25. Challenge 5.3.10 Transaction
26. ### 5.4 Logical Operators

27. Video 5.4.1 Logical Operators
28. Check for Understanding 5.4.2 Logical Operators
29. Example 5.4.3 Logical Operators
30. Exercise 5.4.4 Administrators, Teachers, and Students
31. Exercise 5.4.5 Presidential Eligibility
32. Challenge 5.4.6 Presidential Eligibility- Extended
33. ### 5.5 Floating Point Numbers and Rounding

34. Video 5.5.1 Floating Point Numbers and Rounding
35. Check for Understanding 5.5.2 Floating Point Numbers and Rounding
36. Example 5.5.3 Rounding Error
37. Exercise 5.5.4 Correct Portion
38. ### 5.6 Conditionals Quiz

39. Unit Quiz 5.6.1 Conditionals Quiz
6. ## Project: Quiz Game

1. ### 6.1 Project: Quiz Game

2. Exercise 6.1.1 Project: Quiz Game
7. ## Looping

1. ### 7.1 While Loops

2. Video 7.1.1 While Loops
3. Check for Understanding 7.1.2 While Loops
4. Example 7.1.3 Guess My Number
5. Example 7.1.4 Program Tracing
6. Example 7.1.5 Program Tracing, Part 2
7. Exercise 7.1.6 2 Through 20 Even
8. Exercise 7.1.7 Divisibility
9. ### 7.2 For Loops

10. Video 7.2.1 For Loops
11. Check for Understanding 7.2.2 For Loops
12. Example 7.2.3 Print 10 Numbers
13. Example 7.2.4 1 Through 10, Part 2
14. Exercise 7.2.5 Counting 10 to 100 by Tens
15. Example 7.2.6 Running Total
16. Example 7.2.7 Running Total, Part 2
17. Exercise 7.2.8 Average Test Score
18. Exercise 7.2.9 How Many Names?
20. Survey 7.2.11 Mindset Survey 2
21. ### 7.3 Break and Continue

22. Video 7.3.1 Break and Continue
23. Check for Understanding 7.3.2 Break and Continue
24. Example 7.3.3 Break
25. Example 7.3.4 Continue
26. Example 7.3.5 Bike Frame Size
27. Example 7.3.6 Loop and a Half
28. Exercise 7.3.7 Higher/ Lower
29. Challenge 7.3.8 Higher / Lower 2.0
30. ### 7.4 Nested Control Structures

31. Video 7.4.1 Nested Control Structures
32. Check for Understanding 7.4.2 Nested Control Structures
33. Example 7.4.3 Double For Loop
34. Example 7.4.4 Average Test Score, Part 2
35. Example 7.4.5 For Loop + While Loop
36. Exercise 7.4.6 Rolling Dice
37. Exercise 7.4.7 Categories
38. ### 7.5 Looping Quiz

39. Unit Quiz 7.5.1 Looping Unit Test

1. ### 8.1 Project: Password Authenticator

2. Exercise 8.1.1 Project: Password Authenticator
9. ## Functions and Exceptions

1. ### 9.1 Functions

2. Video 9.1.1 Functions
3. Check for Understanding 9.1.2 Functions
4. Example 9.1.3 Greeting
5. Example 9.1.4 Extended Greeting
6. Exercise 9.1.5 Weather
7. ### 9.2 Functions and Parameters

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

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

25. Video 9.4.1 Functions and Return Values
26. Check for Understanding 9.4.2 Functions and Return Values
27. Example 9.4.3 Return 10
29. Example 9.4.5 Negate
30. Example 9.4.6 Functions Calling Functions
31. Example 9.4.7 Function Calls As Parameters
32. Exercise 9.4.8 Sum Two Numbers
33. Exercise 9.4.9 Temperature Converter
35. ### 9.5 Exceptions

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

43. Unit Quiz 9.6.1 Functions and Exceptions Quiz
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
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
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 Heterogenous
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
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
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
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
14. ## Project: Guess the Word

1. ### 14.1 Project: Guess the Word

2. Demo 14.1.1 Guess the Word Demo
3. Exercise 14.1.2 Guess the Word, Part 1
4. Exercise 14.1.3 Guess the Word, Part 2
5. Exercise 14.1.4 Guess the Word, Part 3
6. Exercise 14.1.5 Guess the Word, Part 4
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. Quiz 15.4.3 Reading All Lines from File
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. ### 15.6 Move File Pointer Position

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

52. Quiz 15.7.1 File I/O Quiz
16. ## Roles in a Software Development Team

1. ### 16.1 Software Engineer

2. Video 16.1.1 A Day as a Software Developer
3. Video 16.1.2 Development Life Cycle
4. Check for Understanding 16.1.3 Development Life Cycle
5. Video 16.1.4 A Day in the Life of a Software Engineer at Meta
6. Connection 16.1.5 Scrum Framework
7. Free Response 16.1.6 SCRUM Response
8. Connection 16.1.7 Using Flowcharts
9. Notes 16.1.8 Project: Software Development
10. Resource 16.1.9 Creating a Plan
11. ### 16.2 QA Engineer

12. Video 16.2.1 A Day as a QA Engineer
13. Video 16.2.2 Define Acceptance Criteria
14. Video 16.2.3 Outline Test Cases
15. Video 16.2.4 Report Bugs
16. Video 16.2.5 Part 1: Bug Hunt
17. Free Response 16.2.6 Part 2: Report the Bug
18. ### 16.3 Designer

19. Video 16.3.1 A Day as a Designer
20. Video 16.3.2 Create Wireframes
21. Video 16.3.3 Research Typography
22. Video 16.3.4 Choose Colors
23. Connection 16.3.5 Create a Color Palette
24. Video 16.3.6 Check Accessibility
25. Presentation 16.3.7 Design a Mood Board
26. ### 16.4 Project Manager

27. Video 16.4.1 A Day as a Project Manager
28. Video 16.4.2 Plan Project
31. None 16.4.5 Create a Task Board
17. ## Midterm

1. ### 17.1 Midterm

2. Final 17.1.1 Intro to Python Midterm Pt. 1- Multiple Choice
18. ## Final Exam

1. ### 18.1 Final Exam

2. Midterm 18.1.1 Final Exam Pt 1: Multiple Choice
19. ## Python Graphics (Brython)

1. ### 19.1 Creating Text & Lines

2. Video 19.1.1 Creating Text & Lines
3. Quiz 19.1.2 Creating Text & Lines
4. Example 19.1.3 Hello World
5. Example 19.1.4 "Tracy"
6. Exercise 19.1.5 Tic Tac Toe Board
7. Exercise 19.1.6 Underlined Name
8. Challenge 19.1.7 Bubble Letter
9. ### 19.2 Creating Shapes

10. Video 19.2.1 Creating Shapes
11. Quiz 19.2.2 Shapes and Attributes
12. Example 19.2.3 Flag of Switzerland
13. Exercise 19.2.4 Flag of Ukraine
14. Exercise 19.2.5 Flag of [your choice!]
15. ### 19.3 Creating Graphics Using Variables

16. Video 19.3.1 Creating Graphics Using Variables
17. Quiz 19.3.2 Creating Graphics Using Variables
18. Example 19.3.3 Flag of Switzerland Using Variables
19. Exercise 19.3.4 Flag of Ukraine Using Variables
20. Exercise 19.3.5 Snowman
21. Challenge 19.3.6 Ghost
22. ### 19.4 Using Functions in Graphics

23. Video 19.4.1 Using Functions in Graphics
24. Quiz 19.4.2 Using Functions in Graphics
25. Example 19.4.3 Forest
26. Exercise 19.4.4 Vertical Lines
27. Exercise 19.4.5 Stoplight
28. Challenge 19.4.6 Ghost Invasion
29. ### 19.5 Using Loops in Graphics

30. Video 19.5.1 Using Loops in Graphics
31. Quiz 19.5.2 Using Loops in Graphics
32. Example 19.5.3 Diagonal Checkerboard
33. Exercise 19.5.4 The Worm
34. Exercise 19.5.5 Dartboard
35. Challenge 19.5.6 Sidewalk
36. ### 19.6 Graphics Challenges

37. Challenge 19.6.1 Pyramid
38. Challenge 19.6.2 Extended Forest
20. ## Python Graphics (Tkinter)

1. ### 20.1 Creating the Canvas

2. Video 20.1.1 Creating the Canvas
3. Check for Understanding 20.1.2 Creating the Canvas
4. Example 20.1.3 Create the Canvas
5. Example 20.1.4 X Marks the Spot
6. Exercise 20.1.5 Tic Tac Toe Board
7. Exercise 20.1.6 Bubble Letter
8. ### 20.2 Shapes and Attributes

9. Video 20.2.1 Shapes and Attributes
10. Check for Understanding 20.2.2 Shapes and Attributes
11. Example 20.2.3 Flag of Japan
12. Exercise 20.2.4 Flag of Poland
13. Exercise 20.2.5 Flag of [your choice!]
14. ### 20.3 Creating Graphics Using Variables

15. Video 20.3.1 Creating Graphics Using Variables
16. Check for Understanding 20.3.2 Creating Graphics Using Variables
17. Example 20.3.3 Flag of Japan Using Variables
18. Example 20.3.4 Creating Shapes
19. Exercise 20.3.5 Snowman
20. Challenge 20.3.6 Ghost
21. ### 20.4 Using Functions in Graphics

22. Video 20.4.1 Using Functions in Graphics
23. Check for Understanding 20.4.2 Using Functions in Graphics
24. Example 20.4.3 Balloons
25. Exercise 20.4.4 Vertical Lines
26. Exercise 20.4.5 Stoplight
27. Challenge 20.4.6 Ghost Invasion
28. ### 20.5 Using Loops in Graphics

29. Video 20.5.1 Using Loops in Graphics
30. Check for Understanding 20.5.2 Using Loops in Graphics
31. Example 20.5.3 Phone Signal
32. Exercise 20.5.4 The Worm
33. Exercise 20.5.5 Growing Circles
34. Challenge 20.5.6 Sidewalk
35. ### 20.6 Graphics Challenges

36. Challenge 20.6.1 Block Tower
21. ## Project: Who Said It?

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

2. Video 21.1.1 File I/O
3. Check for Understanding 21.1.2 File I/O
4. Demo 21.1.3 Who Said It? Demo
5. Exercise 21.1.4 Who Said It? - Part 1
6. Exercise 21.1.5 Who Said It? - Part 2
7. Exercise 21.1.6 Who Said It? - Part 3
8. Exercise 21.1.7 Who Said It? - Part 4
22. ## Project: Mastermind

1. ### 22.1 Let's Build Mastermind

2. Connection 22.1.1 How to Play Mastermind
3. Demo 22.1.2 Mastermind: Demo
4. Exercise 22.1.3 Generate Number List
5. Exercise 22.1.4 Get User Guess
6. Exercise 22.1.5 Compare User Guess to List
7. Exercise 22.1.6 Check if User has Won
8. Exercise 22.1.7 Finish the Game!
23. ## Classes and Objects

1. ### 23.1 Classes and Objects

2. Video 23.1.1 Classes and Objects
3. Check for Understanding 23.1.2 Classes and Objects
4. Example 23.1.3 The Point Class
5. Exercise 23.1.4 The Rectangle Class, Part 1
6. Example 23.1.5 The Point Class, Part 2
7. Exercise 23.1.6 The Rectangle Class, Part 2
8. ### 23.2 Methods

9. Video 23.2.1 Methods
10. Check for Understanding 23.2.2 Methods
11. Example 23.2.3 The Point Class, Part 3
12. Example 23.2.4 The Point Class, Part 4
13. Exercise 23.2.5 The Rectangle Class, Part 3
14. Exercise 23.2.6 The Rectangle Class, Part 4
15. ### 23.3 Built-In Methods

16. Video 23.3.1 Built-In Methods
17. Check for Understanding 23.3.2 Built-In Methods
18. Example 23.3.3 The __repr__ method
19. Example 23.3.4 The __eq__ method
20. Example 23.3.5 The Point Class, Part 5
21. Exercise 23.3.6 The Rectangle Class, Part 5
22. Exercise 23.3.7 The Rectangle Class, Part 6
23. Example 23.3.8 Sheet Music
24. Challenge 23.3.9 Names In a Hat

28. Example 23.4.3 The __add__ method
29. Example 23.4.4 The Point Class, Part 6
30. Exercise 23.4.5 The Rectangle Class, Part 7
31. Exercise 23.4.6 The Rectangle Class, Part 8
32. Exercise 23.4.7 Contact Merge
33. ### 23.5 Class Variables vs. Instance Variables

34. Video 23.5.1 Class Variables vs. Instance Variables
35. Check for Understanding 23.5.2 Class Variables vs. Instance Variables
36. Example 23.5.3 The Point Class, Part 7
37. Exercise 23.5.4 The Rectangle Class, Part 9
38. Example 23.5.5 Cars
39. Exercise 23.5.6 Cars, Part 2
40. Example 23.5.7 Cars, Part 3
41. ### 23.6 Inheritance

42. Video 23.6.1 Inheritance
43. Check for Understanding 23.6.2 Inheritance
44. Example 23.6.3 Animals
45. Exercise 23.6.4 Food, Part 1
46. Example 23.6.5 Animals with Lists
47. Exercise 23.6.6 Food , Part 2
48. ### 23.7 Hidden Attributes

49. Video 23.7.1 Hidden Attributes
50. Check for Understanding 23.7.2 Hidden Attributes
51. Example 23.7.3 Secret Instance Variable
52. Exercise 23.7.4 Only Even Rectangles Counted
53. Example 23.7.5 Level Up
54. Exercise 23.7.6 Triple and Halve
55. ### 23.8 Namespaces

56. Video 23.8.1 Namespaces
57. Check for Understanding 23.8.2 Namespaces
58. Example 23.8.3 Classes
59. Example 23.8.4 Subclasses
60. Exercise 23.8.5 Food, Part 3
61. ### 23.9 Modules

62. Video 23.9.1 Modules
63. Check for Understanding 23.9.2 Modules
64. Example 23.9.3 Importing Entire Module
65. Example 23.9.4 Importing Individual Components
66. Free Response 23.9.5 Benefits of Individual Importing
67. Exercise 23.9.6 Using the Math Module
68. ### 23.10 Classes and Objects Quiz

69. Unit Quiz 23.10.1 Classes and Objects Unit Test

1. ### 24.1 Short Circuit Evaluation

2. Video 24.1.1 Short Circuit Evaluation
3. Check for Understanding 24.1.2 Short Circuit Evaluation
5. Exercise 24.1.4 Divisibility
7. ### 24.2 De Morgan's Laws

8. Video 24.2.1 De Morgan's Laws
9. Check for Understanding 24.2.2 De Morgan's Laws
10. Example 24.2.3 De Morgan's Law for AND
11. Example 24.2.4 De Morgan's Law for OR
12. Exercise 24.2.5 Amusement Park
13. ### 24.3 Abstraction

14. Video 24.3.1 Abstraction
15. Check for Understanding 24.3.2 Abstraction
16. Example 24.3.3 Abstracting Away draw_square()
17. Free Response 24.3.4 Abstracting Your Day
18. Free Response 24.3.5 Reflection: Abstraction
19. Free Response 24.3.6 Abstraction in Tracy