10-12 hours
The “Practical Python Programming” course is an intermediate-level Python course aimed at individuals with some programming experience. It focuses on teaching Python through the practical problem of manipulating data, particularly stock market data, and introduces other programming topics such as data analysis, plotting, web programming, and software design. The course provides hands-on exercises, emphasizes the use of real-world examples, and covers essential concepts like functions, classes, generators, testing, and package organization.
PREREQUISITES
The target audience for the “Practical Python Programming” course consists of individuals with some programming experience, including engineers, scientists, web programmers, and less experienced developers. The course is not designed as a beginner’s programming course but aims to introduce Python to this diverse group of learners. The course takes a practical approach by teaching Python through the manipulation of data, specifically stock market data, which is chosen for its simplicity and relevance across different backgrounds. By using relatable examples, such as comparing data structures to spreadsheet columns, the course stays grounded in a real-world context and avoids getting sidetracked by esoteric computer science problems. Additionally, the course explores various programming topics applicable to different domains, such as data analysis, plotting, web development, log file handling, and software design, to cater to the specific interests and needs of the participants.
Learning Objectives
- Gain proficiency in Python programming: Develop the skills and knowledge required to write Python code effectively, with an emphasis on practical problem-solving.
- Manipulate and analyze data: Learn techniques and tools to manipulate and analyze data using Python, particularly in the context of stock market data.
- Understand essential programming concepts: Grasp fundamental programming concepts such as functions, exceptions, modules, classes, objects, inheritance, and encapsulation.
- Apply Python for specific tasks: Learn how to use Python for data analysis, plotting, web programming, log file handling, and software design, catering to the diverse backgrounds and interests of the participants.
- Enhance problem-solving skills: Develop problem-solving abilities by working through hands-on exercises and applying Python programming to solve real-world problems.
- Familiarize with testing and debugging: Gain knowledge of testing and debugging techniques, including the use of the unittest module, logging, assertions, and the debugger.
- Learn package organization: Understand how to organize code into Python packages, including package structure, import statements, and creating setup.py files for distribution.
- Explore advanced Python topics: Introduce advanced topics such as generators, variadic function arguments, lambda functions, closures, and decorators, providing a glimpse into more sophisticated Python programming techniques.