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.
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.