Developers' Guide
This is the GitHub Repository for Developers' Guide. You can find all the free resources you need to get started with programming or build upon new skills all in one place. The resources are classified categorically. buzzinga
Introduction
The amount of free resources that we can find today on the internet is often overwhelming to those willing to explore. On the contrary, a lot of people are unware of the existence of most of these resources due to lack of interest in thorough research. Hence, I would be categorically posting new resources everyday (can be a delayed sometimes). This would help you all eliminate the need to repeatedly search for material to study from.
Categories
- Developers' Guide
Programming-and-Algorithms
GitHub Repositories
- Algorithms in Python: TheAlgorithms/Python: All Algorithms implemented in Python
- Learn Elixir: seven1m/30-days-of-elixir: A walk through the Elixir language in 30 exercises.
- Learn bash: Idnan/bash-guide: A guide to learn bash
- Learn Algorithms: coells/100days: 100 days of algorithms
- Learn Functional Programming in Haskell, Ocaml and Python: caiorss/Functional-Programming: Functional Programming concepts, examples and patterns illustrated in Haskell, Ocaml and Python
- Learn Go: quii/learn-go-with-tests: Learn Go with test-driven development
- Learn Haskell: bitemyapp/learnhaskell: Learn Haskell
- Learn Regex: ziishaned/learn-regex: Learn regex the easy way
Guides
- Tech Dev Guide by Google has a ton of useful resources and exercises: Google Tech Dev Guide
- Codelabs by Google: Codelabs - Google
- Google Developers' Intro to C++: Introduction to C++, Google Developers
Practice Coding
Coding Practice Websites | Description |
---|---|
Hackerrank | HackerRank is a place where programmers from all over the world come together to solve problems in a wide range of Computer Science domains such as algorithms, machine learning, or artificial intelligence, as well as to practice different programming paradigms like functional programming. |
Code Chef | CodeChef is an online competitive platform for coding, which helps you to improve your coding skills. At CodeChef, you can both practice and compete. In practice section , you can make your coding skills sharp by going through "easy", "beginner", and other sub-sections of practice. |
Top Coder | Topcoder is a algorithm competitive programming and software crowdsourcing website. Competitive programming is a sport where participants try to solve algorithmic (step by step instructions to bring output from input based on a situation) problems as fast as possible to get a rank. Faster you code better your rank. |
Codin Game | For software engineers who have some coding experience and are looking to advance their skills, CodinGame is a good source. The challenges are CodinGame are not for beginners as they require some background knowledge before you can participate. |
GeeksforGeeks | A portal and forum for computer science interview questions and technical articles |
Coder Byte | Coderbyte is an online collection of coding challenges in 10 different languages, which can be solved directly in their online editor. The challenges come with official solutions and tens of thousands of user solutions. Users can move up through the ranks by solving challenges with good scores. |
Top Coder | Topcoder is a algorithm competitive programming and software crowdsourcing website. Competitive programming is a sport where participants try to solve algorithmic (step by step instructions to bring output from input based on a situation) problems as fast as possible to get a rank. Faster you code better your rank. |
Project Euler | Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and programming skills will be required to solve most problems. |
Code Signal | CodeSignal is a skills-based assessment platform operated by American company BrainFights, Inc., whose mission is to discover, develop and promote technical talent. |
Code Wars | Codewars is an educational community for computer programming. On the platform, software developers train on programming challenges known as kata. These discrete programming exercises train a range of skills in a variety of programming languages, and are completed within an online integrated development environment. |
Leet Code | It's a website where people–mostly software engineers–practice their coding skills. There are 800+ questions (and growing), each with multiple solutions. Questions are ranked by level of difficulty: easy, medium, and hard. Similar websites include HackerRank, Topcoder, InterviewBit, among others. |
Challenge Rocket | ChallengeRocket is a platform to run online tech challenges and creatives hackathons. It's a great way for brands worldwide to: run employer branding, discover new candidates for tech positions and assess programming talents. |
Code Forces | Codeforces is a competitve programming website. Contests are regularly hosted here. Competitive coding enthusiasts from all over the world participate in these contests.It also contains a rich set of problems from previous contests which are awesome to improve ones algorithm skills. |
Web-Development-and-UX-UI
Documentation, Books and Articles
- Learn HTML, CSS, and JavaScript from the official documentation: MDN Web Docs Learn Web Development
- Learn the fundamentals of Web Development: Web Fundamentals by Google Developers
- Free Books on JavaScript: JS Books, Free JavaScript Resources
- Official React Tutorial: React Tutorial
- A Collection of medium articles on JavaScript: Medium Articles on JavaScript
- A collection of Medium Articles on UI/UX: Medium Articles on UX
Popular GitHub Repositories
- Roadmap to becoming a web developer: kamranahmedse/developer-roadmap: Roadmap to becoming a web developer in 2020
- Repository to learn JavaScript: Asabeneh/30DaysOfJavaScript: 30 days of JavaScript programming challenge is a sep by step guide to learn JavaScript programming language in 30 days
- Repository on project based learning: tuvtran/project-based-learning
- Learn Frontend Web devlopement through a ton of resources provided on this repository: Frontend Web Development Resources: RitikPatni/Front-End-Web-Development-Resources
- Repository for JavaScript Course on Udemy: JavaScript Course: jonasschmedtmann/complete-javascript-course
- Repository complied with a ton of Web Dev Resources: Modern Web Dev Spellbook: dexteryy/spellbook-of-modern-webdev
- Repository complied with a ton of Web Dev courses: Web Development Course List: andrews1022/web-development-2020-course-list
- Repository to learn React: fullstackreact/30-days-of-react
- Repository complied with a ton of Full Stack Web Dev Resources: Full Stack Developer Resources: bmorelli25/Become-A-Full-Stack-Web-Developer
- Repository for everything you require to make a node.js web application during a hackathon sahat/hackathon-starter: A boilerplate for Node.js Web Applications
- Repository for everything you require to make a django web application during a hackathon Django Hackathon Starter: DrkSephy/django-hackathon-starter: A boilerplate for Django web applications
Deep Learning/ Data Science/ Machine Learning
1. Linear Algebra + Machine Learning Math
Youtube Videos, Playlists and Channels
- For a better mathematical understanding: 3 Blue One Brown
- Necessary brush up on Linear Algebra: Linear Algebra for Machine Learning
- Mathematics of Machine Learning: 2019 Mathematics of Machine Learning Summer School
- What is Gradient?: Khan Academy - Gradient
- Mathematics behind neural networks: Luis Serrano
2. Python Programming
Youtube Videos, Playlists and Channels
- Keith Galli's playlist on python: Learn to Program in Python! - Keith Galli
- CS Dojo's playlist on python: Python Tutorials for Absolute Beginners by CS Dojo
- OOP Playlist on python: Python OOP Tutorials - Working with Classes
- freecodecamp's playlist on python: Python Tutorials - freecodecamp
Books and Courses
GitHub Repositories
3. Machine Learning + Deep Learning
Youtube Videos, Playlists and Channels
- Mathematical Monk's Machine Learning playlistsMachine Learning - Mathematical Monk (160 Videos)
- Video Lectures by Stanford: Stanford CS229: Machine Learning, Autumn 2018
- Video Lectures by Bloomberg: Foundations of Machine Learning - Inside Bloomberg
- Video Lectures by freecodecamp: Machine Learning by freecodecamp
- Video Lectures by Victor Lavrenko: Victor Lavrenko - ML Theory + Math
- Video Lectures by Google Developers: Machine Learning Recipes with Josh Gordon
- Video Lectures by Stanford: CS230: Deep Learning, Autumn 2018
- Video Lectures by Yann LeCun: Deep Learning (with PyTorch) - Alfredo Canziani
- Video Lectures by MIT: MIT Deep Learning 6.S191 - MIT, Alexander Amini
- Video Lectures by Stanford: Stanford CS221: Artificial Intelligence: Principles and Techniques, Autumn 2019
- Video Lectures by Stanford: Stanford CS224U: Natural Language Understanding, Spring 2019
- Video Lectures by Stanford: CS224N: Natural Language Processing with Deep Learning, Winter 2019
- Video Lectures by Carnegie Mellon University: 11-785 Introduction to Deep Learning, Carnegie Mellon University, Spring 2020
- sentdex’s youtube channel (almost everything at once, hands on): sentdex
- Video Lectures by freecodecamp: Applied Deep Learning with PyTorch - Full Course
- Video Lectures by Stanford: CS234: Reinforcement Learning, Winter 2019
- Video Lectures by Stanford: Stanford CS330: Deep Multi-Task and Meta Learning
- Video Lectures by Stanford: AA289 - Robotics and Autonomous Systems Seminar
- OpenCV (Computer Vision): OpenCV Python Tutorial For Beginners
- Deeplizard's youtube channel: Deeplizard
- Explanation of neural networks, machine learning: Brandon Rohrer
- Deep Learning with PyTorch: Yann LeCun Deep Learning Course
- Kaggle Microcourses: Kaggle Courses
- Full Stack Deep Learning: MIT Course
GitHub Repositories
Practice
4. Data Science + Misc
Youtube Videos, Playlists and Channels
- Kaggle’s Youtube Page: Kaggle
- Keith Galli's Data Science playlist: Data Science - Keith Galli
- Youtube channel in Data Science and Statistics fundamentals : StatQuest with Josh Starmer
- Video Lectures by freecodecamp: Data Science - freecodecamp
- Essentials for Computer Science by MIT: Missing Semester IAP 2020 - MIT
Practice
Android Development
In short, to learn Android Development, the top and best resource is UDACITY Courses !! Why ? Well they are developed in collaboration with Google and taught by Google's industry experts, following best and recommended practises !! So if you want to start learning Android Development, just pick a language and start learning from very basic from Udacity's Courses
In Native Android Development we have two languages choices :-
- Java (Ex-Official Android Development Language)
- Kotlin (Kotlin was announced as an Official Android Development Language at Google I/O May 2017 and now used by most of the top apps in PlayStore)
Java
- Android Basics: User Interface
- Android Basics: User Input
- Android Basics: Multi-screen Apps
- Android Basics: Networking
- Android Basics: Data Storage
- Developing Android Apps
- Advanced Android App Development
Kotlin
- 'Single Source of Truth: ' Android's Kotlin Resource Page
- Udacity's Course for : Kotlin Bootcamp for Programmers
- Udacity's Course for : Developing Android App with Kotlin
- Udacity's Course for : Advanced Android App Development
- Mini Courses on Google Codelab : Learn Anything related to Google's Technologies here including Android, Firebase, Tensor Flow, Flutter, Google Cloud etc etc etc.
- Udemy's Course for : Android and Kotlin Development Masterclass
Youtube Channels
- Android's Official Youtube Channel : Android Developers
- Video Lectures by : Philipp Lackner
- Video Lectures by : CodingWithMitch
- Video Lectures by : Coding in Flow
- Video Lectures by : Simplified Coding