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


A Comprehensive Study of the Basic (and many advanced) skills required by any Python developer: Web, Data Analysis

What you will learn

Python 3 Language and Applications

Learn the basic concepts of Python

Learn how to write robust and error free code

Establish a strong foundation in Object Oriented Programming

Learn how to write decorators like a Pro

Learn advanced python concepts like inheritance, super and the MRO

Built-in Modules: os, sys, math, random, datetime, logging

Learn how to work with Text, CSV and JSON files

Learn how to write and analyze Regular Expressions (Regex)

Setup a Flask web server using HTTP, HTML, SQL, Jinja2, Bootstrap4

Learn about Data Analysis using Python: Numpy, Pandas, Seaborn

Description

Welcome to the brand new course in Python 3: Beginner to Pro.

When I started creating this course, I had one objective in mind:

“Teach like I wish I had been taught”.

I remember the questions/doubts/hesitations I had when I was learning Python and I have tried very hard to address them in this course. This is why there are many many quizzes and code assignments/problems to solve in this course. No one learns to swim or ride a bicycle by attending lectures on swimming or biking and so it is with coding. You have to write the code, make mistakes, solve those mistakes and repeat. That is the only way to learn.


Get Instant Notification of New Courses on our Telegram channel.


A strong foundation is necessary for any new endeavor and if it seems that the course is a bit slow in the beginning, it is a deliberate choice to ensure that students have the requisite knowledge to proceed to the more challenging portions.

Student feedback is a very important to me. It allows me to change portions of the course if necessary. Please don’t hesitate to ask pertinent questions and I will answer them ASAP.

Some of the topics:

  • Data types, variables, operators.
  • Conversions between Data types
  • Operators: Arithmetic, Assignment, Comparison
  • Operators: Logical, Identity, Membership, Bitwise
  • for loops, while loops and if-else branching
  • Functions: Parameters, arguments, return values
  • Functions: Positional and Keyword Argument
  • Functions: Default Values for parameters
  • Functions: Variable positional and Keyword arguments
  • Functions: Local and Global Scope of variables
  • Functions: Enumerate, Map, Filter, Reduce, Zip, Lambda
  • Functions: Closures and Decorators
  • Functions: List and Dictionary comprehensions
  • Modules and Packages
  • Built-in modules: os, sys, random, datetime, logging, math
  • try-catch error handling
  • Unit tests
  • File handling: Text, CSV and JSON
  • Regular Expressions (regex)
  • Object Oriented Programming: Classes, Instances
  • OOP: Class and Instance attributes, class and instance methods
  • OOP: Instance creation step-by-step and the concept of self
  • OOP: Instance Properties and attribute validation
  • OOP: Class Inheritance and inherited attributes and methods
  • OOP: The concept of super
  • OOP: Method Resolution Order(MRO) for multi-level and multiple inheritance
  • Web: Using simple HTTP methods via the requests module
  • Web: Sending and receiving SMS messages using Twilio
  • Web: Setting up a web server using Flask micro-framework
  • Web: Dynamic HTML websites using Jinja2 templates
  • Web: Connecting to a SQL database
  • Web: Using Bootstrap4 in the website
  • Web: Putting it all together to create a frontend and a backend.
  • Data Analysis: Basics and Numpy
  • Data Analysis: Numpy nD arrays and characteristics
  • Data Analysis: Pandas dataframes
  • Data Analysis: Dataframe manipulations, groupby and conditional extraction
  • Data Analysis: Visualization of data using matplotlib and pandas
  • Data Analysis: Visualization of data using Seaborn.

There are ~80 quiz questions and ~35 programming exercises with the solutions in this course.

English
language

Content

Introduction

Get the most value out of this course!
What will you learn?
Why Python?
How is Python run on a computer?
Introduction- Quiz

Anaconda, Python and Jupyter Notebook

Install Anaconda and Python on Windows 10
Install Anaconda and Python on MacOS
A survey of Jupyter Notebook
Installation-Quiz

DataTypes: Numbers and Boolean Types

Introduction to Python DataTypes
Integers, Floating Point Numbers and Arithmetic Operations
Complex Numbers, Conversions and Useful Functions
Arithmetic Precedence Rules in Python
Boolean Types
Numerical Types – Quiz
Variables: An Introduction
Variables: Naming Conventions, ID, Type and Input
Variables – Quiz

DataTypes: Strings

Strings: Introduction, creation and class
Strings: Escape Characters
Strings: Indexing and Immutability
Strings: Manipulation using functions
Strings: Slicing
Strings: Concatenation and Formatted Strings
Strings – Quiz

Assignments – I

Assignment 1 and Solution
Assignment 2 and Solution
Assignment 3 and Solution
Assignment 4 and Solution
Assignment 5 and Solution
Assignment 6 and Solution
Assignment 7 and Solution
Assignment 8 and Solution

DataTypes: Tuples and Lists

DataTypes: Sequence types
DataTypes: Tuple Creation and indexing
DataTypes: Tuple operations and slicing
DataTypes: Tuple Operations, continued
Quiz – Tuples
DataTypes: List Introduction, creation and indexing
DataTypes: List operations-I
DataTypes: List operations-II
DataTypes: List operations-III
Quiz – Lists

DataTypes: Sets and Dictionaries

DataTypes: Sets Creation and Basics
DataTypes: Set Properties and Operations
Sets – Quiz
DataTypes: Dictionary Creation and Basics
DataTypes: Dictionary Properties and Operations
Dictionary – Quiz

