
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Begin this beginner-friendly Python course by setting up Python, writing your first program, and building real-world games and applications, with insight into security, cryptography, and hacking concepts.
Learn web scraping with Python to pull data from websites quickly, using Beautiful Soup and Selenium to extract content, including mathematicians, Stack Overflow questions, and e-commerce product data.
Explore data visualization as a storytelling tool that highlights trends and outliers, turning complex data into a purposeful visual story, using numpy, pandas, and matplotlib to visualize NBA game data.
Learn to start programming with Python and Pygame to build simple 2D video games, cover mini games like Pacman and Dodge, and master event handling while avoiding boilerplate.
Access theoretical resources for python for everybody by downloading the notebook and source code from the resources folder, then follow steps to study variables and other topics.
Access the course source code via the resources folder. Download and unzip the zip file to explore the Pacman game project and run the scripts.
Install python on Windows by downloading from python.org, running the installer with path enabled, and verifying the setup in command prompt; write hello world and explore scripts and idle.
Download and install the PyCharm community edition on Windows, create a demo project, configure the Python interpreter, run your first script, and install external packages via the IDE.
Download and install Visual Studio Code on Windows (optional), install the Python extension, create a Python file, save, and run to print hello world.
Learn to install python 3 on Linux, update packages with sudo, verify the Python shell, and use pip to install external libraries for data visualization, web scraping, and game development.
Download and install PyCharm on Linux, choosing between community and professional versions. Unzip, run the IDE from the bin, and configure a Python project with the interpreter and libraries.
Learn to navigate Python documentation to access modules, the math module, and built-in functions, using the Python docs to explore features, community updates, and practical coding tasks.
Learn how to create and use variables in Python, assign values with the left-to-right operator, and respect naming rules and keywords to store integers, floats, strings, and booleans.
Explore Python data types, including strings, sets, and numbers, through dynamic typing, memory management, and string slicing, with sets as unordered unique collections and numbers as integers, floats, and complex.
Explore Python's core data types: create and manipulate lists, dictionaries, and tuples, access elements by index or key, slice lists, and understand negative indexing.
Explore Python's operators and operands, performing addition, subtraction, multiplication, division (including floor and float division), and exponentiation, with both direct operators and the math and operator modules.
Explore Python's boolean operators and logical operators—and, or, not—through truth tables and practical examples, then master operator precedence and parentheses in expressions.
Learn to use comments to explain code with single-line and multi-line styles, and master taking user input with Python's input function, including typecasting between strings and numbers.
Explore Python modules, including built-in and custom modules; learn to import, alias, and use math, random, and operator modules to perform mathematical computations.
Learn python list data structures by creating lists, appending, extending, inserting, removing, popping, reversing, sorting; slice with positive and negative indices and test membership with in, all, any, copy.
Explore Python dictionaries, a fast key‑value store for storing and accessing items by key, created with braces or dict(), with get, keys, values, and nested values.
Master Python string methods, from upper and lower to capitalize, title, translate, and formatting, and learn splitting, joining, slicing, reversing, and character checks.
Master string formatting in Python by using the format method with placeholders and positional indices, explore named arguments and literal strings, and learn floating-point precision control.
Explore Python indentation and whitespace as the key to defining blocks for functions, conditionals, loops, and classes, improving readability and preventing errors.
Master Python conditionals using if, elif, and else to control program flow with boolean conditions and comparisons. Learn to handle input and indentation to execute code blocks.
Explore while loops in Python and how they repeat code through iterations driven by a condition. Use break and continue to control flow, avoid infinite loops, and observe practical examples.
Master for loops in Python to iterate over lists, strings, and ranges, using dict.items() and enumerate for key-value pairs, with nested loops, break, and continue.
Define Python user-defined functions with def and call them to build modular, reusable code. Learn to handle arbitrary arguments with *args and **kwargs and use return.
Master default and optional arguments in Python, and understand that non-default arguments must come before defaults while learning to pass and iterate a list as a parameter.
Learn how lambda functions create anonymous one-line operations, compare them to named functions, and use them with multiple and arbitrary arguments for concise map-reduce driven Python code.
Explore functional programming by decomposing problems into functions and using lambda, map, and reduce in Python. Learn how map, reduce, and filter transform Python collections for data analytics.
Learn how Python iterators power for loops and generators, with an iterator returning one element at a time via __iter__ and __next__, signaling completion by StopIteration.
This lecture explains generators in Python, showing how they replace traditional iterators to reduce overhead with yield statements, and covers generator functions, multiple yields, and generator expressions.
Explore how decorators are functions that take a function as an argument and return a decorated function, enabling meta programming for web development, data visualization, and robust error handling.
Master Python list comprehensions to generate the same list with an expression, for loop, and optional if filters, and extend the approach to dictionary comprehensions.
Explore object oriented programming in Python by building classes and objects, studying attributes, methods, and constructors. Learn to manipulate attributes with self and distinguish class, instance, and static methods.
Learn basic inheritance in Python by deriving new classes from a base class to reuse methods, using super, and expanding behavior with rectangle and square examples, plus monkey patching.
Explains how python handles multiple inheritance by declaring a foobar class inheriting from foo and bar, showing method overriding, and using super to access base class methods.
Explore polymorphism in Python through duck typing and dynamic typing, showing how different classes implement the same methods with distinct behaviors via a shared interface.
Learn how properties create read-only, computed attributes and virtual attributes in Python objects, using a game character to track health, alive status, and damage, with underscores and getters guiding access.
Learn operator overloading in Python by implementing magic methods to extend operators like + and -, apply to vectors, and compare objects with < and ==.
explore the metaclass concept in python, showing that everything is an object with a class, and how a custom metaclass controls class creation through type and metaprogramming.
Learn to implement a stack from scratch in Python using a class and list, with push, pop, peek, and size operations, and apply it to balance brackets and baton passing.
Explore exception handling techniques in python, identifying runtime errors, using try, except, and finally blocks, handling division by zero, multiple exceptions, and debugging with rescue and logging.
Master Python file handling with open() in modes like r, w, a, and rb, using with statements for safe reading, writing, appending, and exception handling.
Learn how Python uses the special __name__ variable to distinguish standalone programs from imported modules, with __name__ equal to '__main__' when run directly and to the module name when imported.
Explore how the Python multiprocessing module enables running multiple processes in parallel, using Process to count up and down, start and join, and pooling with map for parallel computation.
Explores Python multithreading concepts using the threading module and starting threads. Covers daemon threads, subclassing Thread, run versus start, join for synchronization, with multiprocessing notes.
Implement a multithreading example that downloads several web pages concurrently and compiles them into a single output, using a queue to safely pass data between threads.
Learn Python collections, focusing on deque as a high-performance, flexible data structure for game development, and use Counter for word and element counting.
Explore the Python os module for platform independent low level file operations. Learn to create and remove directories, join paths, and access the current working directory and permissions.
Learn to use Python's heapq as a heap-based priority queue to manage large data, perform insertions and pops, and extract both largest and smallest values, including key-based object sorting.
Explore the functools module, learn to use partial for partial function application, cmp_to_key for key-based sorting, and reduce to aggregate, with examples of map and filter.
Explore the Python math module to perform rounding, floor and ceiling operations, truncation, and a range of trigonometric computations, including degree-to-radian conversions, hypotenuse, and handling infinity and NaN.
Explore the Python random module by importing random, using choice, sample, and shuffle to build a password generator and learn seed for reproducible results.
Learn to use SQLite with Python to create a database, define tables and columns, insert and query records, and manage data with cursors and commits.
Explore the Python datetime module’s date, time, and datetime objects, time delta calculations, and formatting and parsing techniques for aware and naive time zones.
Learn to scrape data from websites quickly with Python, using Beautiful Soup and Selenium, demonstrated on real sites like mathematicians, Stack Overflow, and an e-commerce site.
Learn how to extract data from web pages using python, exploring web scraping fundamentals with beautiful soup and selenium, and storing the results for analysis.
learn to perform web scraping with beautiful soup to extract mathematicians' names from a page using requests and a parser, then clean and deduplicate the data for visualization with binder.
Learn to scrape a website with Python using Beautiful Soup and the lxml parser to extract problem names from a data table, navigating tags.
Learn web scraping with selenium webdriver to fetch top Stack Overflow questions using CSS selectors, installing gecko driver, and combining with beautiful soup.
Combine selenium web driver with beautiful soup to scrape product names and prices, then store results in a data frame and export to csv using the binder library for analysis.
Explore intro game development with a Python library for creating 2D video games; learn to start programming in Python and build mini games like Pacman.
Learn the Python turtle module for simple games, using forward, backward, right, left, goto, set X, set Y, circle, dot, screen setup, and basic event handling.
Explore the turtle module and magic methods in Python, highlighting operator overloading for addition and comparison, and introduce mini game development with a vector class and floor-based drawing.
Explore a two dimensional vector class in Python for game development, focusing on position, movement, and operator overloading with magic methods to support 2D gameplay like Pacman.
Demonstrates python animation using a base module to move a player with a vector position, set up a 420 by 420 screen, and update motion with an on timer loop.
learners build a snake game by importing modules, rendering the snake and food with a square, and implementing keyboard controls to move the snake using arrow keys.
Learn to implement a snake game movement system: set up a 420 by 420 screen, move the snake head by momentum, and render green squares every 100 ms.
Learn to render food and detect when the snake eats it, spawn food positions, and grow the snake, while implementing boundary checks and game-over logic in a turtle-based snake game.
Create a tile-based Pacman game world in Python using a 0/1 map, rendering black tiles and blue walls, and place Pacman and four ghosts with food dots at tile centers.
Show how to validate Pacman moves on a tile map, allowing only blue tiles, map positions with an offset index, and update movement via keyboard input.
Implement Pacman movement by validating moves against the tile map, updating Pacman's position from arrow-key input, and rendering Pacman and food dots; outline ghost collision logic for the next lecture.
Render ghosts in Pacman by looping ghost positions, applying direction vectors, and using a random trace to move on valid tiles, while detecting collisions with Pacman.
Explore the pygame module as a Python game framework, install via pip, import pygame, set up a display, render a rectangle, handle events, and frame rate aids movement.
Learn how frame rate governs smooth rectangle movement using a clock and tick method to clear the frame and achieve stable 60 fps.
learn to load a ball sprite in pygame, initialize the display, handle user events, and render the image with blit and display.flip at a smooth frame rate.
learn to build a dodge car game in pygame by rendering a player car and obstacles on a screen, handling left-right movement, random obstacles, and a game loop.
Enhance the dodge car capstone by smoothing movement on key release and rendering enemies at random x positions, while increasing speed and width with score and enforcing boundaries.
Modify a pygame dodge car game to enforce boundary checks and handle collisions with enemies, implementing top-left origin, display dimensions, and collision pause-restart.
Construct a pygame pacman capstone by modeling three core characters, wall, food dot, and the player (pacman or ghosts), with sprite classes, event handling, collisions, and ghost movement logic.
Create and render Pacman game characters in Pygame, define ghost and player movement tracks, and build level one with walls, gates, food, and groups for collision-aware rendering.
Load sprites and create a Pac-Man level in pygame. Build a main game loop that handles events, updates the hero and ghosts, and renders walls, food, and sprites.
Render ghosts and manage Pacman’s sprite movements in a Pygame capstone. Implement rotation and flipping to match up, down, left, right directions, and prevent wall collisions for smooth gameplay.
Develop automatic ghost movement for a Pac-Man game by implementing track-based directions, speeds, and loops for four ghosts, handling collisions with walls and gates.
Wrap up your Pacman capstone by finishing sprite movement, ghost tracking, and food collisions, updating the score with a loaded font, and adding looping background music via the mixer.
Explore data visualization with three widely used Python libraries and visualize a set of NBA games to reveal trends, outliers, and storytelling with a purpose.
Explore why NumPy arrays outperform Python lists for scientific computing, delivering faster performance and lower memory usage. Learn installation, import as np, and basic array versus list comparisons.
Explore numpy basics by creating 1D, 2D, and 3D arrays, inspecting shape and size, slicing and reshaping, and using a spacing method to generate evenly spaced values with axis.
Explore NumPy array fundamentals and practical numeric operations, including standard deviation, variance, addition, multiplication, division, and vertical or horizontal stacking with ravel for Python data analysis.
Learn to visualize data by creating plots with numpy and matplotlib, including generating x values with arange, computing sine, exponential, and logarithmic results, and rendering graphs.
Explore how to plot 2D data with the matplotlib library in Python, creating line, bar, histogram, and scatter plots, with styling, axes labels, grids, and figure saving.
Explore the pandas library to refine and analyze data with data frames and series, perform cleaning, transformation, statistics, filtering, and visualization, and load from and export to csv/csb formats.
Learn to merge and join data frames with pandas by aligning on a common column, addressing duplicates, and handling missing values, then concatenate frames for vertical stacking.
Capstone: load and configure data frames using pandas by importing a csv, inspect the data's shape and columns, and explore numeric and categorical statistics with describe include=object.
Learn to query a pandas dataframe to filter nba dataset after 2010, handle nulls, remove duplicates, and build complex conditions with logical operators to visualize data slices.
Manipulate a dataset's columns with the binders library: copy the frame, add a difference column, rename columns to reserve and location, and convert game location to categorical data.
Learn data cleaning in pandas to handle missing and invalid values, fill blanks with defaults, drop or preserve columns, and prepare clean data for reliable machine learning models.
Implement secure password hashing in Python using hashing algorithms and salt, leveraging hashlib and PBKDF2, to protect passwords from rainbow tables and brute-force attacks.
Learn how to compute message digests using a hashing library, generating fixed-length digests with sha-256, and verify file integrity through file hashing.
Explore encryption and decryption with RSA public key cryptography, showing how private and public keys enable digital signatures, signing, and signature verification.
Explore asymmetric RSA encryption, where a sender uses a recipient's public key to encrypt a message that only the recipient's private key can decrypt, illustrating public key cryptography.
Explore AES, a fast symmetric encryption standard, with 128 or 256 bit keys, an initialization vector, and password-based key derivation with salt to protect against rainbow table attacks.
Set up a secure virtual lab using Kali Linux as server and Windows 10 as testing machine in VirtualBox to safely test Python hacking scripts.
Master essential Linux commands and navigation in a color Linux interface, covering root directories, file creation and manipulation, and networking tools like ping, whois, and dig.
Explore how to use apt-get to interact with the Debian packaging system, update package lists, install and upgrade software, and remove packages with sudo or root privileges on Debian-based Linux.
Learn the basics of networking, including client–server communication, IP and MAC addresses, and how ERP maps IPs to MACs to route data.
Learn information gathering to identify IP and MAC addresses, operating systems, and open ports using netdiscover, nmap, and zenmap, laying the groundwork for Python-based network scanning.
Learn how to switch wireless adapters from management to monitor mode using airmon-ng, enabling packet sniffing and analysis across devices on the same network, including mastering MAC addresses.
Convert a wireless interface from managed mode to monitor mode using airmon-ng and interface commands, then use airodump-ng to list networks and connected clients for network reconnaissance.
Explore how to crack WPA networks using airodump-ng and crunch, including configuring monitor mode, capturing handshakes, and generating wordlists to test Wi-Fi security.
Capture a WPA handshake from a target network, generate a word list from the captured data, and crack the WPA password using the handshake.
Explore how a man-in-the-middle attack leverages ARP spoofing to intercept traffic, exploit MAC and IP addresses, and impersonate both client and server in a network.
demonstrates arp spoofing and man-in-the-middle attacks using mitmf to capture packets, spoof mac addresses, and analyze web traffic on a kali linux setup.
Demonstrates using the man in the middle framework to inject payloads, including a keylogger and js, set up beef, and capture screens and keystrokes across targets.
install and configure python packages, then use the man-in-the-middle framework to inject a payload and capture screenshots. demonstrate loading a keylogger and reviewing logs while adjusting gateway and interface settings.
Explore the Veil framework, its use in generating payloads and backdoors, and the basics of configuring evasion-focused communication between client and server, with msf console integration.
Use the veil framework to generate a backdoor payload, update for antivirus evasion, configure host and port, and create a reverse payload for delivery.
Generate a payload with Veil, configure options, and establish a reverse tcp listener using MSF console to study backdoor delivery techniques.
Configure a listener with msfconsole and build payloads, test antivirus evasion with Virus Total, and explore cross-platform backdoors and reverse shells using Python.
Explore how the veil framework creates a reverse tcp payload, hosts it on a web server, and uses msf console to establish a client-server connection from a Windows client.
Learn the beef browser exploitation framework, including javascript hooks to connect a victim's browser to the attacker, plus web-based hooking, redirects, and social engineering payloads.
Learn to perform a man-in-the-middle attack using ARP spoofing to intercept client traffic, inject a hook.js payload via a browser exploitation framework, and hook the target browser.
Welcome to Python Programming world: The most popular language skill to have in 2020. You are going to learn every bit of python language in this course so that you can apply your knowledge in real-world apps.
In this course, You will learn:
1. Web Scraping using BeautifulSoup and Selenium Webdriver
2. Game Development using Pygame module
3. Data Visualization using pandas, numpy and matplotlib module
4. Security and Cryptography
5. Hacking and Exploiting (Create Backdoors and Malware from Scratch)
TOPICS TO BE COVERED IN THIS COURSE:
Basic Python course Highlights:
Installing Python
Running Python Code
Strings
Lists
Dictionaries
Tuples
Sets
Number Data Types
Print Formatting
Functions
Scope
args/ kwargs
Built-in Functions
Debugging and Error Handling
Modules
External Modules
Object-Oriented Programming
Inheritance
Polymorphism
Encapsulation
Advanced Methods
Iterators
Closures
and much more!
Advanced Python Topic Highlights:
Functional Programming (lambda, map, reduce)
Decorators
List Comprehensions, Dictionary Comprehensions
HeapQ, Stack Implementation
Classes and objects
Metaclasses
Necessary Module covered:
os
collection
random
subprocess
datetime
math
numpy
pandas
matplotlib
beautifulsoup, selenium
sqlite
cryptodome
turtle, pygame
multiprocessing and so on...
PROJECTS SECTION
Projects (Basic to advance):
Web scraping on real websites
Snake game
Dodge Car race game
Pacman game
Password and message hashing
Cryptography
NBA data visualization
Making mac-changer with Python (Hacking)
Malware from scratch
Backdoor and Python Keylogger from scratch
Frequently Asked Questions:
Is Python A Good First Programming Language To Learn?
Even though it has not yet been adopted as a first language by many computer science programs, Python is widely seen by industry experts as a great first programming language when learning to code and its extensive use in SpaceX to automate and handle technologies to launch rockets, Instagram, Google to support their backends and Many companies to support and execute ML and Deep Learning Algorithms; Its undoubtedly No.1 Programming Language to learn.
For starters, the syntax of Python is simpler than that of most other major programming languages, with fewer exceptions and special cases. It also tends to use plain English keywords in place of the system of punctuation that has to be memorized in other languages, making it easier to learn to code. Given these conventions, Python code tends to appear as less of a "jumble" to newcomers than it does in comparable languages.
Another great feature of Python is the ubiquity of its use. While Python is optimized for development on Linux and Unix systems, interpreters are available for just about every major operating system. All implementations of Python are supported by an excellent standard library, which means that new students can very quickly move on to creating actual functional programs that are useful. Additionally, the standard implementation of Python, CPython, is free and open-source.
What Type Of Jobs Are Available To Python Programmers?
In the job market, if you observe the trends; Python is often looked like a strong language to support some primary language that is more broadly used like C or Java. But Lately, with the evolution of ML and Deep Learning Algorithms; it is highly demanded skill to have in 2020 and later. There are a variety of jobs that one can get focusing exclusively on Python development, however. Many of these jobs will be in building and improving the internal tools that a company uses to create its finished marketable products, rather than working on the finished product itself.
One specific economic sector where the presence of Python programming is particularly strong is the geospatial industry. This is a critical industry that deals with navigational tools such as GPS, radar, and light measurements.
If you're interested in web applications, Python is a better choice for development (working with the back-end or server-side) rather than design (creating the actually finished front-end that site visitors interact with). As mentioned previously, Google employed Python for many components of its search engine, and it is quite widely used in the data mining industry.
Finally, Python can also be used for game development. Some famous examples of games developed either entirely or in large part with Python include EVE Online, Civilization IV, the Battlefield game series, and the Mount & Blade games. The popular development environment Blender is written in Python.