
Learn Python as an interpreted, platform-independent language for text parsing, error handling, data handling, and automation. Explore web development with Django, AI and NLP, and choosing between 2.7 and 3.x.
Learn to set up a Python development environment across Windows and Ubuntu, install Python 2.7 or 3.x with apt-get or yum, and manage packages with pip and vim.
Explore the typical structure of a Python program, including shebang and interpreter location, executing scripts, defining functions and classes with indentation, using pass for empties, and handling strings and literals.
Explore string manipulation in Python by accessing characters via indexing, measuring length, converting case, splitting, replacing, and concatenating strings, with examples of docstrings and quotes.
Master Python string manipulation by comparing Python 3 formatting with C style placeholders and using formatted strings for output. Explore split and access help for the string class.
Explore string slicing and list slicing in Python by selecting subparts with start and end indices, understanding non-inclusive ends, steps, and negative indices, which also apply to tuples.
Explore Python lists by slicing, extending, inserting, removing, and popping elements; learn indexing, finding indices, and counting items in a heterogeneous list.
Explore Python lists, sort with sorted, find min and max, sum elements, handle string lists, enumerate indices, and join list items into a single string.
Learn how Python list methods can modify the original list in place, including sorting with an optional reverse flag and printing elements in reverse order.
Learn that Python tuples are immutable and cannot be modified in place; convert a tuple to a list to add elements, then convert back, using list methods for operations.
Explore how Python sets differ from dictionaries, storing unique keys without values, using hash maps, and offering fast membership checks, unions, intersections, and differences.
Explore Python dictionaries, learn about keys and values. Use methods like keys, values, and items to understand hash-based uniqueness and iteration.
Explore dictionary operations in Python by safely accessing keys with get to return None or a default, check key existence, and update or add items, overwriting existing keys when needed.
Explore Python dictionaries by creating a booklist, iterating over keys and values, accessing items, and deleting or popping entries using keys in a hash-based structure.
Learn how to create and import Python modules, including omitting extensions, and explore modules such as time and os. Write a simple module and import it to run its functions.
Discover how to create reusable functions and organize them into modules, then import and call those functions across files, test them, and name models for easy distribution.
Explore how to import from Python modules, using specific imports or import everything, and understand namespace behavior, followed by an example with a dog class showing constructors and methods.
Learn how to import a dog model from a different directory, test your program, and resolve module path issues by importing the correct model in Python programming basics.
Explore Python syntax for raw input versus input, convert strings to integers, and perform addition, then learn to use the if __name__ == '__main__' guard to control module execution.
Explore how Python functions handle arguments, including global variables, default arguments, and local versus global scope, with practical examples of def, print, and lists.
Learn to design functions that accept a variable number of arguments in Python using *args and **kwargs, including the star notation, iterating over arguments, and handling dictionary key-value pairs.
Explore how Python handles variable argument lists using *args and **kwargs, showing positional, keyword, and dictionary unpacking, and the importance of argument order.
Open files in Python, read line by line or the entire contents with a file handle, then use strip to remove newlines and whitespace.
Learn to read files in Python with exception handling, safely open files, read lines, and collect lines starting with from into a list of emails.
Learn how classes group data and methods into encapsulated objects in Python, using self, constructors, and the distinction between instance and class variables.
Explore Python classes by extending examples, comparing instance and class methods, constructors, and class variables, and observing how self versus class names affect attributes and behavior.
Learn how to override class methods like __str__, __len__, and __repr__ in Python by implementing a simple class with a constructor, custom length logic, and a tailored string representation.
Explore python's dir, id, and type utilities to inspect object methods, compare identities, and determine object types, with examples on strings, lists, and custom classes for debugging and parsing.
Explore string immutability in Python by practicing string slicing and constructing a new string to replace a character at a given index, via a function definition.
Learn how to replace a character in a string using slicing and a replacement character, creating a new string since strings are immutable, with 0-based indices.
Learn how strings are immutable and how to modify by creating new strings, using string methods like replace and find, and exploring built-in string functions.
Learn to handle runtime errors in Python using try/except blocks. Explore finally, specific exceptions like zero division error, and optional raising of user defined exceptions.
Learn how to measure a function's performance in Python using timeit and the time module, compare Linux time command outputs, and understand real, user, and system times.
Compare python performance with perf_counter, process_time, and time.time to measure code sections, noting perf_counter includes sleep while process_time excludes it; choose based on context for accurate timing.
Write a small python utility that pings a subnet range to identify alive hosts, using os.system and the system ping command with a configurable start and end.
Learners will implement a Python ping test solution that builds IP addresses from a subnet, pings each host with a single packet, and returns the alive hosts as a list.
Learn how Python swaps variables and uses packing and unpacking of tuples with multiple assignment, and compare its behavior to C’s swapping approach.
Write a Python program using the python whois library to fetch domain details like creation and expiry dates, with exception handling and practical command-line demonstrations.
Develop a Python whois mini project solution by importing the whois module, querying multiple domains from a host list, printing creation and expiration dates, and using try-except to handle errors.
Explore list comprehensions in Python by creating a list from an existing list, using syntax like [item*item for item in L], with optional conditions and memory-efficient generators.
Learn how to generate two-dimensional point pairs from x and y coordinate lists using list comprehension, compare with plain loops, and apply simple conditions.
Explore dictionary comprehension and zip with dict comprehension, building key-value pairs from countries and capitals while applying conditions; recap list comprehension and using zip to pair items.
Explore Python sets, their uniqueness and hash-based behavior, compare them with dictionaries, create and modify sets, use set comprehension, and perform union, intersection, difference, and symmetric difference operations.
Learn how to use Python's zip utility for parallel iterations across lists, creating paired tuples. Discover zip longest, handle unequal lengths with fill values, and extract elements by index.
Learn to implement a custom Python zip utility that pairs two lists by iterating the shortest length, then extend to multiple lists using *args and tuples.
Explore iterables, iterators, and generators in Python, learn how yield produces on the fly values, use next or for loops to iterate, and avoid loading large lists with StopIteration handling.
Explore how Python generators and the next function operate inside and outside loops, producing values raised to the power of three and handling stop iteration with for loops.
This lecture explains generator and iterator concepts, shows using next on generators and iterables, and converting a list to an iterator with iter(), plus iterating with for or while loops.
Implement __next__ in a custom iterator class to enable for-loop iteration, with StopIteration control, using examples like a range-style counter and a multiplication table.
Compare memory usage between lists and generators using memory profiler and psutil, showing that iterators consume far less memory when processing large data sets.
Explore map, filter, reduce, and lambda in Python by doubling a list, filtering numbers divisible by three, and summing with reduce, using lambda expressions for concise one-line functions.
Learn to convert degree to radian with map and lambda, filter obtuse angles, and reduce to a sum using Python, with practical demonstrations and key concepts.
The course demonstrates small set of independent program to demo a feature and later I stitch together concepts learnt to create medium complexity project.
The course is from beginner level but the student needs to have idea or familiarity with at-least one programming language.
Detailed understanding of the Python Language.
Detailed tutorial and internals of List, Dictionary, Sets, Tuples.
Detailed File Handling like reading/writing/opening. Several mini Project on Python.
Installation and development guide on Python.String Manipulation.
Detailed description and handling of Functions. Detailed description of Python Modules and how to write modules of your own.
Periodic updates on python news and new development. Future updates with lots of stuff like web scraping, youtube downloading and other stuff.
Operating system interfacing modules like OS and os.path
Demonstration of post, get for the rest client handling.
Writing Rest API backend with the Python.
Demo of the project in python for checking if the system is alive using the ping utility from within python program.
Demo of the project using the argparse, IPNetwork, netaddr, threads to do ping discovery for alive system.
Small Demo of the flask, although flask will not be covered extensively as its not a flask course.
This would be a dynamic and ever evolving course on python and new stuff will be posted very periodically.
I am planning to later cover the stock API and stock data fetch particularly from the polygon dot io for those who are interested, although this is currently not part of the program and will be added later.