Python, The Next Level (Intermediate)

Algorithms, NP-Hard Puzzles, Clean, Fast and Functional Code -- OH MY! Taking things to the next Level
4.2 (236 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
24,497 students enrolled
$19
$20
5% off
Take This Course
  • Lectures 90
  • Length 6.5 hours
  • Skill Level Intermediate Level
  • Languages English, captions
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 2/2013 English Closed captions available

Course Description

This Python Training For Intermediate class will be giving you an introduction to the design and analysis of algorithms, enabling you to discover how individuals are connected, puzzles are solved, and problems are worked out. All with the help of Python.

This is an intermediate python course, so a minimum amount of python is recommended. But no need to be an advanced user, that is a different course.

Take this python training course if you have the basics of Python down pat and want to learn how to apply everything to hard problems. You will also learn new tools and tricks along the way.

The python training for intermediate course can be taken as one whole class or as 4 separate classes, as each problem set is self contained.

There is a Python Glossary at the end which contains all the videos dealing with Python Tools used in the course. If you forget a tool's use, you can easily look there for quick access to the information.

Some of the Python tools discussed in this course include:

</p>

  • args AND kwargs
  • class objects
  • eval function
  • generator expressions
  • generator functions
  • itertools Permutations
  • Lambda Functions
  • List Comprehension
  • Modules
  • Profiles
  • Recursion
  • re Search
  • string Format Function
  • string Translate Function
  • Try Except Blocks
  • Writing Tests

Take this ultimate Python Course: Python Training for Intermediate right now and take your expertise to the next level.

</p>

What are the requirements?

  • The very basic understanding of Python Programming Language

What am I going to get from this course?

  • The Ability to design an Algorithm
  • The Ability to solve hard Problems / Puzzles
  • The Ability to make a programme/script more efficient
  • The Ability to physically code faster
  • The Ability to test and find problems in large code projects

What is the target audience?

  • Someone who wants to take Python to the next level
  • Someone who is interested in algorithms
  • Someone who likes to solve problems/puzzles

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: About Course
02:25
A quick video describing how this course is set up.
Section 2: The Russian Peasant's Algorithm
00:16
Introduction video to this section. Algorithm's and the Russian Peasant Algorithm.
05:05
What are algorithm's and how do you develop them.  This Lecture will introduce you to these two points.
06:56
We need to understand what ARGS and KWARGS are all about. This is a refresher video on that topic.
Arguments Quiz
1 question
04:24
Our first algorithm will be The Russian Peasant Algorithm  It has been around for centuries and will be a great starting point for us.
07:32
After you have spent some time trying to code your own Russian Peasant Algorithm, I will now walk you thru how I used Python to code the solution and the Algorithm we will use for the rest of this section.
07:37
In this video we learn about writing tests and the importance of testing our code.
03:16
Now we will write the code that will test our Russian Peasant Algorithm.
06:00
After testing we now have a benchmark for how fast our algorithm is. We should now look at the possibility of making the algorithm faster.
Section 3: Simulation of Web Server Architecture
00:29
An introduction to Section 3: Simulation of a Web Server Architecture
05:27
What does the server architecture look like for a web app or service? This video will explain the basic setup and how our simulation will work.
06:37
What are Python Modules and how do you use them? This video will explain.
06:57
Lets talk about how we will simulate a server by using Python Modules.
06:56
This video will show my solution to the server module and walk thru how it will work.
03:51
What is a Load balancer and how does it work? This video will explain this and explain how to should simulate this using Python.
01:23
This video will explain the outline for creating the Load Balancer with Python.
03:57
This video walks thru one possible solution to the load balancer algorithm. It uses a global variable as a counter.
03:25
This video walks thru one possible solution to the load balancer algorithm. It uses a itertools.
02:44
This video walks thru one possible solution to the load balancer algorithm. It uses a generator expression.
02:40
This video walks thru one possible solution to the load balancer algorithm. It sets an attribute on the function.
05:19
Now that we have all the parts lets look at the entire simulation all put together. Part 1
04:13
Now that we have all the parts lets look at the entire simulation all put together. Part 2
03:16
Looping imports is a common problem when using python Modules and we discuss the topic in this video.
08:31
This video will introduce you to Python Class objects.
4 questions


03:47
This video will introduce you to Memcache and how it fits into the server architecture we are simulating.
02:45
This video outlines how we will simulate memcache using python code.
02:40
After you have written your own memcache code we will now walk thru my solution.
07:34
This video will wrap up the full simulation of our web app's server architecture. Including our memcache simulation.
Section 4: Cryptarithmetic Problem
00:36
An introduction to Section 4 - Cryptarithmetic
04:49
What is Cryptarithmetic? This video explains it all.
03:53
This video introduces a way to solve cryptarithmetic problems using python.
06:10
We need to get use a python tool called translate from the string module. This video will introduce you to this tool.
03:51
This video will be an introduction to the eval function and how to use it.
02:18
There is an important rule when solving cryptarithmetic problems, no Zeros to begin a number. This video will discuss this rule.
04:39
The regular expression module (re) has a great tool called search. We will use this toll to search for zeros.
06:46
It is useful to use try and except blocks in our code. This video will be a review of this tool. Part 1
06:28
It is useful to use try and except blocks in our code. This video will be a review of this tool. Part 2
03:37
Lets start writing our code. We will start with the valid function.
03:22
After you has written your own version of the valid function, lets look at how I have it coded.
01:34
Next up for our code is the Solve function.
03:19
After you have written your Solve function lets review how I coded it.
05:25
To help use out, it is handy to learn about List Comprehension. This video will be an introduction.
List Comprehension Quiz
1 question
05:53
Generators are a very handy tools. Lets learn about Generator Expressions.
05:59
Generator Function are next. Generators are a very handy tools. Lets learn about Generator Function.
04:13
Permutations is another great tool Python has. It can be found in the itertools module and we will learn about it in this video.
00:47
And now for the fill_in function. I explain what we need to do in this video.
03:51
And now that you have written you own fill_in function, lets review how I coded it.
03:50
A great way to analyze your code and algorithms is to use a tool called Profiling from the cProfile module. We learn how it can help you in this video.
05:25
We can see that eval() creates a bottleneck in our code. It is explained in this video.
05:40
Lets learn about a handy tool python has for functions. Its called Lambda and this video introduces it.
1 question
03:19
This video will introduce the Enumerate.
03:22
How can we make our crytarithmetic faster? This video will explain what we need to do.
09:35
Lets look at how I coded a faster version of cryptarithmetic.
03:19
We compare the two versions of the script in this video to see how much faster we are now.
04:12
We will review another solution I found and see how it compares to the different versions we created.
Section 5: Graphs / Social Network Algorithm
00:57
An introduction the new new section, Graphs / Social Network Algorithms.
03:50
An introduction to graphs and networks.
03:41
A description of how to use python to represent a graph.
05:34
We walk thru how I coded the make_link function. This is used to make our graph representations in python.
04:32
This video introduces you to the concept of recursion.
01:46
This is the solution to the recursion question from the previous video.
Recursion Quiz
3 questions
04:42
How can we determine what nodes are connected to other nodes. This video introduces the concept. 
05:35
This video will walk thru how I coded the function to check connected Nodes.
01:28
We learn about Pairwise connections and how you might use python to find them.
01:31
A walk thru of how I coded the pairwise connections function.
05:51
How can we accomplish the same results but without using Recursion? This video will explain.
03:57
An introduction to Breadth First Search.
04:24
I introduce the Problem we wish to solve dealing with social Networks
01:59
This video discusses how python can be used to find our shortest path.
06:40
And now we will walk thru how I coded the shortest path algorithm.
05:45
I will show how I did some simple modification to our existing code to know determine centrality of a Node.
Section 6: Closing
00:27
Well the course is finished and I have a few closing remarks.
Section 7: Python Glossary (Duplicate Videos)
args AND kwargs
06:56
Class Objects
08:31
eval
03:51
Generator Expressions
05:53
Generator Functions
05:59
itertools.Permutations
04:13
Lambda Function
05:40
List Comprehension
05:25
Modules
06:37
re.Search
04:39
string.Format - Part1
07:38
string.Format - Part 2
03:06
string.Format - Part 3 - ANSI Art Script
01:05
string.Format - Part 4 - ANSI Art Script, answer
03:01
string.Translate
06:10
Try Except Blocks - Part 1
06:46

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Jay Elbourne, A Nerd at heart (Programmer, and Architectural Designer)

Constant state of learning, thirst for the artistic and I love the product of hard work. I try to bring the creative passion into my entrepreneurial endeavors. I currently operate 2 businesses in the fields of Architectural Design, and Computer Programming.

I pride himself on keeping things simple while have fun during the learning process.

"Hands on learning is the ultimate path to a solid education."

With a down to earth and fun loving "Not So Serious" learning path, I feels my courses can make everyone feel comfortable learning even the hardest of topics.

Ready to start learning?
Take This Course