The Modern Python Challenge
0.0 (0 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
3 students enrolled

The Modern Python Challenge

Unlock your coding potential by solving real-world Python exercises.
0.0 (0 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
3 students enrolled
Created by Packt Publishing
Last updated 6/2020
Current price: $74.99 Original price: $124.99 Discount: 40% off
1 day left at this price!
30-Day Money-Back Guarantee
This course includes
  • 6 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Develop a robust understanding of Python’s modules and data structures
  • Handle databases and various data formats such as XML, JSON, CSV and SQLite
  • Improve your skills working with strings and regular expressions
  • Parse datetimes and timezones Python's module with an emphasis on timezone-related functions
  • Explore and extract insights from the web
  • Discover core concepts of network communication and Python networking
  • Build data scraping tools you can keep hold of, and explore Python libraries like beautifulsoup4 to pull requests easily
  • Explore the world of Design Patterns to expand and enhance your “Python Pro” skills
  • Cover core concepts of network communication, use TCP sockets to create client and server network applications.
Course content
Expand all 73 lectures 05:46:35
+ Implement Data Structures Using the Collections Module
7 lectures 29:53

This video provides an overview of the entire course.

Preview 03:39

In this video, the namedtuple object from the collections module.

   •  Examples of namedtuple


Use the namedtuple object to keep a rolling list of items.

   •  Demonstrate using some of the methods of namedtuple


Use a grouping object and defaultdict to aggregate data.

   •  Demonstration of grouping with collection module


Use the collections counter object to group and sort word instances.

   •  Create a counter object for use in determining word frequencies


Use several collection objects to set up an application to create character index from a full-length text.

   •  Insatiate objects and define parameters for the application

Setting up a character index application

Write functions implement and demonstrate the index application.

   •  Write several functions and demonstrate the application

Completing the Character Index
Test your knowledge
3 questions
+ Data Analysis with Pandas
6 lectures 45:17

In this video, we introduce the Pandas data analysis library.

   •  Look at preliminary examples of Pandas

Preview 10:57

Take a different approach to finding word frequencies with pandas.

   •  Compare getting word frequencies with Pandas and counter

Finding the Most Common Word

Download and read data in various format with pandas.

   •  Download external data files and read into DataFrames

Reading Data Files

In this video, we further explore the capabilities of pandas.

   •  See how to combine data from several DataFrames

Movie Data Analysis

Use pandas and API to download and manage data.

   •  Demonstrate pandas vectorized operations

Downloading and Transforming Data

Filter frames to find relevant datasets and conduct basic visualizations.

   •  Filter and display datasets

Filtering Data
Test your knowledge
2 questions
+ Handling Various Data Formats and Databases
7 lectures 28:18

In this video, we introduce the ElementTree to parse XML.

   •  Demonstration of XML basics with Python

Using ElementTree to Parse XML

Conversion of key value pairs into namedtuple.

   •  Convert data from one form into another

Converting Dict to namedtuple/JSON

Open and read CSV data into Python and use the resulting data structures to create a visual.

   •  Read data and transform into barchart

Parsing a CSV File and Creating a Bar Chart

Download and install the IPinfo library and use it to determine information about internet connections.

   •  Use IPinfo and its free API key to get useful information about a network connection

Using the IPinfo API to Lookup IP Country

Read CSV and create function to convert the data into JSON.

   •  Read and transform data from one format into another

Turning Messy CSV into JSON

Import and use the SQLite library to create various forms of external databases.

   •  Demonstrate the SQLite basics

Working with Relational Databases

Take a deeper dive into SQLite writing and executing SQL within Python.

   •  Demonstrate the SQLite capabilities within Python

Analyzing NBA Data with SQLite3
Test your knowledge
3 questions
+ Working with Dates and Time Zones
7 lectures 37:42

In this video, we introduce the datetime module.

   •  Overview or major datetime objects

Date and Time Module Overview

Take a datetime and convert it into various components for string printout.

   •  Demonstrate built-in datetime formats

Formatting Dates Intermediate Level

Read string dates out of a file and convert to datetime objects.

   •  Demonstrate reading and isolating data strings for conversion

Parsing and Converting

Use datetime functionality to determine and arrange common meeting times across time zones.

   •  Further demonstrate datetime functionality

Working Between Time Zones

Download and install the humanize module to display dates and times in human readable format.

   •  Use humanize to display common dates and time in human colloquialisms

Humanizing a Date and Time

Use timedelta to calculate how much time has passed between two events.

   •  Demonstration of the timedelta functionality

Calculating Time

Use a calendar and pandas to calculate the exact day any holiday occurs on.

   •  Demonstrate finding a specific date with pandas filtering and datetime

Finding a Holiday Date
Test your knowledge
3 questions
+ Decorators and Context Managers
6 lectures 22:11

In this video, we introduce the decorator.

   •  Get an overview of Python decorators

Introducing the Python Decorator

Further explore the functionality of decorators.

   •  Write a decorator with required and optional arguments

Writing a Decorator with Arguments

Use a decorate to abstract way necessary logic involved with logging into a system.

   •  Write a short application to display content to a logged in user

Writing a login_required Decorator

Another example of data abstraction with number validation.

   •  Write code to validate number using decorator

Writing a Number Validation Decorator Advanced Level

Overview of the context manager “with”.

   •  Use “with” to execute a block of code

Writing a Context Manager

Combine context manger and decorator to illustrate common application functionality.

   •  See a demonstration of decorators with context manager

Writing a Retry Decorator
Test your knowledge
4 questions
+ Working with Itertools Module
6 lectures 31:54

We shall look at zip versus zip_longest.

   •  Look at several examples of zip versus zip_longest from Itertools

Fix a Truncating Zip Function with zip_longest

Use Itertools functionality to create a running sequence. In this case, a running average of read data.

   •  How to use Itertools to calculate running average

Calculating the Running Average of a Sequence

Use combinations and permutations to sum generate and sum two number combinations.

   •  Get a demonstration of combinations and permutations

Finding the Number Pairs Summing Up X

Further explore combinations and permutations to assign team members.

   •  Another application for permutations and combinations

Finding Combinations

Draw a random sample of letters and find all dictionary words at least three letters long.

   •  Use a dictionary and perform permutations to find English words

Finding Words from the English Language

Create car data storage object and read it into a frequency table type structure.

   •  See a demonstration of grouping and sorting with count

Grouping Data
Test your knowledge
3 questions
+ Fundamental Concepts in Object-Oriented Programming in Python
6 lectures 37:14

Get an Introduction to creating classes as custom data structures.

   •  Create a basic class

Making a Class and Property

Add commonly used “dunder” functions to your class to represent objects.

   •  Add the most basic dunder representation methods

Representation Methods

In this video, we shall look at how to store the state of an object beyond a single application run using pickle.

   •  Save an object state with pickle

Saving the Object Class

Explore extending built-in object types. In this case, the dict to create classes that inherit functionality.

   •  See a demonstration of class inheritance

Subclassing with dict

A more advanced example of inheritance, demonstrating multiple inheritance.

   •  See a demonstration of inheriting from more than one class


In this video, we see how to write an advanced property with a decorator.

   •  Incorporate decorators into your classes

Advanced Properties
Test your knowledge
3 questions
+ Writing Regular Expressions in Python
6 lectures 28:54

In this video, we introduce regular expressions as a powerful tool in text processing.

   •  Demonstration of basic RegEx functionality

Overview of Regular Expressions Beginner Level

Apply regular expression to text to extract digits.

   •  Find digits and substitute with RegEx

Extracting Digits Out of a String Intermediate Level

Learn more about using regular expression to extract target strings or data.

   •  Demonstrate additional RegEx capabilities

Replacing Characters in a String

See how to read a block of text and capture text between quotation marks.

   •  Demonstrate capture groups with RegEx

Finding Quotes and Extracting Them from a Text Advanced Level

Implement a simple password validator that verifies a password meets certain conditions.

   •  Write a function validate passwords

Validating Password

Combine the power of regex with native Python string functionality to write a find and replace application.

   •  Use regex and string functionality to implement find and replace

Replacing Repeated Words
Test your knowledge
3 questions
+ Working with Strings in Python
6 lectures 22:49

Overview of basic slicing operations of strings.

   •  Demonstrate String slicing

Slicing Strings Beginner Level

See several methods of reversing a string and rotating a specified number of characters from either end of the string.

   •  Extend slicing to include reversing and rotating

Rotating String Characters

In this video, we look at some of the String methods to find and replace much more simply than previously demonstrated.

   •  Demonstrate String method for find and replace

Replacing Characters

See how to process a string by removing punctuation to ease text analytics.

   •  See how to remove punctuation from a string

Removing Punctuation Characters from a Longer String

Take an RBG String and convert it to hexadecimal using little known functionality between the string and int objects.

   •  Write a function to convert from one color system to another

Converting Hexadecimal Numbers to RGB Intermediate Level

Combine the power of RegEx with native Python String functionality to write a find and replace application.

   •  Use RegEx and tring functionality to implement find and replace

Check If Two Strings Are Anagrams
Test your knowledge
5 questions
+ Web Scraping with Python
6 lectures 27:42

Overview of the web scraping library Beautiful Soup (BS).

   •  Get library installed and demonstrate basic functionality

Introduction to Beautiful Soup Intermediate Level

Use the requests library in conjunction with BS to download and write source HTML from a website.

   •  Download and pretty print HTML into readable format

Viewing Source Code

Use the BS object to identify elements of interest and isolate them.

   •  Isolate all hyperlinks and display as a list

Extracting Hyperlinks from the Source Code

Find a list of recommended books on a website and identify and extract the relevant data.

   •  Identify and extract data from a webpage

Get List of the Most Recommended Books

See an alternative method for identifying and extracting data from a complex webpage, using BS to extract a list of Stock in the S&P 500.

   •  Demonstrate method to identify elements of interest in a webpage

Scraping and Cleaning

Use Beautiful Soup and String capabilities to write scripts that automate webpage updating.

   •  Demonstration of using Beautiful Soup to do something other than scraping

Editing Webpages
Test your knowledge
2 questions
  • This course has challenges for Python developers and aspiring “Python Pros” of all levels.

Python is one of the most popular and widely used programming languages in a variety of fields such as data science, analysis, gaming, GUI programming, Networking, and more. Are you someone who loves challenges and gets excited about solving them? If you've been using Python for some time and would like to test how good a Python wrangler you are, you've come to the right place!

In this course, you will uncover key Python features and implement them while testing your own ability to solve particular challenges. Each unique problem will not only test your knowledge of the language, but also your ability to think outside of the box and come up with the best solutions.

Our course is divided into levels to help you go from being a beginner to professional level “Pythonista”! And in case you're stumped, you don't have to worry: we'll show you the best solutions to the challenges laid out in the course.

By the end of this course, you will become a confident “Python Pro”, ready to take up any challenge and solve it with your mastery. So, are you up for the challenge?

About the Author

Matthew Macarty currently teaches at Bentley University, USA, and has taught graduate and undergraduate business school students for over 15 years. Teaching a range of topics including statistics, quantitative methods, information systems, and database design.

He has created and implemented tutorials on data analysis and statistics, including educational videos on Python from the last 9 years.

Who this course is for:
  • This course will appeal to Python developers who are interested in solving real-world programming problems.