Programing Background

Okay let me be honest with you. I had 0 knowledge on "any" programming languages. I have only read a few python scripts during my OSCP days, but I wouldn't count that in as coding or scripting.

The start of my mediocre programming knowledge.

I of course knew I had to learn Python, JavaScript (Node.js), PHP, C#, and Java even before starting with the course. So, here I'll share with you what I have done in-terms of programming up till now.

*Note: These videos mentioned here aren't the only thing I did, I also wrote scripts, minor functionalities, play around with each language and practice on vulnerabilities shown on Prior OSWE Course.

Starting out with JavaScript

Now where do we usually turn to when we wanna learn something? paid courses. Yes, but I can't afford that so.. Second best choice -> YouTube!

Let me tell you this, the course I mentioned below is around (3-4 hours), but boy is it worth it. People usually tell you to learn python first but I personally disagree, Python's syntax are too abstract that when learning classes and objects, you might become lost.

Important note* Learn how to use Ajax request with JavaScript!

Also, to flame a little bit more on python, you become so lost in the easy world of syntaxes that it becomes harder to learn other low level languages such as C, or C++ to name a few. Begin it with JavaScript, I don't know its more fun as well. Alright enough yammering, here's the video:

freeCodeCamp [ Learn JavaScript - Full Course for Beginners ]

Moving on to PHP

Alright, so how was the course? First, it teaches you basic stuffs about syntaxes similar to literally any other programing languages (you know, if statements, loops, arrays, etc.); feel free to skip this, and just google w3schools if you get lost. But pay attention on the objects, constructers and classes portion -> spoiler alert: they will benefit you greatly during PHP deserialization. here's the video once again:

freeCodeCamp [ PHP Programming Language Tutorial - Full Course ]

Node.js & Express.js

Node.js is a little different from what I have done so far, it's a run-time environment that executes JavaScript outside of web-browsers. Instead of using document-object-models, and bowser-object-models, Node.js allows you to interact with file-systems, handle HTTP requests, and many other sever-side functionalities.

I'll also leave a link down below to an Express JS course. It is not mandatory to understand Express JS, however, Express JS is a back end web application framework for Node.js; Throughout the materials of OSWE, I always see Express JS alongside node.js, which is the main reason I decided to learn. It makes it easier to build web applications and APIs.

Programming with Mosh [ Node.js Tutorial for Beginners: Learn Node in 1 Hour | Mosh ]

freeCodeCamp[ Learn Node.js - Full Tutorial for Beginners ] -> a more in-depth version to refresh.

Traversy Media [ Express JS Crash Course ]

Next Up C#

I'm in the middle of this currently, and its no other than another YouTube videos. I'll be learning about C# and then moving on to Java, as they are pretty similar (if I am not wrong). This one isn't only about C#, I'll also be learning about MVC framework, which will be useful during source code reviews.

Programming with Mosh [ C# Tutorial For Beginners - Learn C# Basics in 1 Hour ]

Programming with Mosh [ Step-by-step ASP.NET MVC Tutorial for Beginners | Mosh ]

Java OOP

Java was very similar to C# in terms of its package, compilation, execution and frameworks. At least for building a webpage. In Java, I learnt about data types, and type castings; which basically allows you to control how much memory you want to take up for a certain variable, etc.

Basically in java, you have to write more in order for it to do the same thing :) I would recommend you to learn file handlings, databases access and handling user supplied data with JAVA.

java.servlet.http.HttpServletRequest, java.sql.Connection.createStatement, java.io.FileInputStream, java.io.FileOutputStream, java.io.FileReader, java.io.FileWriter.

The one area I would like you to focus on is java package management, as we will be required to understand what a certain package is doing. It may look scary at first but once you get the hang of it, you'll notice its not that much of a different to PHP. Check these URL out to learn java the way

Programming with Mosh [ Java Tutorial for Beginners [2020] ]

w3schools.com [ Java Tutorial ]

Michael Fudge [ Learn to Program in Java (Playlist) ]

Helpful references you should definitely check out

Last updated