Learn to Code
Welcome to the Learn To Code directory of the #dentropyDaemon wiki. Here we provide an overview of what is take to code as well as multiple places to start. The internet already has tones of amazing tutorials and courses on how to code therefore I have listed the ones I find useful and have listed a couple reasons why under each one of them. The goal of this page is to provide you the tools to integrate these tutorials into a cohesive understanding of coding, this involves asking as well as answering questions, producing your own notes or PKM with selected notes published for others to read, and an emphases on Project Based Learning.
People tend to not learn things for learning sake. People learn things because they want to do something with the skills and knowledge they have learned. I hope you take a look at the Learn to Code Questions, but in case you don't ask yourself now, Why do you want to learn to code? I highly recommend you open up your notes or PKM and write down three reasons you want to learn to code. When you get lost comes back to these reasons then use and or update them to make sure you are getting what you need from coding.
Asking the Right Questions
It is very important to orient oneself with the material before they dive deep into it. There are a lot of programming languages making the space pretty political at times and therefore complicated to navigate. The reason programming is so political is because you can use just about any programming language to solve your compute problem and all programming language's have a similar root set of concepts. For example all programming languages have their own versions of variables, types, lists, loops, and functions. Before getting started I recommend checking out Learn to Code Questions and see what Google and ChatGPT think of them.
Project Based Learning
Many people choose to learn to code because they are interested in building something or solving a problem. If you don't have a project or problem you are interested ask yourself what problems can you solve for other people using coding. Beside the the reasons you want to code which you should have written down in your notes or PKM I highly recommend you come up with at least one project or problem you can use coding to solve. We are going to have to solve a lot of problems and built quite a bunch of projects before we can build anything big and complex so keep in mind, the simpler the better. Before choosing your project take a look at some of the example ones below.
Simple Project Ideas
- X's and O's
- Hang Man
- Rock paper scissors
- Coding Project Ideas - A ShareGPT conversation
- Guess number game, warm hot, etc...
- TODO List
- Quiz Engine
- TODO List
- Bug Tracker
- Budget Tracker
- Password Manager
- Text Based Adventure Game
- Checkers
- Gantt Chart
- Accounting Software, UTXO
- Customer Management Software
Overview of Learning to Code
There are many different types of application you can write but at the end of the day people usually like to produce user interfaces that look pretty and are easy to understand by those that can't code. Most programming languages will require you to learn the CLI (Command Line Interface) then just have you learn all the basic coding skills before you learn something fun. Luckily there is a special programming language taught by the likes of Kahn Academy where you start by drawing a circle rather than printing Hello World. If you want to start the traditional way CLI then check skip the following section on "Processing".
Enter "Processing" the programming language
Now that we know why we want to code and have a project in mind we can start diving into the actual art of coding. Check out the follow links in order. Please note that we are learning P5.js not the old fashioned Processing here. Also remember that Processing (P5.js) is written in Javascript therefore javascript is a good choice of language to learn afterwards and will be easier to learn compared other programming languages like Rust, Python, or C.
- OpenProcessing - Creative Coding for the Curious Mind
- Check out example projects you can build with just Processing
- Intro to JS: Drawing & Animation | Computer programming | Khan Academy
- Learn Processing via video here
- Watch the videos until you write at least your first processing program before trying out the other links below
- examples | p5.js
- Learn Processing by example here
- get started | p5.js
- Learn Processing via text here
Questions while Learning Processing
- What is my favorite program on OpenProcessing.org?
- Can I write a basic program in Processing off the top of my head?
- How many different shapes can I draw in Processing?
- How do I write text in Processing?
- Why do people write comments in computer code?
- How do I write a comment in Processing?
- What kind of user input does Processing accept?
- What is a variable in Processing?
- What is a list in Processing?
- What is an Object in Processing?
- How do you write a function in Processing?
CLI(Command Line Interface)
- Paul Mullins / Teaching Coding ยท GitLab
- A beginner's guide to navigating the Linux filesystem | Enable Sysadmin
- Basic Linux Navigation and File Management | DigitalOcean
- Unix / Linux - File System Basics - Tutorialspoint
- Youtube Videos
- Linux/Mac Terminal Tutorial: Navigating your Filesystem - YouTube
- Bash Tutorial: How to Use the Command Line in Linux, Windows, and Mac Terminal - YouTube
Basic Python
- Learn Python the Hard Way
- GitHub - ubarredo/LearnPythonTheHardWay: Learn Python The Hard Way course exercises
- Learn Python, learn-python.com
- Python Tutorial, w3schools
- Learn Python, learnpython.org
- Python 3 Tutorial - Tutorialspoint
- Youtube Videos
Git
- Youtube Videos
- Git and GitHub for Beginners - Crash Course - YouTube
- Interactive
- Set up Git - GitHub Docs
- Learn Git Branching
- Articles
- Learn the Basics of Git in Under 10 Minutes
- [Tutorial))))))
Server Management
SSH
- Youtube Videos
- Learn SSH In 6 Minutes - Beginners Guide to SSH Tutorial - YouTube
- SSH Crash Course | With Some DevOps - YouTube
Web Development
- HTML + CSS
- Javascript
- NodeJS
- Python + Flask
Youtube Channels
To find good youtube channels just search learn "skill" here. Some skills include python, javascript, command line, and
- Fireship - YouTube
- freeCodeCamp.org - YouTube
- NetworkChuck - YouTube
- TechWorld with Nana - YouTube
- Programming with Mosh - YouTube
- Amigoscode - YouTube
- Extern Code - YouTube
- Traversy Media - YouTube
- Dev Ed - YouTube
- Ben Awad - YouTube