Skip to content

Latest commit

 

History

History
479 lines (388 loc) · 33.8 KB

README.md

File metadata and controls

479 lines (388 loc) · 33.8 KB

Getting Started Guide

For students who are willing to start something.

Mindset

Go through these basic tutorials and all courses. The Numbered bullets should be followed in sequence, whereas unordered bullets can be done randomly.
The thing will get easy with practice always start is hard. My suggestion is that go through the official tutorial first, then try video playlist. It will help you to understand better.
Some concepts will be entirely new and can be very hard to understand, give a tough fight try to understand one time two time five time but don't leave, you will understand things on the fly, Just dedicate time, and stay with problems.

What to start?: Just start with anything at the end of the day will learn some logic building and will learn something which will surely stay with you. You can switch domains afterwards when you find your interest.
Official tutorial is hard to understand: yes, I know that you will face this. The reason why I am pushing for documentation tutorials is that you need to learn how to read the documentation. When you will do a real project, reading will be the main key. Copy Paste, Try to understand what is going on. Not understanding is completely fine, you will understand with videos when the creator will explain things.

Disclaimer: I am no a guru of anything, I took some of these courses, I included some creators that I love, some just came on a random search. This is not a combination of the greatest courses these are normal courses. I am not affiliated with any one of them.

I AM WAITING FOR YOUR PR, PLEASE.

Content

Web Development

