Introduction to Programming with Python
Week 1: Introduction to Python
● Overview of Python (history, use cases, why it's popular)
● Installing Python and setting up the environment (Anaconda, VSCode, etc.)
● Writing and running a simple Python script
● Introduction to variables, data types (integers, floats, strings, boolean)
● Basic input/output (print(), input())
Week 2: Data Structures
● Lists: indexing, slicing, methods (append(), pop(), etc.)
● Tuples and sets
● Dictionaries: key-value pairs, basic operations
● List comprehensions (optional)
Week 3: Control Flow
● Conditional statements (if, else, elif)
● Comparison operators and logical operators
● Practice simple decision-making problems
Week 4: Loops
● Introduction to loops (for and while)
● range() function and loop control (break, continue)
● Nested loops
● Practical problems involving loops
Week 5: Functions
● Defining and calling functions
● Parameters, arguments, return values
● Scope of variables (local vs global)
● Lambda functions (optional)
Week 6: Strings and String Manipulation
● Basic string operations (concatenation, slicing, methods like split(), join())
● String formatting using f-strings and format()
● Practice problems on text processing
Week 7: File I/O
● Reading from and writing to files
● Exception handling with try, except, finally
● Working with CSV files (optional)
Week 8: Modules and Libraries
● Importing libraries (math, random, etc.)
● Creating and using custom modules
● Introduction to third-party libraries (like requests or pandas if time permits)
Week 9: Object-Oriented Programming (OOP)
● Introduction to classes and objects
● Attributes, methods, and __init__
● Inheritance, polymorphism, and encapsulation (if advanced)
● Practice OOP problems
Week 10: Databases in Python
● Introduction to databases and SQL (what are databases, basic SQL operations)
● Connecting to SQLite databases using Python
● Creating, reading, updating, and deleting records in a database
● Practical exercises with database manipulation
Week 11: CustomTkinter for GUI Design
● Introduction to CustomTkinter (why use it over Tkinter?)
● Installing and setting up CustomTkinter
● Building a simple GUI (windows, labels, buttons, input fields)
● Adding functionality with event-driven programming
Week 12: Final Project
● A small capstone project combining the concepts learned (e.g., a to-do list app with a
GUI and database integration).