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 stuff that you don't understand. So, the question is: how do you go from a beginning level programmer to the expert level? How do you become a guru?
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 stuff that you don't understand. So, the question is: how do you go from a beginning level programmer to the expert level? How do you become a guru?
This course answers this question. In it, we will be building 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 like generators, decorators, callbacks, higher order functions, context managers and others.
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. For all concepts, we take a case study-based approach and motivate why we need the concepts we're seeing and how everything fits together.
Remember: the most important reason you're paying for a course is support. So, please ask questions in the Q&A forum if you ever get stuck. I have a maximum response time of around 15 hours not average, maximum. Please use this to your advantage ask questions and you should be able to breeze through this course and go beyond a basic level of programming to the next level where your code will take less time to write ... will be clean and much easier to maintain.
What will I learn?
About the instructor:
Target Audience:
Anyone who:
What you need to know:
You should have knowledge of basic usage of Python (variables, conditionals, loops, basic list and dictionary usage, basic file handling)
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.