Beyond Basic Programming - Intermediate Python [Video]

More Information
  • 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)

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

Style and Approach

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
Course Length 3 hours 9 minutes
ISBN 9781838559458
Date Of Publication 18 Dec 2018


Dr. Mohammad Nauman

Dr. Mohammad Nauman - PhD, programmer, researcher, designer and teacher.
Mohammad Nauman holds a PhD in Computer Sciences 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 has extensive research experience with many state-of-the-art models to his name. His research in Android security has led to some major shifts in the Android permission model.