These are more than concepts and understanding terminologies. Backend generally needs critical thinking, logic building, and connecting things. Frontend needs designing, displaying and connecting things.

  1. How web works
  2. HTTP Request and Response
  3. What is Rest API
  4. [The Web Developer Bootcamp] (https://www.udemy.com/course/the-web-developer-bootcamp/)

Frontend development

The workflow that I will suggest that do Basic and then move to React (because that is easy to start with) then come to Basic Level 2.

Basic [Needed for all]

  1. HTML: The skeleton
  2. CSS: The beauty
  3. JS Basic: The logic

This is a basic portion for anyone interested in frontend development. I guess a good read for HTML, seeing some examples of CSS and trying some of JS will do. Don't get stuck here for long. Alternativily you can try The Web Developer Bootcamp on udemy which is great.

React

A JavaScript library for building user interfaces.
React is powerful yet simple, you need to learn only concepts and then it is super easy to use.

  1. Get started with official tutorial
  2. Get started with videos
  3. Project: ToDo Application

React does only one thing that is building user interfaces. For other thing need for a full-fledged application you need to dig into its ecosystem.

Important concepts to learn:

  1. State and Props
  2. Component Lifecycle
  3. Creating Reusable Components
  4. JSX

Some Advanced concepts:

  1. Redux
  2. React with Redux
  3. Routers
  4. Axios: Although this has nothing to do with react but is very frequently used.

Angular

Official Documentation and Resources (Free)

Courses with Certification (Paid)

YouTube Tutorials to learn all the Basic Concepts

Vue

  1. Get started with official tutorial
  2. Get started with videos

Basic Level 2

Now JavaScript generally means combined with node.

Design Concepts

This is UI/UX part of an application. Frontend applications are not only for working they should look good.

Designing is a large topic and require more experience than coding, see more and more design on behance, watch

Backend Development

Flask

Flask is easy and simple, used for simple to more complex applications.

  1. Get started with official tutorial
  2. Get started with videos
  3. Rest api with flask

Django

Django is powerful and very organised, get started with Django can be a little overwhelming, so I would suggest that first complete Flask tutorial and then try hands with Django (you can start with Django, no problem at all, but flask will help you understand the need and core concept of Django).

  1. Get Started with official tutorial

  2. Get started with videos: Although this tutorial is in Django 1.9 core concepts remain same.

  3. Project: Blog App Create a complete website with django

Django Rest Framework

  1. Get started with official tutorial
  2. Get Started with videos

Django Cookbook for advanced users: You will need this when developing a real-world application

Express

Express is a popular web framework, written in JavaScript and hosted within the Node.js runtime environment. It is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications.It facilitates the rapid development of Node based Web applications.

  1. Get Started with official tutorial
  2. Get started with videos
  3. Rest API with Express

Ruby on Rails

Ruby on Rails is the web framework that started it all. Launched over 13 years ago, it popularised web development and made it cool. It is a very powerful framework, that is incredibly easy to use and learn and can do anything you want it to. A lot of current popular frameworks like Django are inspired by Ruby on Rails.

  1. The Odin Project: This is the best course for learning Ruby on Rails, and is arguably the only course you'll need for it. It will teach you fullstack development in Ruby on Rails, i.e. backend, frontend, databases, testing and everything in between. You are basically empolyable after finishing this course.

PHP Backend

PHP is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML.

  1. Get Started with W3Schools
  2. Get started with videos

Laravel

Laravel is one of the most popular PHP framework used across the globe to build web application ranging from small to big projects. It follows MVC (Model View Controller) structure which makes it easy to learn and rapidly prototype the web applications.

  1. Get Started with official tutorial
  2. Get started with videos

Download Guide

THIS PORTION WAS COPIED FROM https://github.com/Faisal-Manzer/web-guide BY FAISAL MANZER. If you are going to start web development you surely need tools.
As for beginners, it is quite difficult to know all what why how to download.

  • Text Editors web development is based on simple text files.
    To just get a start you can use notepad ( windows ) but is not effective and will create a hassle

Text editor works at one file at a time they will also suggest you code but are not much powerful.

  • IDEs : beginners please you text editors for some time. IDEs, unlike text editor, works on whole project or folder. They automatically compile codes and show advanced error and warning. IDEs are very powerful and will make you dependent on it. they are for the advanced user who has enough knowledge.

    • Visual Studio Code FREE cross platform IDE by Microsoft.
    • WebStrom cross platform by JetBrains. My favroite.
      Free for students. Register here for avialing student discount. You just need university ID Card or university mail id.
    • PhpStrom specialized in PHP. cross platform by JetBrains. My favroite.
      Free for students. Register here for avialing student discount. You just need university ID Card or university mail id.
  • Browsers

    • Chrome USE CHROME AS DEFAULT DEVELOPMENT BROWSER. I would recommend using Chrome for web dev. It packs with best developer tools.
    • FireFox Second best option.

    All the below are not for development they are just for testing purpose. As a web developer, you need to test for the majority of cross browsers issue. Recommended to install all the browsers listed here.

    • Opera
    • Edge - pre-installed on Windows
    • Internet Explorer - pre-installed on Windows - yes you need this is want to cover all types of audience.
    • Safari pre-installed on Mac
  • Server: server is needed to run many things like PHP, Python, etc. They are needed for backend part.

    • For Mac and Windows mamp Recommended for basic use and will work out of box Supports PHP, Python, Perl. Have inbuilt MySQL server. Supports both apache and nginx.
    • Linux, Windows, Mac lamp same specs as mamp.
    • Windows wamp. Download link not available. Sorry :) Search Google.
    • xamp Cross-platform, advanced
  • Technology

    • node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js' package ecosystem, npm, is the largest ecosystem of open source libraries in the world.

    in simple words, node is just another server-side language which uses javascript as language and is async.

    • Git git is a decentralized version control system which you will learn later. But for now, download it. Git runs on command line.

    Git has nothing to do with Web. It is for all languages or anything you want.

    • Github desktop based on git there is a community called GitHub it gives space for repos online. ( there are more like BigBucket etc, but GitHub is most used and you should use it too ).

    as git is a command line tool. Github Desktop provides a GUI for git. use when you are beginners but try to learn git command line as soon as possible.

  • Image Editor use the one you like. Simple image editor like photoscape will do your task.

  • Chrome Extensions yes they will help you lot.

    • TabMan is helpful when you will search lots and lots of stuff all in a new tab and now you are left with just favicon of the page. TabMan comes in rescue. I use it a lot.
    • Chrome Web Server a simple web server by Chrome.
    • Grammerly is my love. it corrects all the spelling and grammatical mistakes in an article

