0 (0 Ratings)
Introduction to Python Programming (Cohort 2)
Categories
Programming, Python

What I will learn?
- Set up Python and your development environment, then master core coding skills—variables, data types, functions, conditions, loops and organising reusable code.
- Automate everyday jobs by working with files and folders, using popular libraries and driving web tasks with PyAutoGUI and Selenium.
- Build smarter workflows to process Excel and PDF documents, send automated emails and alerts, and schedule your scripts to run on their own.
- Bring it all together in a mini-project to create a complete automation tool, learn error-handling and debugging, and map out your career-growth path.
Course Curriculum
Module 1 – Getting Started with Python
introduced the fundamentals of Python, giving beginners a clear understanding of how the language works and how to start writing simple programs. Python was highlighted as a beginner-friendly language with simple syntax, making it easy to read and write code.
-
Lesson 1: Introduction to Python & Setup
-
Lesson 2: Python Real-World Applications
-
Lesson 3: Introduction to Python, Variables, and Syntax
-
Lesson 4: Python Data Types
-
Lesson 5: Type Conversion & Type Checking
-
Lesson 6: Operators
-
Lesson 7: Strings and Operations
-
Summary
-
Quiz: Getting Started with Python
-
Lab Activity : Getting Started with Python
Basic Command for Command prompt, PowerShell, Zsh(macOS)
-
Basic Commands
Built-in Functions in Python
-
Lesson 1: Built-in String Functions
-
Lesson 2: Built-in List Functions
-
Lesson 3: Built-in Numeric and Type Functions
-
Lesson 4: Built-in Utility Functions
-
Summary
-
Lab Activity – Exploring Built-in Functions
-
Quiz: Built-in Functions
Module 2 – Variables, Data Types and Basic Operations
In the Variables, Data Types and Basic Operations in Python module, learners explore how to store and manage data using variables, master fundamental types such as integers, floats, strings and booleans, and perform arithmetic, comparison and logical operations step by step. Clear explanations, real world examples and hands on exercises guide you through writing and debugging code. By the end of this module, you will be ready to build dynamic Python programs and automate everyday tasks.
-
Lesson 1: Python Variables
-
Lesson 2: Basic Arithmetic Operations
-
Lesson 3: Working with String
-
Summary
-
Quiz: Variables, Data Types and Basic Operations
-
Lab Activity : Variables, Data Types and Basic Operations
Module 3 – Control Flow – Conditions and Loops
Control flow structures determine the order in which your program’s code executes. With conditional statements, you can make decisions and execute certain code blocks only when specific conditions are met. Loops allow you to repeat actions efficiently without writing redundant code. In this module, we will explore fundamental control flow concepts in Python in a step-by-step manner, similar to Microsoft’s learning curriculum. By the end, you’ll understand how to use if, elif, and else statements (including nested conditions) for decision-making, how truthy and falsy values work in Boolean logic, how to construct for loops (using range() and iterating over collections), how to use while loops along with loop control statements (break and continue), and how to leverage list comprehensions and generator expressions for concise looping. Finally, we’ll apply these concepts in a practical exercise to build an interactive decision-making system. Each section below includes explanations, code examples, and mini-exercises to reinforce the concepts, all formatted for clarity and easy follow-along.
-
Lesson 1: if, elif, else statements and nesting
-
Lesson 2: Truthiness, boolean logic, and chaining comparisons
-
Lesson 3: for loops with range() and iterating over collections
-
Lesson 4: while loops and loop control (break, continue)
-
Lesson 5: List comprehensions and generator expressions
-
Summary
-
Quiz: Control Flow – Conditions and Loops
-
Lab Activity : Building Calculator
Day 1 Summary
-
Recording Day 1
Module 4 – Functions and Code Organisation
Imagine you need to clean up a messy data set or send a personalised email to each customer. Instead of writing the same steps over and over, you can create a function and call it whenever you need. In this lesson on Functions and Code Organisation, you will learn how to define functions, pass and return information, document your work and group related code into modules for easy reuse and maintenance.
-
Lesson 1: Defining and calling functions
-
Lesson 2: Function Arguments: Positional, Keyword, Default, and Variable-Length
-
Lesson 3: Return values and early exits
-
Lesson 4: Variable scope: local vs. global
-
Lesson 5: Lambda (anonymous) functions
-
Lesson 6: Organizing code into modules
-
Lesson 7: Docstrings, type hints, and basic doc generation
-
Summary
-
Quiz: Functions and Code Organisation
-
Lab Activity : Functions and code Organisation
Module 5 – Automating a Daily Task with Conditionals & Loops
-
Lesson 1: Identifying a repetitive, manual task to automate
-
Lesson 2: Reading and validating input data
-
Lesson 3: Applying conditional logic for decision-making
-
Quiz: Automating a Daily Task with Conditionals & Loops
-
Lab: build a CLI script to bulk-rename or categorize items
Day 2 Summary
-
Day 2 Recording
Module 6 – Working with Files and Folders
In this lesson, we will learn how to manipulate files and directories using Python. We’ll explore common file operations using the os module, and see how the pathlib module provides an object-oriented way to handle file paths. We’ll also use the glob module for pattern-based file searches and learn file I/O operations for text, CSV, and binary files. Additionally, we’ll introduce the calendar and time modules to work with dates and timestamps. Finally, an interactive lab will tie everything together by automating a folder backup and cleanup task. Follow the step-by-step sections below for each subtopic, try out the code examples, and explore the guided lab at the end.
-
Lesson 1: The os module: navigating, creating, renaming, deleting
-
Lesson 2: Reading and Writing Text Files
-
Lesson 3: Working with CSV files via the csv module
-
Lesson 4: Introduction to the calendar and time Modules for Timestamps
-
Summary
-
Quiz: Working with Files and Folders
-
Lab Activity – Automate Backup and Cleanup of a Target Folder
Day 3 Summary
-
Day 3 Recording
Module 7 – Error Handling and Debugging Techniques
In this lesson, we will learn how to handle errors in Python programs and how to debug code effectively. Errors are inevitable, but knowing how to manage them ensures our programs don't crash unexpectedly. We will cover the difference between syntax errors and exceptions, how to use try, except, else, and finally blocks to catch and handle exceptions, and how to raise your own exceptions (including creating custom exception classes). We’ll also explore debugging strategies: using simple print statements or the logging module to trace your program’s execution, and using Python’s interactive debugger pdb to step through code. By following best practices for error handling and debugging, you can write resilient, maintainable code. Throughout this lesson, try the examples and exercises to practice these techniques.
-
Lesson 1: Exceptions vs. Errors: Understanding
-
Lesson 2: try, except, else, and finally blocks
-
Summary
-
Quiz: Error Handling and Debugging Techniques
-
Lab Activity : Practice Error Handling and Debugging
Module 8 – Automating Excel and PDFs with Python
In this lesson, you will learn how to automate common communication and reporting tasks using Python. We will cover sending notifications via email, messaging platforms, and SMS, as well as manipulating Excel spreadsheets and PDF files programmatically. Each section below includes step-by-step explanations, code examples, and interactive exercises to reinforce your understanding. By the end of this lesson, you’ll be able to send emails with attachments, integrate with Slack/Microsoft Teams, send SMS alerts, and automate Excel/PDF workflows.
-
Lesson 1: Reading Text from PDF Files
-
Lesson 2: Merging Multiple PDF Files
-
Lesson 3 : Reading & Writing Excel Files with openpyxl
-
Lesson 4: Modifying Excel Files
-
Summary
-
Quiz: Automating Excel and PDFs with Python
-
Lab Activity : Automating Excel with Python
Module 9 – Automating Email and Notifications
Automating email notifications with Python lets you generate and dispatch messages automatically, saving time and cutting down on mistakes. In this lesson, you will learn how to compose emails, add attachments and send them through an SMTP server—all with just a few lines of code.
-
Lesson 1: Introduction to Automating Email Notifications
-
Lesson 2: What You Will Need
-
Lesson 3: Import Required Libraries
-
Lesson 4: Securely Load Credentials
-
Lesson 5: Compose the Email
-
Lesson 6: Attach a File to the Email
-
Lesson 7: Send the Email
-
Lesson 10: Best Practices
-
Quiz: Automating Email Notifications
-
Lab: Automating Email with Attachments and Inline Images
-
Summary
Mini Project: Build your own Automation Tool
The project incorporates two common automation tasks – Contact Management and Student Tasks Tracking
-
Building a Modular Contact Manager in Python
-
Student Task Tracker
Earn a certificate
Add this certificate to your resume to demonstrate your skills & increase your chances of getting noticed.

Student Ratings & Reviews
No Review Yet
Free
Free access this course
-
LevelBeginner
-
Total Enrolled25
-
Duration24 hours
-
Last UpdatedOctober 15, 2025
-
CertificateCertificate of completion
Hi, Welcome back!
Material Includes
- Downloadable code samples
Requirements
- Basic computer skills and familiarity with file navigation
- A computer running Windows, macOS or Linux with an internet connection
- Python installed from python.org
- Choice of code editor or IDE such as VS Code, Jupyter Notebook or PyCharm
- Willingness to learn by doing and follow step-by-step labs
Target Audience
- Complete beginners with no prior programming experience
- Professionals who want to automate repetitive tasks
- Students studying IT or data-focused disciplines
- Anyone interested in learning Python for web, data or process automation