CS105: Introduction to Python (2025.A.01) — Course map listing all resources organized by unit and section, with corresponding learning outcomes.
Resource Learning Outcomes
Unit 1: Introduction to Python 3
page Unit 1 Introduction Video —
page Unit 1 Learning Outcomes
  • 1a Use an integrated development environment (IDE) to write simple programs
  • 1b Use int and float data types
  • 1c Write variable assignment statements using Python
  • 1d Use the print() function to apply basic Python output
  • 1e Use the string data type
  • 1f Compare and contrast different types of variables and how they are used
1.1: Introduction to Python 3
page Introducing Python
  • 1a Use an integrated development environment (IDE) to write simple programs
1.2: Accessing the Pickcode IDE
page The Pickcode IDE
  • 1a Use an integrated development environment (IDE) to write simple programs
1.3: Python 3 Data Types: int and float
book Compare and Contrast: int and float
page Scientific Notation for Floating Point Numbers
  • 1a Use an integrated development environment (IDE) to write simple programs
  • 1b Use int and float data types
1.4: Variable Assignment
book Variables and Assignment Statements
  • 1a Use an integrated development environment (IDE) to write simple programs
  • 1c Write variable assignment statements using Python
book Reserved Words and Variable Naming Conventions
  • 1c Write variable assignment statements using Python
1.5: Basic Python Output Using the print Function
page Using Variables in Python
1.6: More Python 3 Data Types: str
page The Basics of Strings
  • 1a Use an integrated development environment (IDE) to write simple programs
  • 1e Use the string data type
book Values, Types, Variable Names, and Keywords
  • 1b Use int and float data types
  • 1e Use the string data type
  • 1f Compare and contrast different types of variables and how they are used
Unit 1 Assessment
quiz Unit 1 Assessment —
Unit 2: Operators
page Unit 2 Introduction Video —
page Unit 2 Learning Outcomes
2.1: Arithmetic Operators: +, -, *, /, **, %, and //
book Practice With Arithmetic Operators
2.2: Operator Precedence and Using Parentheses
book PEMDAS
book Practice With Operator Precedence
2.3: Relational and Logical Operators
book The <code> bool </code> Data Type
book Practice with Relational and Logical Operators
2.4: Operator Precedence Revisited
book Operators and Expressions
Unit 2 Assessment
quiz Unit 2 Assessment —
Unit 3: Input and Flow Control Statements
page Unit 3 Introduction Video —
page Unit 3 Learning Outcomes
  • 3a Explain the differences between programmer-initialized variables and user input variables
  • 3b Write a program that will take string and numerical data from the keyboard
  • 3c Write conditional statements using logical operators
  • 3d Write for loops and while loops using logical operators and the range function for flow control
  • 3e Use break, continue, and pass statements in loops
  • 3f Assess different control structures to choose solutions that are more efficient, readable, or appropriate for a given task
3.1: Reading Data from the Keyboard
book The Input Command
  • 3a Explain the differences between programmer-initialized variables and user input variables
  • 3b Write a program that will take string and numerical data from the keyboard
3.2: Using Conditional Statements
book <code>if</code>, <code>else</code>, and <code>elif</code> Statements
  • 3c Write conditional statements using logical operators
  • 3f Assess different control structures to choose solutions that are more efficient, readable, or appropriate for a given task
3.3: Loop and Iterations
book Using <code>while</code> Loops
  • 3d Write for loops and while loops using logical operators and the range function for flow control
  • 3f Assess different control structures to choose solutions that are more efficient, readable, or appropriate for a given task
book Using <code>for</code> Loops
  • 3d Write for loops and while loops using logical operators and the range function for flow control
  • 3f Assess different control structures to choose solutions that are more efficient, readable, or appropriate for a given task
book <code>break continue pass</code> Statements
  • 3e Use break, continue, and pass statements in loops
  • 3f Assess different control structures to choose solutions that are more efficient, readable, or appropriate for a given task
3.4: Further Study
page More Useful Videos
  • 3c Write conditional statements using logical operators
  • 3f Assess different control structures to choose solutions that are more efficient, readable, or appropriate for a given task
Unit 3 Assessment
quiz Unit 3 Assessment —
Unit 4: Data Structures I – Lists and Strings
page Unit 4 Introduction Video —
page Unit 4 Learning Outcomes
  • 4a Define lists and indexing
  • 4b Write simple programs that apply list and string methods
  • 4c Use slicing to access multiple elements in a sequence
  • 4d Write programs that plot and visualize list data
  • 4e Create programs that select, manipulate, and visualize list or string data to solve a defined problem
4.1: Python Lists
book Creating Lists
  • 4a Define lists and indexing
  • 4b Write simple programs that apply list and string methods
