Learn fundamentals of Python programming with state-of-the-art hardware
Module 1: Build from the fundamentals; Set up your Python environment, choose the IDE, and learn the basics of printing.
- Interpreters and Compilers
- Setting up Environment Path
- Modes of programming
- Python IDEs
- Print function- your first program with end and sep
- Escape characters
- Python Character set
- Indentation
- Writing Comments
Module 2: Getting familiar: Understanding the Terminologies. Case studies to compare the data types.
- Python tokens
- Variables; Rules for naming, and multiple assignments
- Expressions
- Operators; types and precedence
- Taking user inputs with the “int” function
- Numeric datatypes
- Boolean
- Sequence datatypes
- Data type conversions
- Practice problem-solving with operators and inputs
Module 3: Decision-making and Loops in Python; Learning conditional statements and loops!
- Python if, if-else, else-if, nested-if
- Python Loops (for, and while)
- Patterns using nested loops.
- Floy’s triangle
- Fibonacci series
- Palindrome check
- Python break, continue and pass statements.
- Assessment
Module 4: Using string data type and built-in functions.
- Strings; Definition and properties
- Indexing, traversing, and manipulations
- Slicing operation
- Operators with Strings
- Immutability property
- Built-in functions
- String to list conversions
- Word guessing game.
- Project- password validity check
Module 5: Sequence data types; List, Tuples, Set, and Dictionaries
- Lists; Creating lists, properties, indexing, slicing, and accessing the elements.
- List operations and built-in functions
- List to string conversion
- Nested lists
- List comprehensions
- Menu-driven database with CRUD options
- Tuples; creating, properties.
- Built-in functions in tuples
- Defining Sets, properties, advanced operations
- Lottery project using Sets operations.
- Creating a dictionary, built-in functions
- Creating a nested dictionary to make an employee database.
- Pretty printing with json
- Learn to update your movie dictionary.
- Case study to compare the data types.
Module 6: Built-in modules; Importing modules
- Understanding the concept of modules and how to import them.
- Using Multiple Modules
- Number guessing game using Random module
- Dice game, and password cracking
- Math module for basic mathematical operations
- Alarm using DateTime and playsound
- Calendar module
- Project-Scrabble game with nltk
Module 7: Functions; Organize your code using functions.
- User-defined and built-in functions.
- Function definition and call
- Function Arguments
- Types of user-defined functions
- Returning multiple values
- Scope and lifetime of Variables
- Passing sequence datatypes to a function
- Lambda, map, reduce, and filter functions.
- Import user-defined functions.
- Rock, paper, scissor game
Module 8: File Handling; Data storage
- Accessing text files; basic read and write methods using various modes.
- Reading binary images and reconstructing them
- Bin files using encode and decode functions.
- Create a quiz project using file access methods.
- Renaming files using the OS module
- Create a soccer project by modifying and deleting files.
Module 9: Introduction to Micro Python; Effective communication with microcontrollers
- Understanding microcontrollers
- REPL mode
- Color simulation effects with RGB LED in mpython
- Understand OLED modes and methods.
- Drawing polygons and emojis on OLED
- Displaying bmp format images on OLED
- Make your text scroll!
- Text wrapping with OLED
- Play your favorite tune with the “mpython buzzer”!
- “Silence please” with “sound sensor”
- Simulate the piano effect with a touchpad
- Protect your mpython board with touchpad generated passcode.
- Understand interrupts and ISR
- Horizontal ball game with accelerometer
Module 10: Integrating Cruiser hardware (“Weeebot”) with “mpython board”
- Firmware installation
- Light up the WeeeBot RGB LEDs using buttons
- Distance measurement using ultrasonic sensor and display on OLED.
- Displaying border pixels of OLED
- Understanding bitmaps making scrolling displays
- Black vs White with line following sensors
- Autonomous car
- Line following Robot
- Cliff detection
- Obstacle avoidance with ultra-sonic sensor
- Project
Projects and Assessments: Test your skills.
Open A World Full of Possibilities
Teaching fundamental programming to children, especially at a young age, opens up a world of possibilities for them to develop and prosper. Learning to code encourages critical thinking in children and prepares them for a society that is becoming increasingly tech-driven.