Part 1: Python Fundamentals: Learn the basics of Python programming using real-world applications and games.
Module 1: Getting familiar: Set up your Python environment, choose the IDE, and learn the basics of printing.
- Interpreters and Compilers
- Modes of programming
- Python IDEs
- Understanding IDLE
- Print function- your first program with end and sep
- Escape characters.
- Python Character set
- Indentation
- Writing Comments
Module 2: Python tokens and introduction to datatypes
- Different 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.
- Floyd’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
- Mean, mode, and median using the statistics module.
- Calendar module
- Operating System Management using OS module.
- Accessing Modules from another Directory
- Introduction to Packages
- 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- basics; 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.
Part 2: Learn real-world Python with advanced programming concepts.
Module 1: IDE; Working with the common IDEs.
- Introduction to Jupyter Notebook and PyCharm
- Getting familiar with the Notebook interface
- Working with Notebook
- Understand the PyCharm environment and features.
Module 2: File management; Common types of files and how to parse them.
- Binary file handling using Pickle.
- Reading png images and conversion to binary using base64
- Importing files
- Parsing CSV files using the readlines method
- Parsing CSV files using the CSV module
- JSON -in everyday life
- Inter-file conversions
- Data display using Tabulate.
- Projects using CSV and Tabulate
Module 3: Error handling and debugging
- Most common exception errors in Python
- Exception Handling using Try, Finally, and Except blocks.
- Resource handling during exceptions
- Use of Python Built-in Exception
- Python Debugger (PDB)
- Practice problems
Module 4: Object-Oriented Programming in Python
- Procedural vs Object-Oriented Programming
- Concept of data hiding
- Class and Objects
- __init__ function
- Use of self in OOPS
- Class Variables vs Instance Variables
- Accessor & Mutator in Python
- Inheritance
- Polymorphism
- Method Overriding
- Special methods
- Assignments
Module 5: Basics of Regular Expressions
- RegEx patterns!
- The re Library
- Meta characters
- RegEx functions
- Grouping
- Replace with sub () method.
- Use of Special Characters
- Projects
Module 6: Fundamentals of Data Science
- Scientific Computing using “numPy”
- Using functions to create, sort and split “numpy arrays”
- Artificial images using “numpy”
- Interactive data visualizations using “Matplotlib”!
- Understand “DataFrames” in Pandas.
- Accessing elements and operations with “DataFrames”
- Dealing with “NaN” values
- “groupby” methods in “DataFrames”.
- Projects
Module 7: Fundamentals of Image Processing using “Pillow”
- Importing and reading JPEG images using Pillow
- Converting images to numpy
- Changing basic image attributes-size
- Crop an image, copy and paste
- Rotate and flip an image!
- Projects
Module 8: Communication Over Networks
- Chat Application
- Sending a Text e-mail using Python
- Sending an HTML e-mail using Python
- Sending Attachments as an E-mail
- Application-based projects
Module 9: Web Scraping using Python!
- HTML structure
- Parsing HTML using BeautifulSoup4
Module 10: GUI with “Tkinter”
- Intro to GUI using “Tkinter”
- Basic definitions and concepts
- Create the First GUI Application
- Creating windows and buttons
- Packer
- Get Input Using Entry Class
- Frames and Notebook
- Creating a file menu with edit and save options.
- Projects and assessments
Module 11: Fundamentals of Machine Learning
Module 12: Fundamentals of Artificial Intelligence
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.