This file contains resources to learn programming and software development. This file is divided into 2 parts - Goal-Oriented and General Purpose.
- Goal-Oriented resources teach you to deliver an output like making a website or an app.
- General Purpose resources teach you a particular language like Python or JavaScript and they also teach you about the general data structures which every programmer should know.
A Goal-Oriented listing has higher priority so if a resource falls in both general purpose and goal-oriented, it automatically goes in goal-oriented and is not duplicated.
Goal-Oriented
General Purpose
Lars Vogel's article on Android Programming in Java are an industry standard. His website contains articles on Android Development from beginner to expert level. You can go through it in the order they are listed.
Website - https://www.vogella.com/tutorials/android.html
Learn HTML, CSS, JS and some advanced topics from the most popular online bootcamp. They also give you a free certificate for completing their training.
Website - https://learn.freecodecamp.org/
A hands-on introduction to all of the essential tools you'll need to build real, working websites. You'll learn what web developers actually do – the foundations you'll need for later courses.
Website - https://www.theodinproject.com/courses/web-development-101
Learn HTML and CSS from a free, premium video course by Udacity.
Website - https://www.udacity.com/course/intro-to-html-and-css--ud001
HTML & CSS seems hard (But it doesn’t have to be). This is a friendly web development tutorial for complete beginners.
Website - https://internetingishard.com/html-and-css/
W3Schools is an educational website for learning web technologies online. Content includes tutorials and references relating to HTML, CSS, JavaScript, JSON, PHP, Python, AngularJS, React.js, SQL, Bootstrap, Sass, Node.js, jQuery, XQuery, AJAX, XML, Raspberry Pi, C++, and Java.
Website - https://www.w3schools.com/
This is the most popular free Java course on Udemy. If you are a beginner in Java, go for this. It offers a thorough introduction to every Java concept and is taught in digestible sessions.
Website - https://www.udemy.com/course/java-tutorial/
CodeGym is an online Java programming course consisting of 80% practice. It teaches about Java syntax, Java core, Java Multithreading, Java collections in the form of an interactive quest. It also teaches about the basics of development in java by making some java games step-by-step. It even has many blogs that help to clear concepts about a particular topic.
Website - https://codegym.cc/
You Don't Know JS is a free series of books for learning JavaScript at a deep level. Pick this resource if you want a strong understanding of JavaScript.
Website - https://github.com/getify/You-Dont-Know-JS
JavaScript.info is a web tutorial where you can find articles related to JavaScript from noob to advanced.
Website: https://javascript.info
Once you've finished the tutorial, you will have a small working web application: your own blog. They also show you how to put it online, so others can see your work!
Website - https://tutorial.djangogirls.org/en/
A free course on Udemy by the Coding Entrepreneurs that teaches how to build a Django Blog, learn Markdown into Django Integration and Django Rest Framework for RESTful API Design.
Website - https://www.udemy.com/course/try-django/
This tutorial is designed for developers who want to learn how to develop quality web applications using the smart techniques and tools offered by Django.
Website - https://www.tutorialspoint.com/django/
Official tutorials for thenewboston Django Tutorials for Beginners series
Website - https://www.youtube.com/playlist?list=PL6gx4Cwl9DGBlmzzFcLgDhKTTfNLfX1IK
Learn Django in these videos by following along as the instructor show you how to build a simple hello world app and then a guestbook app that uses the templates, models, and form functionality with Django.
Website - https://www.youtube.com/watch?v=QVX-etwgvJ8&list=PLXmMXHVSvS-DQfOsQdXkzEZyD0Vei7PKf
This is easy to grasp highly rated Python tutorial on Youtube. All concepts are explained in crystal clear manner suitable for beginners. In later half, it also dives into 3 practical projects which helps in assimilating all the learning throughout.
Website - https://www.youtube.com/watch?v=_uQrJ0TkZlc
Ruby in 20 minutes is a small tutorial that teaches the basics of Ruby programming language. This tutorial is created by the official development team of Ruby. It is well-suited for beginners to start with Ruby. By the end of this tutorial, you will be able to create a fully functional web application. This tutorial is completely free and open-source. Some of the key topics included in this tutorial are as follows: 1. Introduction 2. Functions 3. Classes and objects 4. Variables
Website - https://www.ruby-lang.org/en/documentation/quickstart/
Learning data structures is really important as a programmer as they are extensively used and are important for any coding interviews as well. This course allows you to grasp some of the basic data structures easily and for free. In this course you can easily go underneath the hood of functional algorithms and data structures, and see how they work and how to compare them. Plus, get the details on when and how to use them. Some key topics which you are going to learn are : 1. Algorithmic analysis 2. Sorting and searching algorithms 3. Basic data structures like Stack, Queue, Linked Lists
Website - https://www.edx.org/course/algorithms-and-data-structures