Python is an open-source community-supported, a general-purpose programming language that, over the years, has also become one of the bastions of data science. Thanks to its flexibility and vast popularity that data analysis, visualization, and machine learning can be easily carried out with Python.
Python is an open-source community-supported, a general-purpose programming language that, over the years, has also become one of the bastions of data science. Thanks to its flexibility and vast popularity that data analysis, visualization, and machine learning can be easily carried out with Python.
With this application development course with Python 3, you'll first learn about variables, control flow statements & much more make use of them in Python programs. Then you will learn to use Python's advanced data structures such as lists and dictionaries. Then you will get a hands-on project building such as build a game that consists of a deck of playing cards, Dice-Rolling Simulator in Python, Building Architectural Marvels & much more. Moving further, you'll learn to troubleshoot your python application where you can quickly detect which lines of code are causing problems, and fix them quickly without going through 300 pages of unnecessary detail.
Contents and Overview
This training program includes 3 complete courses, carefully chosen to give you the most comprehensive training possible.
The first course, Begin Python Programming in 7 Days will get you started by setting up your environment and the tools you need to start programming in Python. You will be learning about variables and operators and how to make use of them in Python programs. You will learn all about control flow statements and loops in Python and you will be using them in your programs to solve your coding problems. Then you will learn to use Python's advanced data structures such as lists and dictionaries. You will be able to organize in functions and save time coding by writing code that can be reused. Then, you will learn about Python modules and how to make use of them. On the last day, you will start interacting with files using Python code. The course will give you a strong entry point into programming in general and programming in Python in particular.
The second course, Python By Example explores Python basics, data structures, and algorithms. We'll build a die rolling simulator to see how to use Python dictionaries, loops, functions, and control statements. Then, we will see how we can develop dictionaries that contain other dictionaries to build complex data structures. Next, we will use a modular approach to build a game that consists of a deck of playing cards. We will use object-oriented (OOP) Python classes to do so. We will display the playing cards both in a textual form, which we create, as well as via image files. This will lead to our displaying card images in a graphical form using Python's built-in Tkinter package. In the next part, we will use multiple inheritances with OOP classes. While the Java and C# programming languages are limited to only single inheritance, Python classes can inherit from multiple classes. You will learn how to use multiple inheritances with Python. You will also build Graphical User Interfaces (GUIs). We will use Python's built-in Tkinter package and delve more deeply into GUI programming. By the end of this video tutorial, you will have built some useful utilities using Python. Python is very strong at searching directory folders, replacing words within modules, and much more. You will find these utilities useful in your everyday work as a developer.
The third course, Troubleshooting Python Application Development takes you through a structured journey of performance problems that your application is likely to encounter, and presents both the intuition and the solution to these issues. You'll get things done, without a lengthy detour into how Python is implemented or computational theory. Quickly detect which lines of code are causing problems, and fix them quickly without going through 300 pages of unnecessary detail.
About the Authors:
Colibri Digital is a technology consultancy company founded in 2015 by James Cross and Ingrid Funie. The company works to help its clients navigate the rapidly changing and complex world of emerging technologies, with deep expertise in areas such as big data, data science, machine learning, and cloud computing. Over the past few years, they have worked with some of the world's largest and most prestigious companies, including a tier 1 investment bank, a leading management consultancy group, and one of the World's most popular soft drinks companies, helping each of them to make better sense of its data, and process it in more intelligent ways. The company lives by its motto: Data -> Intelligence -> Action.
Rudy Lai is the founder of QuantCopy, a sales acceleration startup using AI to write sales emails to prospects. By taking in leads from your pipelines, QuantCopy researches them online and generates sales emails from that data. It also has a suite of email automation tools to schedule, send, and track email performance—key analytics that all feed back into how our AI generates content. Prior to founding QuantCopy, Rudy ran HighDimension.IO, a machine learning consultancy, where he experienced first-hand the frustrations of outbound sales and prospecting. As a founding partner, he helped startups and enterprises with High Dimension, IO's Machine-Learning-as-a-Service, allowing them to scale up data expertise in the blink of an eye.In the first part of his career, Rudy spent 5+ years in quantitative trading at leading investment banks such as Morgan Stanley. This valuable experience allowed him to witness the power of data, but also the pitfalls of automation using data science and machine learning. Quantitative trading was also a great platform to learn deeply about reinforcement learning and supervised learning topics in a commercial setting. Rudy holds a Computer Science degree from Imperial College London, where he was part of the Dean's List, and received awards such as the Deutsche Bank Artificial Intelligence prize.
Burkhard is a professional software test automation designer, developer, and analyst. He has more than 18 years' professional experience working for several software companies in California, USA. He currently works as an independent Python consultant from New York. He is the author of the Python GUI Programming Recipes using PyQt5 Packt video course. He is the author of Python GUI Programming Cookbook, First and Second Edition. This book is also available as a Packt video course. He is also the author of the Python Projects Packt video course. In his professional career, he has developed advanced in-house testing frameworks written in Python 3. He has also created advanced test automation GUIs in Python, which highly increased the productivity of the software development testing team. When not dreaming in Python code, he reads programming books about design, likes to go for walks, and reads classical poetry.
This video provides an overview of the entire course
Illustrate the main tenets of programming in Python: the language and the editors.
Learn what Python is
Learn how to get started with Python
Create Python code
Show what a command line is and how to use it.
Learn what REPL is
Learn what IPython is
Demonstrate how we can write our own Python program and run it.
Write your first Python program
Run it
Demonstrate the basic syntax of Python.
Work with numbers
Work with strings
Work with lists
This video is your assignment for Day 1
Take a look at the assignment and try solving it on your own before the next section
Show how variables are used and created in Python.
Understand variables
Create variables
Demonstrate the uses of variables.
Assign values to variables
Check the type of variables
Show how operators are defined in Python.
Learn what operators are
Explore some of the useful Python operators
Show how operators are used in Python.
Chain operators and use parenthesis to group them
Assign expressions to variables
This video is your assignment for Day 2
Take a look at the assignment and try solving it on your own before the next section
Define control statements.
Learn about control statements
Explore the if statement
Explore the if else statement
Show how we can use control statements in practice.
Use control statements
Use the if statement to detect input
Use elif and else to detect input
Define loops.
Understand what loops are
Understand the while loop
Learn about the for loop
Show how we can use loops in practice.
Learn how to use loops
Loop through a list with a while loop
Loop through a list with a for loop
This video is your assignment for Day 3
Take a look at the assignment and try solving it on your own before the next section
A deeper dive into Python lists.
Learn what we can do and cannot do with lists
Go through nested lists
Show how we can operate on lists and call its methods.
Index lists with slices
Differentiate between extending and appending
Go through length, sort, and reverse
Introduce the concept of dictionary.
Learn what a dictionary is
Create a dictionary
Show how we can operate on dicts and call methods.
Loop through the items of a dictionary
Remove keys and add new keys
This video is your assignment for Day 4
Take a look at the assignment and try solving it on your own before the next section
This video is an introduction to functions.
Learn what functions are
Declare functions
Return values
In this video, we will be looking into the usage of functions in your code.
Use functions
Smartly put code in functions
This video is all about scope of variables.
Learn what scoping is
Learn how Python handles scoping
Go through an example.
Global variables versus local variables
Go through the demonstration
This video is your assignment for Day 5
Take a look at the assignment and try solving it on your own before the next section
This video will show you the importance of Python modules.
Learn what modules are
Learn why to use modules
Create modules
In this video, we will be using third-party Python modules.
Learn where to find third-party modules
Understand pip
Learn about compiled Python files.
Go through Python bytecode
Take a look at bytecode
In this video, we will be using Python packages.
Explore some modules that come with Python
Go through collections, string, and others
This video is your assignment for Day 6
Take a look at the assignment and try solving it on your own before the next section
Understand how to read text from a file.
Path handling in python
Read files into a variable
Read lines into a variable
In this video, we will be writing text to a file.
Merge strings in Python
Understand filesystem mechanics
Write text into a file
See how exceptions are handled.
Learn what might go wrong
Learn how to catch errors
This video is your assignment for Day 7
Take a look at the assignment and try solving it on your own
This video will give you an overview about the course.
We wish to learn the powerful and popular Python programming language in a fun way.
Build a simple dice rolling simulator
Enhance the simulator using functions
Add dictionaries and become more complex
We like to use complex data structures to store and use our data.
Start using a dictionary
Nest another dictionary within the dictionary
Nest many more dictionaries into dictionaries
We like to understand how Python generator functions work and what they can be used for.
Build a generator function.
Compare a generator to a regular function
Yield the results using next and for loops
We like to understand how to iterate over Python data collections. There are several different collections, like tuples, lists, dictionaries and sets.
Use tuples
Use lists and sets
Use several Python comprehensions
We want to build our own game of playing cards.
Create cards in a simple textual form
Use the random module to shuffle the deck
Advance to using OOP classes
We like to advance our game of playing cards using graphical image files.
Start simple using gif image files
Make our code object-oriented.
Use tkinter to display the graphical cards
We find some nice free image files of playing cards on the internet but they are either too large or too small so we want to resize them to fit our application.
Install Pillow and use the Image module
Convert Unicode cards into 16-bit surrogate pairs.
Use tkinter to display png and Unicode cards
In the previous videos we explored several ways how to create textual playing cards, order, shuffle and display them. We also learned how to resize graphical image card files. Now we want to use them to play a card game.
Reuse some of our previous code
Build the game logic
Create a new tkinter game GUI
We want to learn how to program object-oriented.
Explore Python’s Duck typing
Advance to using objects
Inherit from abstract classes
We want to become great programmers.
Start to understand OOP
Understand single inheritance
Move forward to multiple inheritance
We want to apply what we have learned. We are building our first building using software.
Use single inheritance
Use multiple inheritance
Create a Cathedral
We are building a Greek classic temple.
Use Unicode to represent the floorplan and frontview
Use multiple inheritance
Mix in extra functionality
We want to learn how to build a GUI.
Use Python’s tkinter module to build a GUI
Add widgets to the GUI
Create a callback function
We want to add many widgets to our GUI.
Use a loop to add the widgets
Use lambda to pass variables to callback functions
Add Progress Bar and Paned Window controls
We want to use several layered Notebook tab controls. Out of the box, tkinter does not provide this widget so we build our own.
Use frames and notebooks together
Create and remove buttons dynamically
Mimic a notebook tab click event
We want to make our GUI look good and modern.
See ways how to control the GUI size
Add several colors to different widgets
Use ttk style element functionality
We want to search the directories on our hard drive. We want to find certain files and get a count of folders and files.
Use Python’s OS module
Define our search start using OS functions
Use OS walk to walk an entire directory tree
We want to search many of our Python modules and rename code within all of them.
Create backups of our code modules
Generate Python class modules via code
Rename all instances of our classes
We want to administer our Windows systems. We also want to collect statistics of CPU, memory, disk io, and other resources.
Use the psutil Python module
Collect data similar to task manager
Collect data over time
We want to automate some of the tedious daily tasks. We have lots of Excel documents and manually have to open, read and close them to collect summary data. We want to automate this process.
Use the OpenPyXL Python module
Create Excel documents with data
Open, read, and summarize data from many Excel documents
This video gives glimpse of the entire course.
Time is of essence and timeit is your tool. In this video we explore timeit.
Understand what is timeit
Set up our timing experiment
Run our timing experiment
In this video, we will look at profile module and understand where time is spent.
Understand what is profiling
Understand how Profiling our Fibonacci sequence generator is done
Profile the sequence generator using the least recently used cache
In this video we will explore and understand tips and tricks which will allow us to track time more precisely using cProfile.
Understand the difference between cProfile vs profile
Explore and create artificially slowed functions
Understand profiling using cProfile
In this video we will understand the memory_profiler.
Explore how to go about profiling a simple function
Explore and understand how profiling manual garbage collection is done
This video is all about reducing the execution time and memory consumption.
Understand what are slots
Create classes that use slots
Inspect the performance of slots vs class dicts
In this video we will use tuples instead of lists when your data does not change.
Understand what are tuples and how to declare them
We will see by example that tuples are fasters than lists
We will understand why are they faster than lists
Save on memory consumption with generators instead of lists.
What are generators?
Why are they memory efficient?
Implementing generators
Generators are designed for a specific purpose, here is when not to use them.
when you need features from a list
when you need to iterate through a list multiple times
Chain together a series of processes so one output is another's output.
Composing two generators
Using parenthesis to define generator comprehensions
Illustrate why we need to move from Python lists to NumPy arrays
Problem 1: Memory consumption of lists for large amounts of data
Problem 2: Dynamic Typing
Show how we can use NumPy and the different ways we can create NumPy arrays
The difference between NumPy arrays and lists
Creating NumPy arrays from Python lists
Creating NumPy arrays from NumPy helpers
Show that for large n, NumPy arrays are much faster than list comprehensions
Setting up our problem with list comprehensions
Setting up its cousin in NumPy
Comparing their performance
Show how to use broadcasting - applying binary functions on arrays of varying length
What is NumPy's broadcasting?
Broadcasting: an example
How broadcasting works - three examples
Show the simple interface of numexpr and where we can use it to optimize
What is numexpr?
How to use numexpr?
Use cases of numexpr
If you have a list of URLs, serially requesting the HTML body of each page is super slow
Using requests to scrape the HTML of a web URL
Timing 10 web scraping requests
What are coroutines and how they help you request all webpages at once
What is gevent?
What are semaphores?
Creating a gevent scraper
What is event driven concurrency, and how that can speed up web scraping
What is tornado?
What is an IO Loop?
Creating a tornado based scraper
Futures and asyncio driven concurrent web scraping
What is asyncio?
await and async
Creating an asyncio based scraper
Introduce the audience to parallel programming concepts.
What is parallel processing?
Embarrassingly parallel and less embarrassingly parallel
The global interpreter lock of Python
Show how the decorate-sort-undecorate pattern can be beaten
The decorate-sort-undecorate pattern
Beating the DSU pattern with a sort key
Show how we can use Pool to achieve multiprocessing
What is Pool?
Our first process Pool
Asynchronous process Pools
In this video we will understand how we can stop processes from interfering with each other using locks.
We will be using multiprocessing.Value to share variables
Why does it not add up?
Using a lock to remove overwrites
This video covers the effects of many processes.
Using the logging module
Creating the right logger format for multiprocessing
Logging multi-processes
This video is focused on understanding how to copy and clone objects the right way.
Identify the wrong object instance
Use the correct object clone
This video will show us how to mini-classes of Python: namedtuples
Learn about mini-classes of Python
In this video we will understand how to create smart values with static methods and properties.
Create smart values with static methods and properties
In this video we will be understanding how to compare two different objects.
Understanding how to compare two different objects
In this video we will explore how to do real OOP by implementing abstract base classes in Python.
Do real OOP by implementing abstract base classes in Python
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.