In this course, I will take a different approach to teaching Python. One that teaches error handling and interactivity from the first Python script. This is specifically catered to anyone who is interested in or is learning cybersecurity, especially if you are scared of coding! A good number of software vulnerabilities have “input validation and error handling” as mitigation and by the time you are done with my course, you will fully understand what that means.
Also, there is no way that you can actually learn python without coding and building your own things. This is why I have several coding exercises ready for you to do! Although I do encourage you to do something on your own that you are capable of each step of the way. Don’t be scared to run into walls because only them can you send them crashing down!
I also have another course called “Cybersecurity Prep Course for Absolute Beginners” so please do check that out if you are trying to get into cybersecurity as well.
Why do I take this approach to teach Python? One thing is that unless a program is interactive it is boring. Another thing is that most applications, especially ones that are attacked, are interactive. User input is one of the most popular ways to exploit a program. You will learn exactly why that is.
You may have also heard of an API. You will learn exactly what this is and we will be using Python to interact with it. This will allow you to understand the security concepts behind this. This is vital given that most web applications use at least one third-party API for things like handling payments, sending text messages or emails, etc.
Finally, I will show you the low level of how servers work because we are going to code our very own by teaching you how to use the sockets library!!
Getting Started
Environment Setup
Join the discord: https://www.specificlearn.com/join-discord
In this video I will show you how to install python on your machine.
Install the necessary extensions for VS Code for this course.
Join my discord: https://discord.com/invite/hyyAdk8j4K
Visit my website: https://www.specificlearn.com/
The Fundamentals
Learn how exactly we run python files and what that means.
In this lesson I will teach you how to collect input from a user in a python application.
Learn the basics of storing values in variables, manipulating them and accessing them. Please see the resources for a complete list of arithmetic operators in python.
Learn a nice easy way to format strings.
Simple way to handle errors (exceptions).
Let's learn how our program can make some decisions. Please see the resources for a full list of conditional operators.
Learn how and when to use a while loop.
Learn why a for loop is the most popular choice in python it seems.
Learn how arrays (lists) are used in python. Please see the resources for a complete list of methods to use with lists in Python.
It may look confusing at first, but we will get this down eventually.
Learn how functions are created and used.
Object Oriented Programming
Let's Make API Requests
Sockets
Let's talk about what in the world a socket is!!! REALLY
Network fundamentals on this FREE course https://www.udemy.com/course/cybersecurity-prep-course-for-absolute-beginners/
In this video, I go over the overall process of how sockets are used and managed with the sockets library.
Before we start intense socket coding in Python it is necessary to explain the purpose of encoding and decoding now so we don't have to take a break while building our server in the next video.
Here we will make the necessary parts of our server.py
Now that we have a server.py listening and accepting connections, let's connect from a client.
This is really what you have been waiting for, the sending and receiving of messages between a client and server. By the end of this video, you will be able to create a simple chat application.
Hashing Passwords
In this video I go over hashing concepts and how to install the bcrypt package.
In this video, I go over how to hash the plaintext properly with bcrypt. I also cover the concept of a salt.
In this video, I go over how the password is checked given that a hash is a one-way function. You will also know be able to control program flow based on a user entering a correct password or not.
Requests Library In-Depth Real-World Scripting!!
https://www.w3schools.com/python/ref_requests_get.asp
Reading and Writing to files and Logging!!
Read the contents of a file and place into a python list.
Documentation for logging library: https://realpython.com/python-logging/
Sending Email with Python (Project-Based Instruction)
API Documentation: https://v2.jokeapi.dev
Gmail authentication issue solution: https://support.google.com/accounts/answer/185833?hl=en
Documentation: https://docs.python.org/3/library/smtplib.html
Github Repo Example: https://github.com/lramseyIV/jokeapifun