Class 1 – Introduction
Class Material and Notes
Independent Activity
Set up your account at replit.com
Create a REPL (Python)
Get on to the workspace
Important Info Related to REPLIT platform changes (since Aug 2024)
Single REPL to create multiple projects.
Understanding and Managing REPLIT Development Minutes.
Suggestions for students who created accounts before Aug 2024
Uploading .py files to REPLs
REPLIT platform changes (since Sep 2025)
How to create Python projects on REPLIT
VS Code with Python Extension for Projects
How can I use VSCode with Python Extension?
Class 2 – Fun with print
Class Videos
Class Material and Notes
Class Notes , Class Project
Class Project (.py)
Introduction to Python
- print() and input() functions
- Escape Characters
Class 3 – Missing Operators
Class Videos
- Introduction and Learning Objectives
- A broad classification of Python data types
- The ‘+’ and ‘*’ operators for strings and numbers
- Getting Integer inputs from the user
- Understanding the problem statement
- Write the input statement to display the question
- Choosing Operators Randomly
- Syntax of the if- statement
- Determining if the user’s answer is correct
- Using lists to determine if the user’s answer is correct
- Getting the third number – Key Challenges
- Setting up three number question
- How to check the answer for a three number question
- Extending the game to include operators of different precedence
Class Material and Notes
Class Notes
Class Project, Class Project (.py)
Key Learning Objectives
- Basic Python datatypes — Floats, Integers, strings
- Basic List operations
- if-else condition
- Operator Precedence
Bonus Videos
- Prevent user from giving erroneous inputs
- How to ask long questions – multiple operators of same precedence
- How to ask questions with operators that have different precedences
- Using the EVAL statement
- How to handle and empty answer
- How to display the correct answer in case the player tells incorrect answer
- How to add questions with brackets (paranthesis) in the questions?
Independent Activity
Class 4 – Number Hunt
Class Videos
- Introduction and Learning Objectives
- Getting started, Boolean variables
- Setting up the while loop
- Processing the user’s guessed numbers using if statements
- Mistakes that can lead to infinite loops!
- Halt execution while the user thinks of a random number.
- Setting up the second while loop — User Chooses, computer guesses
- Linear Search with step size of 1, a correct but inefficient algorithm
- Increasing the step size — oops! An infinite loop 😦
- Reducing the step size once the chosen number is crossed
- Motivation and intuitive explanation for the binary search algorithm
- Implementing Binary Search in Python
Class Material and Notes
Key Learning Objectives
- while loop
- boolean variables
Bonus Vidoes
- Use Try/Except to prevent erroneous inputs
- Letter/Alphabet Hunt
- Number hunt with special numbers (e.g. pefect squares, even numbers)
- Number Hunt over Prime Numbers
- Numbers not multiples of 7 and not containing 7 either
- Limited Attempts for guessing the number
- Providing Hints while guessing
- Non-uniform Distribution of numbers
- Two-Dimensional Number hunt: Player guessing
- Two-Dimensional Number Hunt: Linear Search
- Two-Dimensional Number Hunt: Binary Search
Independent Activity
Class 5 – Prof’s Grumpy Assistant
Class Videos
Bonus Videos
- Remove trailing and leading spaces from the user response
- How to analyze sentences
- How to determine unique letters (words) in a word (sentence)?
- How to determine if a word (or sentence) is a palindrome?
- Creating randomness in the questions asked using random.randint()
- Determining how long the user took to respond
Class Material and Notes
Key Learning Objectives
- if … else
- if … elif … else
- string operations
Independent Activity
Activity and Marking Criteria
Bonus Ideas
Create a REPL (python) which acts like the Grumpy prof’s assistant, similar to the class project, but with creative elements added by the students.
Class 6 – Midterm Revision and Quiz.
Class Material (Live Quiz)
Key Learning Objectives
- Revise the concepts covered so far with an interactive quiz.
- Provide students a chance to consolidate their learning and build an independent project of their choice.
Class 7 – Paint with Turtle
Class Videos
- Getting started with Turtle
- Drawing a square in Turtle
- How to draw circles, semi circles and arc in Turtle
- How to fill colors in shapes in Turtle using begin_fill() and end_fill()
- How to set the pen and fill color in turtle using fillcolor() and pencolor()
- How to draw a smiley using Turtle
- How to set the properties of the turtle screen
Class Material & Notes
Key Learning Objectives
- Importing modules in Python.
- Some interesting turtle operations
- Movement related.
- Drawing related.
- How we can get turtle to draw attractive shapes
Bonus Videos
- How to make turtle write?
- How to draw squares with rounded corners?
- How to draw regular polygons of different number of sides
- How to draw regular polygons with rounded corners
- How to draw crescent shapes
- How to draw petals or leaf shaped objects
- How to draw ellipses/oval shapes
- How to make smiley’s eyes dance
- How to keep changing the smiley’s shape
- How to keep changing the smiley’s color
Independent Activity
Create a REPL (python, with turtle) which draws an attractive and colorful drawing using basic geometric shapes.
Class 8 – Pixel Art with Turtle
Class Videos
- Pixel Art using Turtle Graphics
- Define functions : draw_line and draw_rectantangle
- For loop to create a row of squares (logic)
- The range() function and its usage
- For loop to create a row of squares
- Using if loop inside for loop for different color of squares
- Speed up drawing using ts.tracer() and ts.update()
- Nested loop to create two dimensional grids
Class Material and Notes
Key Learning Objectives
- Defining and using functions in Python
- Range function
- For loop
Bonus Videos
- if-elif-else to create artistic patterns in 2d grids
- How to create drawings like MARIO
- A gradient of colors
- Unequal size rectangular pixels (1 dimension)
- Unequal size rectangular pixels (2 dimensions)
- Seeing Mario through a lens! (A distorted pixel art)
Independent Activity
Create a REPL (python, with turtle) which draws an attractive and colorful pixel art using programming logic.
Class 9 – Shopping Cart Part 1
Class Videos
- Introduction
- Creating Lists menu and price
- How to index and slice lists using positive and negative numbers?
- How to display the menu items and prices on the screen?
- How to allow user to place a single order?
- Using while loop along with if-elif-else to allow user to order again.
- Visualizing the list interactions in the Shopping Cart project
- How to add new items to the shopping cart using append?
- Update the list shopping_quant when user reorders the same item.
- Display shopping cart — items, quantity and unit price
- Using ‘*’ and round() to display the total price per item and grand total
- ‘*’ operator for strings and numbers — why prices cannot be strings
Class Material
Key Learning Objectives
- Working with Lists
- While Loop
- Data Types
Bonus Videos
- Handling user giving negative numbers as orders.
- How to allow users to remove items from the shopping cart?
- Limiting the maximum inventory of every item in the menu
- Allowing the user to edit the shopping cart before checkout
- Adding special items (e.g. today’s special) to the menu!
- How to make recommendations to users
Independent Activity
Class 10 – Shopping Cart Part 2
Class Material
- Introduction
- A closer look at floor division
- Comparing division, floor division and modulo operators
- Floor division operator to find the next multiple of 500 for offering discount
- Offering discount to the user
- Visualizing the list add_quant to offer discounts
- Populating and displaying the list add_quant
- Update the shopping cart based on the user’s preference
- Printing the final bill, after discount and tax
- Is our discount scheme in Shopping Cart really smart?
Class Material