Get udemy course for free from freecoursesite

Cloud Computing and Security

Get started with AWS

Take one of these 3 courses to go with, you will understand what to do next. All three courses are different in some way.

System design

I love this tutorials for understanding system design basics.

Cyber Security and Ethical Hacking

  • Web bug bounty: This is good for a backend developer, I took this course and was basic and good I guess, but is little outdated.
  • Ethical Hacking

Take any of the two above course for getting started with basics. They have the same topics.

Data Structures and Algorithm

Core Concepts

Core concept of Data structures are same for every language.

With Python

  1. Mit OCW Course is great if you can dedicate time.
  2. Data Structures Made Easy:Thinking with Python by Narsimha Karumanchi: The book is a must for beginner to advanced concepts. the interview process for the profile for an SDE becomes a cakewalk once someone is thorough with this book's concepts.

With C/C++

  1. If you are an absolute beginner and struggling to develop basic programming aptitude and logical thinking, then this is probably the best place for you. Feel free to learn in Hinglish.
  2. I found this course useful.
  3. Launched as an interview prep course, the Apni Kaksha Channel is probably one of the best C++ beginner to advanced course launched by NSUT grads working in the tech industry.
  4. Data Structures Made Easy by Narsimha Karumanchi: The book is a must for beginner to advanced concepts. the interview process for the profile for an SDE becomes a cakewalk once someone is thorough with this book's concepts.
  5. advanced data structures spring MIT course .

With Java

Apni Kaksha Practical Data structure and algotithm with java Data Structure and Deepdive using java

Java Masterclass

Placement Prep

Aman Dhattarwal: This guy probably nails it when it comes to knowledge about placement procedure and planned career tracks.

Machine Learning AI NLP

  1. To get started with Machine Learning first course you need to do is this. Complete the assignments for maximum outcome from this course.
  2. For Mathematics and Statistics, Youtube Channel like Mathematical Monk can be preferred.
  3. For understanding Linear Algebra : Essence of Linear Algebra and how Neural Networks and Differntial Equations : Essence of Calculus try these playlists. Channel 3 Blue 1 Brown gives good visual animations to understand these concepts easily.
  4. For specialization in Machine Learning and Deep Learning complete all these Course in specialization pragramme with assignments.
  5. For some real world projects Fast.ai and Applied AI Course are preffered.
  6. Krish Naik: Apart from his tutorials on various ml,ai and data science concepts, his introductory videos are a treat for the beginners as they include best online resources(free and paid ones) for learning several field concepts, system configs required, interview questions and interactive sessions involving his path to data science etc.
  7. At last for learning more and more daily try reading as much research papers as possible.

Data analytics

  1. Before going into the topics of Data Analytics one needs to clear the basics of Statistics. To brush up that here is a playlist to help you out.
  2. Once you're done with the basic of statistics, you need to install a few pip files to get started with Data Analytics on Python. Given below are the necessary pip files you need to install.
  3. Pandas: Pandas is an open source tool for Python, which helps in Data Structures and Data Analysis. To install Pandas you need to do this
  4. The next Important tool is installing MatPlotLib. MatPlotLib is another open source library that allows you to generate plots, histograms, bar charts, scatterplots, box plots, etc. To install matplotlib do this.
  5. While most of the IDEs come with NumPy already installed if you have any problem with NumPy do this
  6. Once you have set up all the necessary files, you can start with the below tutorials: Pandas Tutorial Data Analysis with Pandas MatPlotLib Tutorial You can also look at this course from Coursera

App Development

React Native

First learn basic JavaScript and also ES6 Syntax. All core concepts like JSX, Redux is same for React and React Native.

  1. Get Started with official tutorial
  2. Get Started with Videos

React Native can be frustrating while installing, I will highly recommend starting with Expo, which is under the tab Expo CLI Quickstart on page Getting Started.

