A google docs version is available but has less info here

How to install a virtual machine

The Beginners Guide to Programming

Logical Thinking

A key component of programming is the logical thinking behind actually creating this code. Programming is just a bunch of logic gates with commands in the middle. Being able to think like this is extremely important if you want to code. A large part of logical thinking is understanding algorithms. Here is a document that explains a lot of what you need to know about algorithms (doc)

Understanding how a Computer works

Programming is much easier when you know what you’re using to program. Some things are possible only on one device and something else only on a different one. For the most part, hardware is a general topic that doesnt change much across the board. However when you get to software it gets interesting. Some programs only run on windows and some only run on linux and/or mac, as shown here there is many differences between these OS’ (operating systems) and they each have their own use case. For programming Linux is often a first choice although Windows is used in situations like developing a windows application.

(click image)

Miscellaneous Concepts

Algorithms and Data Structures

It is very important to know how data works and how to manipulate it, if you have time I recommend the video but the two sites is fine if you dont want to spend 5 hours watching a video

5 Hour in Depth Video

Small Site 1

Small Site 2

Version Control

Systems like Git offer a plethora of features to manage your code quickly and easily and is the standard management system for many corporations This will be taught here but if you also want to read about it on your own then here is a source

Development Tools

Visual Studio Code is one of the only dev tools i have ever used therefore is what i will be using in this guide but if you want to use something else that is perfectly fine, I do not recommend the web version of vscode for new learners though

Using the Community to your advantage

The ability to admit you have no idea wtf you are doing and ask for help is one of the most important skills in programming and is 100% essential when starting to learn because you will have lots of questions that will need to be answered that you would never figure out on your own

Why is Programming important?

It allows you to have creative freedom and create things you never would have been able to without it, it also teaches essential skills used in other aspects of life like problem-solving

Setting up your Development Environment

Choosing an IDE(Integrated Development Environment)

An IDE is just a program that runs on your computer(Visual Studio Code is an IDE) and allows you to code, these are usually pretty beginner friendly and are very expansive, usually allowing the user to use the terminal within the application. The terminal is essential to many languages because it is used to compile your code. Keep in mind that IDEs are usually not lightweight and might run slow on old systems.

Now that you’ve chosen your IDE you need to install it

VSCode installation for Windows 10/11

VSCode installation for Linux

VDCode installation for MacOS
(MacOS not recommended for programming due to compatibility issues)

Actually Programming

Selecting a language

Theres are hundreds and maybe thousands of languages to select from.

For beginners I would recommend:

Python, if you want to learn easily(makes it harder to learn new languages down the line), Python is very versatile as a language and had many use cases but also runs pretty slow in comparison to other languages

JavaScript, harder than Python but still an easy language to get good at and even master eventually. JS is used in website development

C++, for a challenge. Learning cpp will make many other languages easier to learn because many languages in use today are based off of it

C, for something really hard, mostly used for its low level memory access and therefore used for nearly everything that needs that LLMA. Things like code compilers, operating systems and various other similar things use C

The Terminal

This was mentioned above however it was just a wikipedia article so since it is so essential here is a video on the subject that will hopefully teach you the basics of the Linux terminal


Terminal for Windows

These languages each have their upsides and downsides so it up to you to pick one Below are various courses and guides that you can use, most of which are free to learn from so have at it and learn something new!

Network Chucks Python Course

LearnPython.org

Codecademy Python Course

Codecademy JavaScript Course

12hr Long JS Mastery Video

3.5hr Long JS Beginner Video

(this came out 2 days ago as of making this site)

Codecademy C++ Course

6hr Long C++ Mastery Video

1.5hr Long C++ Crash Course

4hr Long C Video

10.5hr Long C Mastery Video

Please keep in mind that the "Mastery" videos dont mean you will master the language just from them, actually mastering a language can take years. But these courses and videos will be helpful as a start

Using Git

Git is a very helpful thing to know when programming, it allows you to manage your code more effectively and allows you to revert changes that break your code. It also allows you to manage code wiht someone else. Im going to show you how to use the command line interface(CLI) of Git. By the way, a repository is just a code storage pretty much, it uses a password to allow edits.

The main commands are
git clone 'https://example.com/repository', git clone allows you to clone the code at the given URL onto your computer to edit it
git-add [files], this command adds changes to commit(change) to the repository
git-rm [files], this command does the opposite, removes changes from commit
git commit -a , commits all changes to the repository

Here is a video that explains it better than me