• Post category:StudyBullet-7
  • Reading time:9 mins read


Learn programming from the scratch with a professional Software Engineer!

What you will learn

Python3 Basics (i.e. variables, loops, if-else)

Object Oriented Programming with Python

How to write well optimized high performing code in Python

Advanced topics in programming such as multi-threading and multi-processing

Getting started with creating GUI applications using PyQt

Learn about additional libraries you can use in Python

Description

Welcome to this Python course where you will learn to code with Python with basics and in-depth explanations.

Regardless of whether you’re a complete beginner or an intermediate, you can learn how to properly code in Python. Whether you need to pass your exam, get started with programming, even create advanced distributed data processing programs, you came to the right place.

My focus for this course is also to explain the “why” while explaining the “what” and “how”. Because most of the courses or documentation don’t cover that! But, being a Computer Science graduate and a Software Engineer with 11+ years of experience in programming, I believe I can properly explain the “why” when we’re writing code, to explain how exactly it works.

Why do you need to learn Python?


Get Instant Notification of New Courses on our Telegram channel.


  1. It’s one of the most popular programming languages throughout the decade.
  2. Heavily used for Data Science and Machine Learning domains.
  3. Heavily used for Cloud Computing such as in AWS and GCP.
  4. Massively used for Distributed Computing such as in Apache Spark and Apache Beam.
  5. A trend has already started to write web services and APIs using Python.
  6. Very easy to learn, write, understand and maintain the code.
  7. Have improved performance throughout the years.

Here is a highlight of what we’ll cover in this course.

  1. Basics of Python programming (variables, loops, if-else)
  2. Object-Oriented Programming
  3. How to write optimized code
  4. Error handling
  5. Using third-party libraries
  6. Writing multi-threaded and multi-processed programs
  7. Introduce GUI application building with PyQt
  8. And much more!

(This course was initially made in my native language (Sinhala) and it had quite a lot of positive feedback, and that’s why I decided to create a brand new course with much more topics in English for a wider audience.)

(Sample code is attached to the last video, except a few, of each of the sections when available.)

So, why wait? Let’s get started!

English
language

Content

Introduction

Welcome

Introduction to programming

How things work!

Setting up

Install Python on Windows
Install Python on Linux
Install Python on Mac
Install VS Code
Hello World

Data Types

Basic Data Types
Variables
Basic Operators
Boolean Operators
Strings and Type Conversion
Bitwise Operators
Assignment Operators
Input
Quiz on data types

Data Structures

Introduction to Data Structures
Lists
Sets
Tuples
Dicts
Nested Data Structures
Slicing

Conditions

If Elif Else
Ternary If
None
If with Data Structures

Loops

For Loop
While Loop
Break and Continue
Min and Max
Insertion Sort

Advanced Data Structures

Lists
Sets
Dicts
Tuples
Iterating
Benchmarking

Functions

Defining a Function
Named Arguments
Default Arguments
Packed Arguments and Keyword Arguments (args and kwargs)
Return

Comprehension

Comprehension
Benchmarking Comprehension

Strings

Strings
String Functions
String Formatting
Documentation Comments

Object Oriented Programming

Introduction to OOP
Classes
Self
Constructor
Inheritance
Overriding
Access Modifiers
Method Types
Multiple Inheritance
Object Methods

Generators

Generators

Error Handling

Try-Except
Catch Multiple Exceptions
Else and Finally
Raise
Custom Exception

File IO

Reading files
Writing files

Modules and Packages

Modules
Packages

Third-Party Dependencies

pip
Virtual Environments

Parallel Programming

Parallel Processing
Threads
Processes
Custom Classes
Pass Data Between Threads
Pass Data Between Processes

Extra Contents

Creating GUIs using PyQt
Jupyter Notebooks
Commandline Arguments and argparse
A few more useful packages

End

Thank you!