Beyond Basic Programming - Intermediate Python (Udemy.com)

Take your Python skills to the next level. Learn how expert programmers work with code and the techniques they use.

Created by: Mohammad Nauman

Produced in 2019

icon
What you will learn

  • Take your Python skill to the next level
  • Stunning SUPPORT. I answer questions on the same day.
  • Learn cross-cutting Tools (logging and testing)
  • Understand caveats in usage of lists
  • Learn intermediate Python concepts such as decorators, generators, context managers
  • Learn parallel programming, multithreading, synchronization, locks
  • Use asynchronous programming (asyncio)
  • Plot data
  • Modular Regular Expressions (and how to not have headaches when using them)

icon
Quality Score

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 92 / 100

icon
Course Description

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?

Cross-cutting Tools (logging and testing)Caveats in usage of listsIntermediate Python concepts such as decorators, generators, context managersParallel programming, multithreading, synchronization, locksAsynchronous programming (asyncio)Plotting dataRegular Expressions (and how to not have headaches when using them)

About the instructor:
Teacher and researcher by professionPhD in Security and a PostDoc from Max Planck Institute for Software Systems, Germany17+ years of working with computers and 15+ years of teaching experience10+ years of working professionally as a Linux System Administrator/VoIP DevOp -- including 5+ years of provable track record on UpWork (with 5.
0 star rating there)

Target Audience:

Anyone who:

Has a basic understanding of Python but wants to take their skills to the next levelWants to learn the tools and techniques used by expert professional programmers

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) Who this course is for:
Anyone who has a basic understanding of Python but wants to take their skills to the next levelAnyone who wants to learn the tools and techniques used by expert professional programmersIf you want to learn about cross-cutting tools and skills that are useful in many programming languagesIf you want to learn the latest concepts of programming such as context managers and asynchronous programmingIf you want to learn how to use Regular Expressions in a modular way (i.
e. without headaches)

icon
Instructor Details

Mohammad Nauman

I have a PhDin Computer Sciences and a PostDoc from the Max Planck Institute for Software Systems.Ihave been programming since early2000 and have worked with many different languages, tools and platforms. Ihave an extensive research experience with many state-of-the-art models to my name. My research in Android security has led to some major shifts in the Android permission model.
I love teaching and the most important reason Iupload on Udemy is to make sure people can find my content. If you have any problem with finances and you want to take my courses, please visit my site (link on the left). Iammore than willing to give out coupons that will make the course more affordable for you.
You can see all the different areas I've worked with on my site as well as on my github page.

icon
Reviews

4.6

32 total reviews

5 star 4 star 3 star 2 star 1 star
% Complete
% Complete
% Complete
% Complete
% Complete

By Jayant Solanki on 12/27/2020

yes, logging is a good debugging tool, nice introduction to this module

By Chinmay Gokhale on 10/27/2020

The explanations are not easy to understand and anaconda takes up a lot of space at least 5 GB

By Lior Uzan on 9/5/2020

Great course!

By Ethan Schmit on 2/10/2020

Great time saving features in this course.

By Muhammad Shafeeq Jadoon on 11/12/2019

Very concise,to the point information and very helpful and easy to understand exercises. Recommend it

By Sylwester on 10/2/2019

Good overall, the "beyond" in terms of Python can be defined so broadly that it's impossible to tell everything in one course.
Topics presented were clear and chosen well, explanations were okay too.
The only thing I would improve are adding more engaging exercises.

By Larry Carter on 8/22/2019

This is an excellent course for someone who has spent some time writing Python and is ready to improve their skill.
Dr. Nauman properly recognizes intermediate development topics and does a good job of addressing many of them. So many "intermediate" courses spend way too much time rehashing the basics and then not enough time and effort on the important topics to help learners move on from those basics which is something this course avoids.
The only real glaring negatives to me are that there are some cases where the lecture examples could be better and the case studies need way more depth.

By R W on 8/15/2019

Excellent tools, well explained,. Very hard to find a course like this online that teaches the skills and practices needed to graduate from the basics. Thank you!

By Franco Parodi on 8/14/2019

Si

By Meng on 7/22/2019

pretty good content. didn't cover much tho

By Allan McElroy on 5/18/2019

Before starting this course I learned the basic concepts; this course built nicely on where I've gotten to so far. Nauman's section on regular expressions is superb!

By Salman Ali on 4/15/2019

Very nice examples and verbose explanations