Python Curriculum Plan
-
Teaching Days: Monday to Friday (5 days each week)
-
Holidays: Saturday and Sunday (every week)
-
QA Session: Every 14th day (every other weekend)
Time: 8:00 PM to 9:30 PM
Week 1
Day | Topic |
---|---|
Day 1 (Monday) | Introduction to Python, Ecosystem, Installing Python |
Day 2 (Tuesday) | Setting Up IDEs (Google Colab, Jupyter, VSCode, PyCharm) |
Day 3 (Wednesday) | Writing Your First Code + Python Syntax |
Day 4 (Thursday) | Data Types, Variables, Type Casting |
Day 5 (Friday) | Input/Output, String Formatting, Escape Sequences |
Saturday/Sunday (Holidays)
Week 2
Day | Topic |
---|---|
Day 6 (Monday) | Operators, Expressions, Type Checking |
Day 7 (Tuesday) | Control Flow: if , else , elif |
Day 8 (Wednesday) | Loops (for , while ), Loop Control (break , continue , pass ) |
Day 9 (Thursday) | Special Loops, for/else , List Comprehension |
Day 10 (Friday) | QA Session 1: Review of Concepts from Week 1 & Week 2 |
Saturday/Sunday (Holidays)
Week 3
Day | Topic |
---|---|
Day 11 (Monday) | Functions (Basics, def , return, arguments) |
Day 12 (Tuesday) | Functions: *args , **kwargs , Lambda, Scope |
Day 13 (Wednesday) | Lists – Methods, Indexing, Looping, List Comprehension |
Day 14 (Thursday) | Tuples, Sets, Key Differences, Set Operations |
Day 15 (Friday) | QA Session 2: Review of Functions, Data Structures, and Comprehensions |
Saturday/Sunday (Holidays)
Week 4
Day | Topic |
---|---|
Day 16 (Monday) | Dictionaries – Nested Dictionaries, Methods, Comprehensions |
Day 17 (Tuesday) | File Handling (Text, CSV, JSON) |
Day 18 (Wednesday) | OOP Basics: Classes, Objects, __init__ , self |
Day 19 (Thursday) | OOP Advanced: Inheritance, Polymorphism, Encapsulation |
Day 20 (Friday) | QA Session 3: Review of OOP and File Handling Concepts |
Saturday/Sunday (Holidays)
Week 5
Day | Topic |
---|---|
Day 21 (Monday) | Error Handling & Debugging |
Day 22 (Tuesday) | Iterators, Generators, Closures |
Day 23 (Wednesday) | Standard Libraries: math , os , random , datetime |
Day 24 (Thursday) | Pandas + DataFrames, Data Cleaning |
Day 25 (Friday) | QA Session 4: Review of Advanced Topics and Libraries |
Saturday/Sunday (Holidays)
Final Day (Project Submission)
Day | Topic |
---|---|
Final Day | Final Project Submission & Wrap-up (Discuss and showcase final project) |
Assignments Plan
Week 1: Introduction to Python & Basic Syntax
Assignment 1:
Due: Friday (End of Week 1)
-
Objective: Write a Python program to demonstrate basic syntax, including variables, data types, and type casting.
-
Instructions:
-
Create a program that asks the user to input their name and age.
-
Print a greeting message using string formatting (e.g., “Hello [name], you are [age] years old”).
-
Implement type casting where needed.
-
Submission Requirements:
-
Submit the Python code via a file or a notebook (.py/.ipynb).
Week 2: Operators, Control Flow, and Loops
Assignment 2:
Due: Friday (End of Week 2)
-
Objective: Write a Python program that demonstrates the use of operators, conditionals, and loops.
-
Instructions:
-
Create a program that calculates the factorial of a number using both a
for
loop and awhile
loop. -
The program should ask the user to input a number and output the factorial.
-
Add conditional checks to handle edge cases like negative numbers.
-
Submission Requirements:
-
Submit a Python script (.py) or Jupyter notebook (.ipynb) demonstrating the required operations.
Week 3: Functions and Data Structures
Assignment 3:
Due: Friday (End of Week 3)
-
Objective: Create a Python program that utilizes functions and data structures (lists, sets, tuples).
-
Instructions:
-
Write a function that accepts a list of numbers and returns the sum of even numbers in the list.
-
Write another function that accepts a set of numbers and removes duplicates from a list of numbers (simulate set behavior).
-
Create and demonstrate the use of at least one lambda function.
-
Submission Requirements:
-
Submit the Python code in a .py file or Jupyter notebook (.ipynb) format.
Week 4: Object-Oriented Programming (OOP) and File Handling
Assignment 4:
Due: Friday (End of Week 4)
-
Objective: Implement a class-based program and file handling functionality.
-
Instructions:
-
Create a class
Book
that has attributes like title, author, and year of publication. -
Implement methods to display the details of a book, update the year, and compare two books based on the year.
-
Create a file handling function that saves and reads a list of books (in CSV format).
-
Implement inheritance by creating a subclass
Ebook
that adds an additional attribute,file_format
.
-
Submission Requirements:
-
Submit the Python code in a .py file or Jupyter notebook (.ipynb) format.
-
Provide a text file (.txt or .csv) that contains the saved books.
Week 5: Error Handling, Debugging, and Libraries
Assignment 5:
Due: Friday (End of Week 5)
-
Objective: Work with error handling, debugging, and Python libraries (e.g.,
math
,os
,random
,datetime
). -
Instructions:
-
Write a program that simulates a basic number guessing game.
-
Include error handling for user input to ensure valid entries (e.g., catch invalid number inputs).
-
Use the
random
library to generate a random number anddatetime
to log timestamps for each guess. -
Implement debugging statements to show the state of the game (e.g., print variables and logic flow).
-
Submission Requirements:
-
Submit the Python code in a .py file or Jupyter notebook (.ipynb) format.
Final Project (Week 6)
Final Project Assignment:
Due: Final Day (Week 6)
-
Objective: Develop a comprehensive Python project that incorporates concepts learned throughout the course.
-
Instructions:
-
Choose a real-world problem or application that interests you (e.g., a simple web scraper, data analysis project using
Pandas
, or a basic inventory management system). -
The project should use at least:
-
Functions
-
Data structures (e.g., lists, dictionaries)
-
File handling (save and read from files)
-
OOP (classes, objects, inheritance)
-
Error handling and debugging
-
-
Submit your project along with a short write-up describing:
-
The problem you are solving
-
How you implemented the solution
-
Any challenges faced during development
-
-
Submission Requirements:
-
Submit the project code as a python module through GitHub repository link.
-
Include a brief documentation or a readme file explaining how to run the project and what it does.