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