Read why not expo and if you feel so then use React Native CLI. Installation is given on tab React Native CLI Quickstart. Follow the installation step by step and line by line, do not skip or do anything else other than what is given, even do not try to mess with versions, just do what is said.

React Native is not self-sufficient, it needs more modules for little advanced uses.

  1. Redux
  2. React Native with Redux
  3. React Navigation V2
  4. React Navigation V3: First see V2 then jump to this
  5. Axios: Although this has nothing to do with react but is very frequently used.

Flutter

  1. Get started with official tutorial
  2. Get started with video

Android

iOS

  1. Swift Tutorial
  2. Get started with official tutorial is great to start with.
  3. Udacity Free course

Technologies and Languages

Java

Apni Kaksha Java Udemy Course Java Projects Java In depth all levels

Git and GitHub

This Udacity course is great

Python

  1. W3Schools
  2. Udemy Course: This course is best that I could find, but is lengthy. I recommend this to all level of students, beginners to advanced. 3.Learn Python with Corey Schafer This is indeed the best python course available for free online. The playlist includes general OOPs concepts, setting up the IDE and moves onto specific libraries including matplotlib(), image processing using pillow and django tutorials.

Ruby

  • The Odin Project: This is probably the best Ruby course there is. It teaches Ruby using the concept of learning by doing (which, in my opinion, is the best way yo learn programming), i.e. you learn concepts by building projects using what you just learnt.

Swift

Swift is the newest programming language and is easy to understand if you have basic concepts like Arrays and Function etc. Get Started with Apple's Guided Tour.

PHP

See W3School's Tutorial

JAVA

Top Websites for getting started

Tools

HTML5 Game Development

First learn basic JavaScript

Phaser

It is 2D game engine for making HTML5 games.

  1. Get Started with official tutorial
  2. Get started with videos

Babylon.js

It is realtime 3D game engine for HTML5 games.

  1. Get Started with official tutorial
  2. Get Started with videos

GDevelop

It is cross-platform game creator designed to be used by everyone - no programming skills are required to use the software.

  1. Get Started with official tutorial
  2. Get started with videos

Interview Prep

Interview is an important stage in one's life inorder to get a job in a good organization or admission in a university. Following are some of the good website/tutorials to crack interviews:

Coding Interviews

  1. GeeksforGeeks
  2. Hackerrank
  3. CareerCup

Aptitude

  1. Indiabix
  2. GeeksforGeeks
  3. Last Moment Tutions (Simple & Easy)

We hate piracy but we know that as students we have some finacial problems, so we included this.

ToDo Section

  • Web Development
    • Frontend development
      • React
      • Angular
      • Vue
      • Design Concepts
    • Backend Development
      • Flask
      • Django
      • Express
      • Ruby on Rails
      • PHP
      • Laravel
  • Cloud Computing and Security
    • Get started with AWS
    • System design
    • Cyber Security and Ethical Hacking
  • Data Structures and Algorithm
    • With Python
    • With C/C++
    • With Java
  • Machine Learning AI NLP
  • App Development
    • React Native
    • Flutter
    • Android
    • iOS
  • Technologies and Languages
    • C and C++
    • Java
    • Python
    • Git and GitHub
    • Ruby
    • Swift
    • PHP
  • HTML5 Game Development
    • Phaser
    • Babylon.js
    • Gdevelop (no coding drag and drop)
  • Interview prep
    • Coding Interview
    • Aptitude

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Faisal Manzer
Faisal Manzer

🖋
Syed Faraaz Ahmad
Syed Faraaz Ahmad

🖋
Dhruv Trehan
Dhruv Trehan

🖋
ShobhitRathi
ShobhitRathi

🖋
mauwazahmed
mauwazahmed

🖋
Azhan Mohammed
Azhan Mohammed

🖋
AHMAD HASSAN ANSARI
AHMAD HASSAN ANSARI

🖋
Md. Sahil Khan
Md. Sahil Khan

🖋
Arif Khan
Arif Khan

🖋
LearnVidFM
LearnVidFM

👀

This project follows the all-contributors specification. Contributions of any kind welcome!