Skip to content

Latest commit

 

History

History
92 lines (73 loc) · 11.3 KB

README.md

File metadata and controls

92 lines (73 loc) · 11.3 KB

MDG Recommendations

This is a collection of all resources on technology that we use and recommend you to read with us!

We have divided these in several categories that make them easier to digest.

Contents

Starter Packs for Beginners

Web Development

Frontend

  • w3schools: This is generally the first site that anyone has opened to get into development. It explains various concepts related to web development effortlessly with the help of examples.
  • CSS-Tricks: It is considered one of the best sites to learn about CSS concepts. Each example has code snippets with easy-to-follow explanations of the code and theory behind the specific concept. It also lists possible issues you may run into with the code that is often addressed, so you know how to tackle bugs that may pop up.
  • JavaScript30: If you want to practice your js skills but do not have ideas, this playlist is for you. It contains 30 videos, all of which try to teach a new concept with its real-time implementation.
  • JS Hero: This is a JavaScript tutorial with interactive exercises. On each page, you will find a lesson and an activity. You can answer the task directly on the page and see them running.
  • Academind: Academind has lots of different types of development videos which would scratch quite a few itches when it comes to learning something new. Apart from some web development concepts, it contains tutorials on various other CS fields like data science, android development.
  • freeCodeCamp: Freecodecamp is an open-source community as it provides many best tutorials from different instructors for Python, CSS, React, Data Science, JavaScript, etc.

Backend

  • Server-side Web Frameworks: Overview of backend frameworks technologies like Django, Flask, Express etc.
  • Django Tutorials: Django is one of the most customisable and user friendly production level web application backend. You can also refer to official docs. The documentation itself provides a great tutorial series.
  • Django REST Framework Tutorial: Django's implementation to build RESTful APIs without any hassle.
  • Flask Tutorial: Flask is framework to build lighwieght backends swiftly in Python.
  • Nodejs Tutorial: Node.js is an open-source server side runtime environment which executes JavaScript code outside of a browser. If you decide to learn nodejs, then you may as well learn about mongoDB, express and react (collectively called MERN stack) which will be essential if you intend to become a Full Stack Web Developer.

Mobile App Development

Android (Java)

  • Martin Zimmermann Android Tutorial: This is a beginner course that will teach you about the basics of android dev through several single-purpose applications. It also has the IDE installation and setup instructions.
  • Android Tutorial for Beginnners: Another brilliant tutorial but recently published making it in line with the newest Android concepts and incorporating them in the tutorial.

Android (Kotlin)

  • Kotlin Development for beginners: Another popular language for Android developent. Lately, this is gaining a lot of traction and a well quite many apps are being developed using Kotlin. This video series streamlines the learning and makes it fun.

iOS (Swift)

Flutter (Cross Platform)

  • Learn Flutter Development: This video tutorial teaches you how to set up flutter and the basics of flutter in an interactive way. You can also refer to flutter official docs to get a basic understanding of terms.

React Native (Cross Platform)

Machine Learing and Deep Learning

To start with Deep learning first, you will need to brush off some basic Machine Learning skills. You can do any of the below to get a basic idea about Machine Learning

  • Machine Learning Coursera: The most popular course on Machine Learning. It explains most of the basic concepts in ML in an easy manner. Highly recommended. Cons - It might come off as a bit boring.
  • UD120 - Udacity Intro to ML: If you find the Coursera ML course boring, try this one. It's illustrative, fast-paced and more implementation focused. Cons- A bit less comprehensive than the Coursera ML course.
  • Machine Learning Stanford CS229: This is a fairly advanced course on ML. Highly comprehensive, great for a deep-dive into ML fundamentals. Recommended only if you want an advanced knowledge in ML.

The above courses will give you a brief introduction to ML. After this to begin with DL, we highly suggest reading Neural Networks and Deep Learning. It gives a highly intuitive beginner level introduction to DL. After this it's suggested to do the Deep Learning Specialization by Coursera. A general recommendation would be to read the Deep Learning Book by Goodfellow et al.. It is the so-called "Bible" of DL and a highly recommended read.

Now for more advanced knowledge, there is a lot you can do, and honestly, you can never do enough. The field is growing at a mind-numbing rate and its tough to keep track of all the stuff going on. Still here are a few "standard" advanced level things to do:

Linear Algebra

  • Essence of Linear Algebra 3B1B: Do yourself a favour and watch this awesome piece of art. It's the most aesthetically pleasing way Linear Algebra has ever been taught.
  • Linear Algebra Review and Reference CS229: A crisp and easy to understand explanation of the concepts of Linear Algebra you will need in Deep Learning.
  • MIT OCW 18.06 Linear Algebra: Recommended if you want to deep dive into Linear Algebra. Will teach you pretty much everything you'll ever need in DL. PS. It helps a lot in Quantum Computing as well :P

Probability

  • Stanford Probability Stat110: If you think that probability is only limited to Bayes Rule, watch this and have your mind-blown as the instructor derives results to highly complex problems seemingly out of nowhere leaving you awestruck.

Computer Vision

  • Stanford Computer Vision CS231n: The defacto choice to dive deep into Computer Vision. We'll recommend doing the first seven lectures from the 2016 version and then continuing off to recent year versions for other recent topics.

Natural Language Processing (NLP)

Reinforcement Learning (RL)

Implementation

General Resources for DL

  • Guide to Deep Learning: A comprehensive Guide to Deep Learning.
  • Distill: Awesome blogs on deep learning with highly interactive visualizations.
  • Towards Data Science: Collection of premium quality blogs on datascience on medium.
  • DL topics: Detailed list of general topics in DL to read about to get a respectable amount of knowledge in the field.

Aside from all this. Keep on reading blogs on Medium, recent research papers on Google scholar. Follow leading researchers on Twitter and join discussions on Reddit. Keep on contributing to OpenSource Projects or take on a project yourself. Keep on mailing professors or budding startups until someone gives in and offers you a research position. Success in DL is slow but its highly rewarding :P

More useful resources