Booking options
£26.99
£26.99
On-Demand course
3 hours 9 minutes
All levels
Take your Python skills to the next level. Learn how expert programmers work with code and the techniques they use.
So you have taken an initial programming course or have learned the basics on your own. However, when you look at other people's code, or listen to their discussions, you see many concepts that seem alien and that you don't understand. So, the question is: How do you go from a novice programmer to an expert? How do you become a professional? This course answers this question. In it, we will build on top of your existing basic understanding of the Python language (and programming in general). We will cover concepts that will take you to the next level of programming expertise. These will include language constructs that are typically not covered in a beginner-level course-concepts such as generators, decorators, callbacks, higher-order functions, context managers, and more.
We will also discuss some tools that are not difficult but are essential to the life of a professional programmer. An example of this is logging for tracking down bugs, a simple technique that is used in all production-level software but is never touched upon in typical programming courses. We will discuss parallel programming, multi-threading, and synchronization issues-another important concept you must understand to code in a production environment. We discuss these through a case study to explain WHY you need them as well as HOW to use them.
Closely related to this, a highly important concept in today's programming practice is the idea of asynchronous programming, more commonly known as asyncio. Python and JavaScript, two of the most influential languages in today's development, are heavily focused on this new paradigm and we will cover this in a very intuitive, easy-to-understand manner. All the code files are placed at https://github.com/PacktPublishing/Beyond-Basic-Programming---Intermediate-Python
• Cross-cutting tools (logging and testing)
• Caveats in using lists
• Intermediate Python concepts such as decorators, generators, and context managers
• Parallel programming, multithreading, synchronization, and locks
• Asynchronous programming (asyncio) and data plotting
• Regular expressions (and how to avoid headaches when using them)
Anyone who has a basic understanding of Python but wants to take their skills to the next level; beginners who want to learn the tools and techniques used by expert professional programmers; anyone who wants to learn about cross-cutting tools and skills that are useful in many programming languages and to learn the latest programming concepts, such as context managers, asynchronous programming, and regular expressions in a modular way.
For all concepts, this course is designed into a case-based teaching and Problem-based Learning approach and explains why we need the concepts we're using and how everything fits together.
• Take your Python skill to the next level * • Master cross-cutting tools (logging and testing) * • Use asynchronous programming (asyncio) * • Plot data * • Modular Regular Expressions
https://github.com/packtpublishing/beyond-basic-programming---intermediate-python
Dr. Mohammad Nauman has a PhD in computer science and a PostDoc from the Max Planck Institute for software systems. He has been programming since early 2000 and has worked with many different languages, tools, and platforms. He holds extensive research experience with many state-of-the-art models. His research in Android security has led to some major shifts in the Android permission model. He loves teaching and the most important reason he teaches online is to make sure that maximum people can learn through his content. Hope you have fun learning with him!
1. Introduction
2. Cross-cutting Tools
3. Intermediate Programming Concepts
4. Time Saving Features
5. Parallel and Asynchronous Programming
6. Functional Programming
7. Applications