Required Python knowledge, coding standards, and machine grading-Week 1 Core Materials
Principles of Computing
()
Introduction
()
Required Python Knowledge
()
Required Python Knowledge
Coding Style and Standards
()
Guidelines for Coding Style
Python Modules
()
Importing Custom Modules in Python
Machine Grading
()
Required Python knowledge, coding standards, and machine grading-Mini-Project #1 - 2048 (Merge)Mini-Project #1 - 2048 (Merge)
Mini-project Video
()
Mini-project Description
2048
Required Python knowledge, coding standards, and machine grading-Week 1 Supplemental Materials (optional)
Math Expressions for Homework
Math Notes on Functions
Practice Mini-project - Solitaire Mancala
Required Python knowledge, coding standards, and machine grading-Optional pre-class material (watch if you have not taken IIPP)
CodeSkulptor
()
Saving in CodeSkulptor
()
Beyond CodeSkulptor (15:12) (optional video)
()
Python Development Environments
Testing, plotting, and grids-Week 2 Core Materials
The Importance of Testing
()
Testing
()
Building Tests for Python Programs
Plotting
()
Grids
()
Testing, plotting, and grids-Mini-project #2 - 2048 (Full)
Mini-project Video
()
Mini-project Description
Testing, plotting, and grids-Week 2 Supplemental Materials (optional)
Math Notes on Grid Representations
Practice Activity - Testing Solitaire Mancala
Probability, randomness, and objects/references-Week 3 Core Materials
The Importance of Probability
()
Basics of Probability
()
Expected Value
()
Monte Carlo Methods
()
Objects and References
()
Probability, randomness, and objects/references-Mini-project #3 - Tic-Tac-Toe (Monte Carlo)
Mini-project Video
()
Mini-project Description
TTTBoard Class
Probability, randomness, and objects/references-Week 3 Supplemental Materials (optional)
Math Notes on Basic Probability
Math Notes on Expected Value
Practice Mini-project - Nim (Monte Carlo)
Practice Activity - The Monty Hall Problem
Combinatorics, generators, and debugging-Week 4 Core
The Importance of Combinatorics
()
Enumeration
()
Permutations and Combinations
()
Combinatorics and Password Breaking
()
Debugging
()
Combinatorics, generators, and debugging-Mini-project #4 - Yahtzee
Mini-project Video
()
Mini-project Description
Combinatorics, generators, and debugging-Week 4 Supplemental Materials (optional)
Math Notes on Enumeration
Math Notes on Permutations and Combinations
Practice Activity - Analyzing a Simple Dice Game
Practice Activity - Counting Game States
Counting, growth of functions, higher-order functions-Week 5 Core Materials
The Importance of Counting
()
Counting and Sums
()
Functions: Finding the Max
()
Higher-order Functions
()
Plotting Statement Counts
()
Counting, growth of functions, higher-order functions-Mini-project #5 - Cookie Clicker
Mini-project Video
()
Mini-project Description
BuildInfo Class
Counting, growth of functions, higher-order functions-Week 5 Supplemental Materials (optional)
Math Notes on Arithmetic Sums
Math Notes on Logarithms and Exponentials
Math Notes on Growth Rates of Functions
Practice Activity - Modeling the Growth of Functions
Practice Activity - The Case of the Greedy Boss