Data Types – Summary

DataTypes – Summary

Conversions between DataTypes

Conversions between DataTypes
Conversions – Quiz

Operators

Operators: Arithmetic, Assignment and Comparison
Operators: Logical
Operators: Identity, Membership and Bitwise
Operators – Quiz

Flow Control: Loops and Conditional Statements

Flow Control: for loops
Flow Control: if-elif-else branching
Flow Control: Ternary Expressions
Flow Control: while loops
Flow Control – Summary
Flow Control – Quiz

Assignments – II

Assignment 9 and Solution
Assignment 10 and Solution
Assignment 11 and Solution
Assignment 12 and Solution
Assignment 13 and Solution
Assignment 14 and Solution
Assignment 15 and Solution
Assignment 16 and Solution
Assignment 17 and Solution

Functions

Functions: Introduction, Basics and Objects
Functions: Parameters and Arguments
Functions: The return keyword
Functions – Quiz1
Functions: Positional and Keyword Arguments
Functions: Default parameters, Variable arguments and Variable keyword arguments
Functions – Quiz 2
Functions: Local and Global Scope variables
Functions: More adventures in variable Scope
Functions: Lambda/Anonymous functions
Functions – Quiz 3
Functions – Summary

Assignments – III

Assignment 18 and Solution
Assignment 19 and Solution
Assignment 20 and Solution
Assignment 21 and Solution
Assignment 22 and Solution
Assignment 23 and Solution

Advanced Functions

Enumerate and Map functions
Filter, Reduce and Zip functions
Closures: Preliminary Setup
Closures: Functions returning functions
Closures: Wrapping up
Decorators: Introduction and Creation
Decorators: Usage and Examples
List Comprehensions
Dictionary Comprehension
Quiz – Advanced Functions
Advanced Functions – Summary

Assignment – IV

Assignment 24 and Solution
Assignment 25 and Solution
Assignment 26 and Solution
Assignment and Solution
Assignment and Solution
Assignment and Solution
Assignment and Solution
Assignment and Solution
Assignment and Solution

Modules and Packages

Modules: Introduction and Basics
Modules: Alternative import methods and Lookup order
Packages: Basics and Import

Object Oriented Programming

OOP: Introduction
OOP: Basic class and instance
OOP: Instance Attributes
OOP: dunder init and the concept of Self
OOP: dunder init and other bound methods
OOP: Instance Bound Methods (cont.)
OOP: Class Attributes
OOP: Class Methods
OOP: Class Methods (cont.)
OOP: Static Methods and a recap
OOP: Protected and Private attributes
OOP: Properties, getters, setters and deleters
OOP: Properties using decorators
OOP: Read-only properties
OOP: Validating attributes using properties
OOP: Inheritance
OOP: Inheritance (cont.)
OOP: Inheritance and Overriding
OOP: Multiple and Multi-Level Inheritance
OOP: Method Resolution Order (MRO) Example in Multi-Level/Multiple inheritance
OOP – Summary
OOP – Quiz

Assignment – V

Assignment and Solution
Assignment and Solution
Assignment and Solution
Assignment and Solution

Advanced Python Topics

Iterators
Generators Functions and Expressions
Generators: When are they needed?

Python Built-In modules

Built-in Modules: OS
OS Module in Linux/MacOS
OS Module in Windows
SYS Module
Random Module
MATH Module
Date Time Module
Logging Module

Error Handling, Exceptions and Unit Tests

Tracebacks and Exceptions: try-catch
Unit Tests

File Operations

Text File Operations
CSV File Operations
JSON File Operations

Regular Expressions (regex)

Regex: Introduction and Simple String matches
Regex: Character Class/Set matches
Regex: Special characters and alphanumeric matches
Regex: Positional matches and Word Boundaries
Regex: Pattern Repetitions with Quantifiers, Greedy and Lazy matches
Regex: Character Grouping, Capture Groups and Back References
Regex: The re module in Python

Web Development and Communication

Web: Basics of web communications
Web: Requests module, http request and response
Web: Requests using URL parameters and JSON response
Web: Requests using POST
Web: The Flask Micro Webserver
Web: Using Jinja2 templates basics
Web: Creating a Dynamic website
Web: Templates using the block content
Web: Forms and the POST method
Web: Looping in a web template
Web: Loops and HTML tables
Web: RDMS and Sqllite: A primer
Web: RDMS and Sqllite – Part 2
Web: Connecting Python and Sqllite
Students Web Site: Search page
Students Web Site: Add Student page
Students Web Site: Edit Student page
Students Web Site: Edit Student page (cont.)
Students Web Site: Finishing up with course page, CSS
Web: Communication using SMS messages
Web: Summary

Data Analysis

Data Analysis Introduction – Numpy
Numpy – nD Arrays, Creation and Manipulation
Pandas: Basics, Series, Properties and Manipulation
Pandas: DataFrame, Creation and Basics
Pandas: DataFrame CSV, append and filtering rows and columns
Pandas: DataFrame Sorting and Complex Filtering
Pandas: Filling missing values and looping over a dataframe
Pandas: Groupby transformations
Pandas: Data Analysis of COVID-19 cases from daily reports
Visuals: Introduction and Matplotlib
Visuals: Analyzing Titanic Data using Matplotlib
Visuals: A simpler approach to plotting from Pandas
Visuals: Seaborn for easy plotting of complex graphs