book Indexing
  • 4a Define lists and indexing
  • 4b Write simple programs that apply list and string methods
  • 4c Use slicing to access multiple elements in a sequence
book Slicing
  • 4c Use slicing to access multiple elements in a sequence
page List Methods
  • 4b Write simple programs that apply list and string methods
page List Comprehension
  • 4a Define lists and indexing
  • 4b Write simple programs that apply list and string methods
4.2: Strings Revisited
book Going Deeper with Strings
  • 4a Define lists and indexing
  • 4b Write simple programs that apply list and string methods
  • 4c Use slicing to access multiple elements in a sequence
book String Methods
  • 4c Use slicing to access multiple elements in a sequence
  • 4e Create programs that select, manipulate, and visualize list or string data to solve a defined problem
4.3: Data Visualization Application
book The <code>matplotlib</code> Library
  • 4d Write programs that plot and visualize list data
  • 4e Create programs that select, manipulate, and visualize list or string data to solve a defined problem
Unit 4 Assessment
quiz Unit 4 Assessment —
Unit 5: Functions
page Unit 5 Introduction Video —
page Unit 5 Learning Outcomes
  • 5a Analyze situations where using functions could improve a program
  • 5b Identify the syntax used to define and construct functions
  • 5c Use functions to better organize programs written in Units 2-4
  • 5d Apply functions and methods available from the Python math library
  • 5e Apply functions and methods for generating and applying random numbers
  • 5f Assess function design choices, including the use of parameters, return values, and variable scope, to improve program structure and reliability
5.1: The Basics of Functions
book Creating Functions
  • 5a Analyze situations where using functions could improve a program
  • 5b Identify the syntax used to define and construct functions
5.2: Some Useful Modules
page Trigonometry Review
  • 5d Apply functions and methods available from the Python math library
page Random Numbers
  • 5e Apply functions and methods for generating and applying random numbers
book The <code>math</code> Module
  • 5d Apply functions and methods available from the Python math library
  • 5f Assess function design choices, including the use of parameters, return values, and variable scope, to improve program structure and reliability
page The <code>random</code> Module
  • 5e Apply functions and methods for generating and applying random numbers
  • 5f Assess function design choices, including the use of parameters, return values, and variable scope, to improve program structure and reliability
5.3: Application
page Simple Game Application
  • 5b Identify the syntax used to define and construct functions
  • 5c Use functions to better organize programs written in Units 2-4
  • 5f Assess function design choices, including the use of parameters, return values, and variable scope, to improve program structure and reliability
Unit 5 Assessment
quiz Unit 5 Assessment —
Unit 6: Basic Data Structures II – Tuples, Sets and Dictionaries
page Unit 6 Introduction Video —
page Unit 6 Learning Outcomes
  • 6a Explain the difference between lists and tuples
  • 6b Use sets and set operations
  • 6c Create dictionaries using dict
  • 6d Write programs that apply tuples, sets, and dictionaries
  • 6e List the strengths and weaknesses of lists, tuples, sets, and dictionaries
6.1: Immutable Collections
book Tuples and Sets
  • 6a Explain the difference between lists and tuples
  • 6b Use sets and set operations
6.2: Mutable Collections
book Dictionaries
  • 6c Create dictionaries using dict
  • 6d Write programs that apply tuples, sets, and dictionaries
page Dictionaries and Loops
  • 6c Create dictionaries using dict
  • 6d Write programs that apply tuples, sets, and dictionaries
page Dictionaries and Tuples
  • 6c Create dictionaries using dict
  • 6d Write programs that apply tuples, sets, and dictionaries
6.3: A Comprehensive Review of Data Structures
book Basic Data Structures
  • 6d Write programs that apply tuples, sets, and dictionaries
  • 6e List the strengths and weaknesses of lists, tuples, sets, and dictionaries
Unit 6 Assessment
quiz Unit 6 Assessment —
Unit 7: File Handling
page Unit 7 Introduction Video —
page Unit 7 Learning Outcomes
  • 7a Use file handling and file handling modes to read and write to text files
  • 7b Write programs that use file handling modes, such as reading from, writing to, appending, and creating files
  • 7c Write programs that using file handling methods
  • 7d Apply file handling to the data analysis and visualization programs written in Units 3-6
  • 7e Evaluate file handling options to select and justify the best method for reading, writing, or managing files based on program requirements
7.1: File Input and Output
book Syntax and Usage
  • 7a Use file handling and file handling modes to read and write to text files
  • 7b Write programs that use file handling modes, such as reading from, writing to, appending, and creating files
  • 7c Write programs that using file handling methods
7.2: Visualizing Data from a File
page Data Visualization from a Data File
  • 7d Apply file handling to the data analysis and visualization programs written in Units 3-6
  • 7e Evaluate file handling options to select and justify the best method for reading, writing, or managing files based on program requirements
