Python, The Next Level (Intermediate)
4.4 (317 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,829 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Python, The Next Level (Intermediate) to your Wishlist.

Add to Wishlist

Python, The Next Level (Intermediate)

Algorithms, NP-Hard Puzzles, Clean, Fast and Functional Code -- OH MY! Taking things to the next Level
4.4 (317 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,829 students enrolled
Created by Jay Elbourne
Last updated 2/2013
English
English
Current price: $10 Original price: $20 Discount: 50% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 6.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • 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
View Curriculum
Requirements
  • The very basic understanding of Python Programming Language
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>
Who 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
Students Who Viewed This Course Also Viewed
Curriculum For This Course
90 Lectures
06:44:28
+
About Course
1 Lecture 02:25
A quick video describing how this course is set up.
Preview 02:25
+
The Russian Peasant's Algorithm
8 Lectures 41:06
Introduction video to this section. Algorithm's and the Russian Peasant Algorithm.
Preview 00:16

What are algorithm's and how do you develop them.  This Lecture will introduce you to these two points.
Preview 05:05

We need to understand what ARGS and KWARGS are all about. This is a refresher video on that topic.
Preview 06:56

Arguments Quiz
1 question

Our first algorithm will be The Russian Peasant Algorithm  It has been around for centuries and will be a great starting point for us.
Preview 04:24

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.
Preview 07:32

In this video we learn about writing tests and the importance of testing our code.
Intro to Writing Tests
07:37

Now we will write the code that will test our Russian Peasant Algorithm.
Testing Russian Time
03:16

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.
A Faster Russian, via Cache
06:00
+
Simulation of Web Server Architecture
19 Lectures 01:22:31
An introduction to Section 3: Simulation of a Web Server Architecture
Section 2 Intro
00:29

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.
Web Server Architecture - Intro
05:27

What are Python Modules and how do you use them? This video will explain.
Python Modules - Intro
06:37

Lets talk about how we will simulate a server by using Python Modules.
Computer1.py Module - Homework
06:57

This video will show my solution to the server module and walk thru how it will work.
Computer1.py Module - Answer
06:56

What is a Load balancer and how does it work? This video will explain this and explain how to should simulate this using Python.
Load Balancer - Intro
03:51

This video will explain the outline for creating the Load Balancer with Python.
Load Balancer - Homework
01:23

This video walks thru one possible solution to the load balancer algorithm. It uses a global variable as a counter.
Get Server - Global Counter
03:57

This video walks thru one possible solution to the load balancer algorithm. It uses a itertools.
Get Server - Itertools
03:25

This video walks thru one possible solution to the load balancer algorithm. It uses a generator expression.
Get Server - Nested Generator
02:44

This video walks thru one possible solution to the load balancer algorithm. It sets an attribute on the function.
Get Server - Set Attr
02:40

Now that we have all the parts lets look at the entire simulation all put together. Part 1
Full Simulation - Part 1
05:19

Now that we have all the parts lets look at the entire simulation all put together. Part 2
Full Simulation - Part 2
04:13

Looping imports is a common problem when using python Modules and we discuss the topic in this video.
Looping Import Problem
03:16

This video will introduce you to Python Class objects.
Class Objects - Intro
08:31


Class Object Quiz
4 questions

This video will introduce you to Memcache and how it fits into the server architecture we are simulating.
Memcache - Intro
03:47

This video outlines how we will simulate memcache using python code.
Memcache - Homework
02:45

After you have written your own memcache code we will now walk thru my solution.
Memcache - Answer
02:40

This video will wrap up the full simulation of our web app's server architecture. Including our memcache simulation.
Full Simulator - Final Product
07:34
+
Cryptarithmetic Problem
27 Lectures 01:56:12
An introduction to Section 4 - Cryptarithmetic
Section 3 Intro
00:36

What is Cryptarithmetic? This video explains it all.
Cryptarithmetic - Intro
04:49

This video introduces a way to solve cryptarithmetic problems using python.
Cryptarithmetic and Python
03:53

We need to get use a python tool called translate from the string module. This video will introduce you to this tool.
string.Translate - Intro
06:10

This video will be an introduction to the eval function and how to use it.
eval - Intro
03:51

There is an important rule when solving cryptarithmetic problems, no Zeros to begin a number. This video will discuss this rule.
No Zeros Rule
02:18

The regular expression module (re) has a great tool called search. We will use this toll to search for zeros.
re Search
04:39

It is useful to use try and except blocks in our code. This video will be a review of this tool. Part 1
Try Except - part 1
06:46

It is useful to use try and except blocks in our code. This video will be a review of this tool. Part 2
Try Except - part 2
06:28

Lets start writing our code. We will start with the valid function.
Valid Function - Homework
03:37

After you has written your own version of the valid function, lets look at how I have it coded.
Valid Function - Answer
03:22

Next up for our code is the Solve function.
Solve Function - Homework
01:34

After you have written your Solve function lets review how I coded it.
solve Function - Answer
03:19

To help use out, it is handy to learn about List Comprehension. This video will be an introduction.
List Comprehension - Intro
05:25

List Comprehension Quiz
1 question

Generators are a very handy tools. Lets learn about Generator Expressions.
Generator Expressions - Intro
05:53

Generator Function are next. Generators are a very handy tools. Lets learn about Generator Function.
Generator Functions - Intro
05:59

Permutations is another great tool Python has. It can be found in the itertools module and we will learn about it in this video.
itertools.Permutations - Intro
04:13

And now for the fill_in function. I explain what we need to do in this video.
fill_in Function - Homework
00:47

And now that you have written you own fill_in function, lets review how I coded it.
fill_in Function - Answer
03:51

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.
Profiling - Intro
03:50

We can see that eval() creates a bottleneck in our code. It is explained in this video.
the eval Bottleneck
05:25

Lets learn about a handy tool python has for functions. Its called Lambda and this video introduces it.
Lambda - Intro
05:40

Lambda Quiz
1 question

This video will introduce the Enumerate.
Enumerate - Intro
03:19

How can we make our crytarithmetic faster? This video will explain what we need to do.
A Faster Crypt - Homework
03:22

Lets look at how I coded a faster version of cryptarithmetic.
A Faster Crypt - Answer
09:35

We compare the two versions of the script in this video to see how much faster we are now.
How Much Faster??
03:19

We will review another solution I found and see how it compares to the different versions we created.
Crypt Solution from the Internet
04:12
+
Graphs / Social Network Algorithm
16 Lectures 01:02:12
An introduction the new new section, Graphs / Social Network Algorithms.
Section 4 Intro
00:57

An introduction to graphs and networks.
Graphs / Network - Intro
03:50

A description of how to use python to represent a graph.
make_link Function - Homework
03:41

We walk thru how I coded the make_link function. This is used to make our graph representations in python.
make_link Function - Answer
05:34

This video introduces you to the concept of recursion.
Recursion - Intro
04:32

This is the solution to the recursion question from the previous video.
Recursion - Answer
01:46

Recursion Quiz
3 questions

How can we determine what nodes are connected to other nodes. This video introduces the concept. 
Connected Nodes - Homework
04:42

This video will walk thru how I coded the function to check connected Nodes.
Connected Nodes - Answer
05:35

We learn about Pairwise connections and how you might use python to find them.
Pairwise Connections - Homework
01:28

A walk thru of how I coded the pairwise connections function.
Pairwise Connections - Answer
01:31

How can we accomplish the same results but without using Recursion? This video will explain.
Depth First Search - No Recursion
05:51

An introduction to Breadth First Search.
Breadth First Search - Intro
03:57

I introduce the Problem we wish to solve dealing with social Networks
Social Network Problem - Intro
04:24

This video discusses how python can be used to find our shortest path.
Social Network Problem - Homework
01:59

And now we will walk thru how I coded the shortest path algorithm.
Social Network Problem - Answer
06:40

I will show how I did some simple modification to our existing code to know determine centrality of a Node.
Centrality of a Node
05:45
+
Closing
1 Lecture 00:27
Well the course is finished and I have a few closing remarks.
Closing Remarks
00:27
+
Python Glossary (Duplicate Videos)
18 Lectures 01:39:35
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

Try Except Blocks - Part 2
06:28

Writting Tests
07:37
About the Instructor
Jay Elbourne
4.2 Average rating
2,469 Reviews
88,935 Students
4 Courses
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.