Week 1: Python Basics and Core Concepts
- Objectives:
- Understand Python syntax and foundational concepts.
- Write basic programs with variables, loops, and conditionals.
- Things to Learn:
- Variables, data types, and operators.
- Input/output operations.
- Control flow (
if
,for
,while
).
- Homework:
- Solve 10 basic coding problems on a platform like HackerRank.
- Write a BMI calculator program.
- Write an RPI Calculator
- Summary of Week:
- You’ve set up your Python environment and built a strong understanding of the basics, including:
- input/output
- loops
- conditionals.
- You’ve set up your Python environment and built a strong understanding of the basics, including:
Week 2: Functions and Modular Programming
- Objectives:
- Write reusable and modular code using functions.
- Understand the importance of function arguments and return values.
- Things to Learn:
- Defining and calling functions including:
- Modular programming with custom modules.
*args
**kwargs
- lambda functions.
- Homework:
- Create a unit converter program using modular functions.
- Solve 5 function-related challenges on LeetCode.
- Summary of Week:
- You’ve gained confidence in writing reusable code and breaking problems into smaller, manageable pieces.
Week 3: Data Structures and Algorithms
- Objectives:
- Understand and use Python’s built-in data structures.
- Apply sorting and searching algorithms to solve problems.
- Things to Learn:
- Lists
- tuples
- sets
- dictionaries.
- Common algorithms (e.g., sorting, searching).
- Homework:
- Implement a to-do list manager using dictionaries.
- Write a program to sort a list of numbers using bubble sort.
- Summary of Week:
- You’ve learned how to use and manipulate data structures and apply basic algorithms to real-world problems.
Week 4: Object-Oriented Programming (OOP)
- Objectives:
- Use OOP principles to design and implement Python programs.
- Understand classes, objects, and inheritance.
- Things to Learn:
- Classes and objects.
- Inheritance, polymorphism, and encapsulation.
- Homework:
- Create a library management system using OOP.
- Solve 5 class-related challenges on Codewars.
- Summary of Week:
- You’ve mastered creating structured programs with OOP, making your code more organized and scalable.
Week 5: Working with Files and Error Handling
- Objectives:
- Read and write files in various formats.
- Handle errors gracefully in programs.
- Things to Learn:
- File operations (text, binary, CSV, JSON).
- Exception handling (
try
,except
,finally
).
- Homework:
- Build a program to analyze word frequency in a text file.
- Write a program that gracefully handles file read/write errors.
- Summary of Week:
- You’ve gained skills in file manipulation and error handling, essential for data processing tasks.
Week 6: Intermediate Python: Libraries and Packages
- Objectives:
- Leverage Python libraries to perform data analysis and visualization.
- Use APIs to retrieve data programmatically.
- Things to Learn:
- NumPy, pandas, Matplotlib.
- Using
requests
to interact with APIs.
- Homework:
- Fetch weather data using an API and visualize it with Matplotlib.
- Analyze and plot data from a CSV file.
- Summary of Week:
- You’ve started working with Python’s powerful libraries, enabling you to analyze and visualize data.
Week 7: Databases and Web Development Basics
- Objectives:
- Store and retrieve data using databases.
- Build simple web applications with Flask.
- Things to Learn:
- SQLite and SQLAlchemy for database operations.
- Flask basics (routes, forms, templates).
- Homework:
- Create a budget tracker with a Flask interface and SQLite backend.
- Write SQL queries to manage database records.
- Summary of Week:
- You’ve built your first full-stack application, combining a database with a web interface.
Week 8: Testing and Debugging
- Objectives:
- Write unit tests to ensure code reliability.
- Debug programs using Python’s debugging tools.
- Things to Learn:
- Writing tests with
unittest
orpytest
. - Debugging tools like
pdb
.
- Writing tests with
- Homework:
- Refactor and write tests for your to-do list program.
- Debug and optimize any previous project.
- Summary of Week:
- You’ve enhanced your ability to write reliable, maintainable code through testing and debugging.
Week 9: Advanced Topics
- Objectives:
- Explore advanced Python features to enhance efficiency.
- Understand multithreading and concurrency.
- Things to Learn:
- Decorators, context managers, and generators.
- Multithreading and multiprocessing.
- Homework:
- Build a multithreaded file downloader.
- Implement a custom decorator to log function execution times.
- Summary of Week:
- You’ve tackled advanced Python features, giving you tools to write efficient and sophisticated programs.
Week 10: Portfolio Project
- Objectives:
- Apply all skills learned to create a polished, portfolio-worthy project.
- Homework:
- Develop a complete application (e.g., expense tracker or weather app).
- Document the project and deploy it online (e.g., GitHub or Heroku).
- Summary of Week:
- You’ve completed a project that demonstrates your Python proficiency and is ready to showcase to employers.
Course Conclusion: What You Should Be Able to Do for an Employer
- Write clean, maintainable Python code for various tasks.
- Create and manipulate databases, automate workflows, and build web applications.
- Analyze and visualize data using Python libraries.
- Debug, test, and optimize code for production readiness.
- Contribute to team projects by understanding and applying modular and scalable design principles.
This comprehensive approach ensures you’re ready for part-time Python programming roles!