page Data Visualization Exercises
  • 7d Apply file handling to the data analysis and visualization programs written in Units 3-6
  • 7e Evaluate file handling options to select and justify the best method for reading, writing, or managing files based on program requirements
Unit 7 Assessment
quiz Unit 7 Assessment —
Unit 8: Regular Expressions
page Unit 8 Introduction Video —
page Unit 8 Learning Outcomes
  • 8a Explain why and how regular expressions are used
  • 8b Use regular expressions to construct search patterns to match a string or set of strings
  • 8c Solve common tasks by using regular expressions to match patterns
  • 8d Analyze different regular expressions to identify how pattern design choices affect efficiency and readability
8.1: The "re" Module
book More on Syntax and Usage
  • 8a Explain why and how regular expressions are used
  • 8b Use regular expressions to construct search patterns to match a string or set of strings
book Delving Deeper
  • 8c Solve common tasks by using regular expressions to match patterns
8.2: Processing File Data
page Processing File Data
  • 8b Use regular expressions to construct search patterns to match a string or set of strings
  • 8c Solve common tasks by using regular expressions to match patterns
  • 8d Analyze different regular expressions to identify how pattern design choices affect efficiency and readability
Unit 8 Assessment
quiz Unit 8 Assessment —
Unit 9: Exception Handling
page Unit 9 Introduction Video —
page Unit 9 Learning Outcomes
  • 9a Explain how exceptions are implemented capture programming errors
  • 9b Write programs that handle errors by using try, except, and finally statements
  • 9c Use exception handling to improve program reliability and help manage errors
9.1: Catching and Handling Errors
page Stuff Happens
  • 9a Explain how exceptions are implemented capture programming errors
page Example 1: Try and Except
  • 9b Write programs that handle errors by using try, except, and finally statements
page Example 2: More Practice
  • 9b Write programs that handle errors by using try, except, and finally statements
page Example 3: Else and Finally
  • 9b Write programs that handle errors by using try, except, and finally statements
book Exceptions Lesson
  • 9b Write programs that handle errors by using try, except, and finally statements
  • 9c Use exception handling to improve program reliability and help manage errors
page More Examples
  • 9b Write programs that handle errors by using try, except, and finally statements
  • 9c Use exception handling to improve program reliability and help manage errors
9.2: Handling a File Error
page Handling a File Error
  • 9b Write programs that handle errors by using try, except, and finally statements
  • 9c Use exception handling to improve program reliability and help manage errors
Unit 9 Assessment
quiz Unit 9 Assessment —
Unit 10: Object-Oriented Programming
page Unit 10 Introduction Video —
page Unit 10 Learning Outcomes
  • 10a Explain the differences between procedural, structured, and object-oriented programming
  • 10b Explain how classes, objects, and instances are used in object-oriented programming
  • 10c Write simple programs that use classes, objects, and instances
  • 10d Assess how object-oriented and non-object-oriented programming differ in organizing and reusing code
  • 10e Evaluate how object-oriented principles enable robust, maintainable and scalable applications
10.1: Overview of Object-Oriented Programming
book Structured Programming and Procedural Programming
  • 10a Explain the differences between procedural, structured, and object-oriented programming
page Procedural Programming versus Object-Oriented Programming
  • 10a Explain the differences between procedural, structured, and object-oriented programming
10.2: Object-Oriented Programming (OOP)
book Basic Terminology
  • 10b Explain how classes, objects, and instances are used in object-oriented programming
book Creating Classes and Methods
  • 10b Explain how classes, objects, and instances are used in object-oriented programming
page Magic Methods
  • 10b Explain how classes, objects, and instances are used in object-oriented programming
page Going Deeper
  • 10b Explain how classes, objects, and instances are used in object-oriented programming
10.3: Derived Classes
book Inheritance
  • 10b Explain how classes, objects, and instances are used in object-oriented programming
page Going Deeper
  • 10b Explain how classes, objects, and instances are used in object-oriented programming
  • 10c Write simple programs that use classes, objects, and instances
  • 10d Assess how object-oriented and non-object-oriented programming differ in organizing and reusing code
10.4: Applying Object-Oriented Programming
page An Example of OOP and Inheritance
  • 10c Write simple programs that use classes, objects, and instances
  • 10d Assess how object-oriented and non-object-oriented programming differ in organizing and reusing code
  • 10e Evaluate how object-oriented principles enable robust, maintainable and scalable applications
Unit 10 Assessment
quiz Unit 10 Assessment —
Course Conclusion
page Course Summary and Review —
Study Guide
book CS105 Study Guide —
Certificate Final Exam
quiz CS105: Certificate Final Exam —
coursecertificate CS105: Introduction to Python —