Three Keys to Advanced Python
If You Already Know Python's Basics...
Learn Three Next-Level Strategies Used Every Day By The World's Top Python Pros.
If you already know how to write simple Python scripts using functions, dicts and lists...
But you have been struggling to "break through" to more sophisticated, powerful Python software...
We have created a special course for you called:
Three Keys to Advanced Python
Key #1: Object-Oriented Programming
This is the "critical base" all powerful software builds on...
You see, OOP is the absolute foundation. EVERYTHING builds on it, as you graduate to the intermediate and advanced levels...
And at Powerful Python, we have taught over 10,000 working Python developers and data scientists worldwide...
Finding that the most common issue holding them back:
Is a poor understanding of the timeless, powerfully profound principles of object-oriented programming...
And how to express them in Python code, easily, gracefully, and successfully:
- Starting with a rapid overview of the syntax for writing classes in Python...
- Clarifying terminology and dispelling the mystery surrounding the "jargon" of OOP...
- Quickly progressing to a deeper lesson on more powerful features of Python's object system...
- With a particular focus on how different features multiply together across different related classes...
- With practical code examples that are complex enough to relate to realistic code...
- While being simple enough to clearly demonstrate the potent and valuable concepts you are learning...
- With insights into how classes relate to Python's built-in type system...
- Followed by a fun coding exercise, where you use OOP to write code modeling the combat in a "hack 'n slash" dungeon-crawler game...
"I greatly enjoyed the course and am glad that I had the opportunity! I found the videos to be higher quality than other Python content available. They were straight forward, well paced, and very informative. Each one broke down the main lesson and then provided several examples. I also appreciated that the videos were interesting but simple.
A lot of other Python videos I have tried are full of distracting, gimmicky elements that detract from the overall learning experience. Overall, these videos provided a lot of “bang for the buck” in terms of learning compared to time invested.
The labs were also high quality and did a good job of reinforcing what was taught in the videos. They helped me to solidify the concepts and understand how the same ideas could be deployed in other ways in the future. Overall, I gained a lot of knowledge from this course and will definitely use what I learned to improve and scale my projects going forward."
Polly McKim, Washington, DC, USA
Key #2: Unit Testing
This next key is transformational...
It is one of the key skills separating average developers, from the best engineers on the face of the earth...
That key is writing automated tests...
And how you can use them to write richer, powerful, more complex software than you ever could before...
Simply put, learning this skill gives you a SUPERPOWER...
Because of how it dramatically expands what you are capable of as a developer using Python...
Letting you create the kind powerful, complex software that previously, you just could not touch...
"Thanks for sharing the 3 Key concepts to master Python programming.
I found the videos and labs very helpful in advancing my programming knowledge in general to the next level. I would like to take this opportunity and let you know that these basic concepts could be put forth in mastering any programming language.
I was underestimating the use of unit tests while writing code and going forward would put the things I have learnt into practice to make my code error proof. With everything going digital and never dearth of data comes the need for process of massive datasets and now I have a new insight now with generators which I would like to use in databricks where I play with data all the time which would be a new ammunition in my armoury. Kudos!"
Praveen Venkatesh, Newberg, Oregon, USA
"The TDD part really simulates the cycle of the TDD process, it's great... About the solutions: PERFECT. It's the best way to compare my coding to a real master developer."
Gil Ben-David, Bat-Yam, Israel
- What makes writing automated tests a superpower used every day by the top 1% elite Python developers worldwide...
- And showing how you can leverage it to create expressive, rich code, more powerful than ever before
- The key distinctions in different kinds of automated tests
- What kinds of code unit tests are most valuable for
- The basic structure of a practical unit test
- Python's built-in tooling for writing powerful tests
- The all-important reporting and code organization features for tests
- Coding exercise to apply what you have learned... and forms the foundation of tests you can use in your own code today
Key #3: Scaling With Generators
The third key is about scalability...
Writing code that can gracefully handle increasing magnitudes of data...
Made possible by a rich and poorly-understood feature of Python...
A mechanism called the generator...
Infusing all the Python code you write with robust scalability...
Maintaining performance as your programs process ever-increasing amounts of data...
Because in the coming years, the programs you write will have to handle more data, not less...
Guaranteeing that this key will become more important over time...
"I've done the "Three Keys to Advanced Python" course and the truth is that I find it very useful, the methodology used to teach has a high quality due the video, audio and the labs to do after the lessons. The dialogues are clear and comprehensible, your talking speed is perfect to teach (this is very important).
And last but, definitely, not least the Python Generators. The advice of how to speak about them correctly is great... I find it very important to call things by their right name, especially when this Python feature can help with a very important characteristic of the code, the scalability."
Jorge Carlos, Franco Monte San Vito, Italy
- A vivid demonstration of the dangers of hidden "memory bottlenecks" that will forever change how you look at your own Python code
- Understanding the two categories of problem these memory bottlenecks will cause
- The strange yet powerful mutation you can make to ordinary functions... holding the secret to gracefully handling large data sizes
- The "vocabulary fail" almost every single blog post about Python generators gets completely wrong
- A enlightening example from the most challenging kind of program a human can possibly create
- Coding exercise to quickly train yourself to start leveraging this potent, yet underused Python tool
Active "Lab" Coding Exercises
While instructional videos can give you valuable information...
Your REAL learning comes from writing code.
That is why this course includes ample coding exercises, with full solutions.
We call these coding exercises "labs". Because they not only help you put what you learn into action. They are also "self-grading", to evaluate your code and instantly report on your progress.
Again, detailed and fully working solutions are included, to fully support your learning.
"The instructor's implementation of [the first code challenge] was way simpler and to the point compared to mine. It was nice being able to read your solution."
Adriaan Beiertz, Panama City, Panama
"The exercises are really helpful and the fact that you have to work on it to make it run also trains your solving problem skills and not just follow along."
David Leal, Miami, Florida, USA
"As always, Powerful Python does a better job of getting into the specifics of what's going on in Python, rather than just reviewing the syntax. It's the strongest part of your approach, as Python itself seems to be focused on keeping that all beneath the surface. The videos were always clear and concise, and easy to follow along with. The labs all worked correctly and directly related to the material in a clear way."
Aaron Agostini, USA, Maryland, Reisterstown
Questions And Answers
- How long is the course?
-
If you know the basics of Python already, you can likely complete it in under 3 hours. The videos are just under 2 hours, and are concise (because you're a busy professional), so you may need to rewatch some of them. The coding exercises will take an additional 30-60 minutes for most people.
- Is this right for me?
-
Three Keys to Advanced Python is for any Python coder who is already writing simple Python scripts and code in notebooks, and is ready to “level up”. In just a few hours, it will MASSIVELY improve your thinking about realistic, complex Python code, and make an immediate difference in how you work day-to-day with Python.
- Who is this NOT for?
-
Three Keys is NOT for people brand new to programming. It assumes you have mastered the “basics” of Python, and are sick and tired of hello-world level “hand holding”; with Three Keys to Advanced Python, you are stepping into the “deep end” of the Python pool. If you are new to programming, or if you have never coded in Python before, this is not for you.
- I am a data scientist. Will this help me?
-
MASSIVELY. While data science depends heavily on mathematics and statistics, your speed and skill is strictly limited by your ability to write code. And the Three Keys are exactly what most data professionals are missing to unlock their full potential.
"The course “Three keys to Advanced Python” is a great introduction for everyone familiar with the Python basics, who wants to know the most important next steps to quickly improve their Python understanding."
The instructor introduces you to the three skills (object oriented programming, test-driven development, and generators) with high quality video recordings, thoughtfully created slides, and well selected hands-on exercises. In the exercises you will get your first repetitions — the important step of mastering a new skill!"
Lena Trautmann, Munich, Bavaria, Germany
"There are times in every developer's journey when they need help increasing mastery. Powerful Python is your guide in the Python way. By building up your understanding of intermediate fundamentals, you become a Pythonic problem-solver...
The course's most impressive attribute is the efficiency of instruction. The material is well-honed. Time is not wasted. The instructor doesn't present anything extraneous that distracts from the main lesson."
Faust Gertz, Saint Cloud, Minnesota, USA
"The topics are presented very clearly which makes working through the labs straightforward... I really liked the inclusion of solutions in the course because, even when you create your own solution, you realize that there are many ways to code that are different from your own and this really opens your eyes."
Patrick Harrison, France, Isère, Grenoble
"Thank you for the opportunity. I enjoyed this course thoroughly.
Your course brought, to me, what I would describe as the element of truth. Confidence. Your clear and concise instruction with hands on labs left me little doubt that this was the way, a step towards understanding how real software gets written. I don't think there would have been any single better use of my time in learning Python. Thank you again."
Ben Smith, Royal Oak, Michigan, USA
"The OOP exercise was a boatload of fun! Really cool to frame it in a game context, which made completing the exercise really feel like I could do something useful with my new OOP knowledge instead of just complete some exercise.
I also learn a lot from comparing my code to your solutions.
Overall, this was a great intro course to intermediate Python and is exactly what it bills itself to be -- the next step for people who feel like they've mastered the basics but don't know what comes next."
David Epstein, New York, New York, USA
"The course "Three Keys to Advanced Python" is well worth your time when you already know the basics of coding in Python and are itching to go beyond your current comfort zone and want to learn the more advanced aspects of Python programming.
The instructor explains in a clear and concise manner what classes are and then introduces you the wonderful world of OOP, unit testing and generators for more scalable code.
What I really like is that you get to practice what is explained after each video in the provided labs. It really is a game to get the all the tests to pass without having to look at the solutions! For each of the labs you also get the solutions so you can compare your solution with the solution that is provided and learn more from the given solution.
This course is highly recommended to be introduced to the advanced aspects of Python that will expand your Python powers to the next level."
Bauke de Kroon, Netherlands, South-Holland, Rotterdam
"If you are already familiar with Basic Python and looking for guidance on moving ahead in the game, you are at the right place. In this course, I was taught 3 important topics - Object Oriented Programming (OOP), Test-Driven Development (TDD) and Generators, which will help you to learn developing powerful and quality software. If you complete this course as per his instructions, I am pretty sure you will be transformed into the best Python developer."
Vinod Sangare, Miami, Florida, USA
"I'm a college graduate with a minor in computer science, major in information technology. I have written programs in a few different languages, including C/C++, Java, and Python, and would describe my level as “can write programs that will work but might be rudimentary and lacking in optimizations”.
Python is probably my favorite language so I wanted to see these three keys. Overall, I really enjoyed the structure of the course. I was not sure I would be a big fan of the videos (I am more of a book learner than hearing a video) but you managed to keep me interested in the videos!
I appreciate the slides being given as well, as I sometimes found myself going back to the slides when working on the labs. And the labs were quite fun. I found myself excited for the next labs! It was very satisfying when I ran my code and got the "all test pass give someone a high five" message.
I think the course is very well done. I did not find myself feeling stuck or unsure of what to do and felt that we were given enough insight to get ourselves interested in learning more about these concepts. I tried to find something to criticize but I am unable to find anything that I had an issue with! It was a great course."
Austin Paolello, Mullica Hill, New Jersey, USA
"What I would commend you for is the careful and in-depth explanations of concepts and the emphasis on correct terminology. I appreciate this quality... I enjoy your delivery too."
Debi Jones, Raleigh, North Carolina, USA
"My name is Luca Didaci, I am an assistant professor of computer science. I followed the short course "Three Keys to Advanced Python" mainly to get some ideas on the didactic approach. I enjoyed the course. In its compactness, it focuses on individual points very well and offers students interesting ideas... It offers the right insights, and then it's up to the students to grasp all the implications. Once you are properly addressed, the net is full of material to fill the gap. Ultimately, it is a course I would recommend."
Luca Didaci, Cagliari, Italy
"First let me thank you for allowing me to participate in this course. I found it challenging and rewarding at the same time. As someone with a year's worth of part time book Python, the video/exercise format was exceptionally helpful.
Although the concepts and code were not entirely new to me, the way you explained the concepts, and the exercises, helped me to appreciate the code in a way I hadn't before. I'm excited to start writing unit tests, I see how it can improve my ability to produce quality programs. And as someone who wants to build a D&D game, your module on OOP was informative as well as timely. I have a clearer and simpler understanding of how to structure my game with classes. I'm also going to start experimenting all over the place with generators.
I feel as if I have just scratched the surface. I realize that I have a deep road of study ahead of me in each of the Keys you laid out, but you have pointed a direction that I feel will benefit me greatly.
Again, Thank you!"
Jeremy Loscutoff, Roseville, California, USA
"This is the course I wish I had had before I learned to program on my own. The lessons taught in this course, while appearing simple, are the foundational ideas of being a productive programmer. Following these practices and expanding on them throughout your career will make the code you produce more correct, maintainable and scalable while allowing you to produce it and change it in less time than your programming peers."
Adrian Adshead, Madison, Wisconsin, USA
"For a short intro to some of the most important advanced topics in Python, this was a great course. I thought you laid out the conceptual idea behind classes and objects clearly and succinctly in the intro video.
As for TDD and automated testing generally, that section was new to me and extremely helpful. I know theoretically that testing is important, but seeing how it works, and especially seeing how it works as part of the TDD development method was really helpful.
What I liked about the labs was that we were expected to write code. In a lot of other online courses, I have run into labs where the entire code was written with the exception of a single line that the student was expected to complete.
Not so here. Even more so, I appreciated the lab descriptions were given in the form of the expected behavior of the functions or classes. I thought this connected organically with the TDD lesson and set the brain to be thinking in terms of test cases in how to think through what the code should be doing. This really primed me for the TDD lesson to really see how important thinking in terms of test cases and testable code is.
Overall, it was a really great experience."
Brian Roberts, Silver Spring, Maryland, USA
"I was IMPRESSED! This seems like a great way to learn intermediate concepts by getting your hands dirty.
The labs here are nice isolated projects, so I had fewer domain-specific things to worry about and could focus on just the concept I was trying to learn. That gave me room to learn on a deeper level than "this will run and pass the tests." I came away feeling ready to revisit some of my old code.
Thanks again!"
Mark Baker, Cambridge, Massachusetts, USA
"I think it was pretty excellent. Very much applicable to where I'm at with Python today and taking my coding to the next level. I got amazing insights regarding how I can improve my coding skills in Python. If you are interested to write better, professional, optimized codes and nail your coding interview, then I would strongly recommend this program. After using the tips I learned I can tell my technical Python skills are much more solid. The exercises teach you tricks that you might not found them in one book. You may need to go through many books to learn all these tricks."
Mahzad Khoshlessan, Cambridge, UK
"I have just completed "Three Keys to Advanced Python" and I feel that I have simultaneously drunk from a fire hydrant and yet truly learned how to use force multipliers within the Python language.
The instructor approaches this course from a coaching perspective, clearly explaining the various concepts at a sustainable cadence. From making sure the student is able to follow along with the labs to the code explanations, I truly appreciate the thought that was put into the design and presentation of this course.
I also liked how learning context was set both from theoretical perspective and the real world perspective. The labs gradually increase in difficulty, allowing you to eventually break through to the "ability" layer.
Unlike most programming courses, I walk away KNOWING I learned something powerful that I can use."
Anthony Paul, The Colony, Texas, USA