Python3: From Beginner to Pro
Python3: From Beginner to Pro, A Comprehensive Study of the Basic (and many advanced) skills required by any Python developer: Web, Data Analysis.
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.