Introductory-Reading-Material
Introductory-Reading-Material copied to clipboard
Reading Material
Introductory-Reading-Material
Tabel Content
- How to use this list?
- What we recommend you to know before joining the program?
-
Tools
- Git
- Intellij
- Postman
-
Language
- Java
-
Framework
- Java Spring Boot
-
Database
- MongoDB
-
Linux
- Linux Commands
-
Unit Testing
- JUnit
How to use this list?
Our idea behind creating this list is to enable you to get ready for Micro-Experience. We have shared a few links for you to go through before joining the program. Our methodology is to learn by doing, so we have also added a couple of questions per topic, which you have to know the answer to after going through that topic. If there is something you did not understand or could not answer, try finding the answer to the question on your own. This will help you to develop the skill of “Finding your way on your own or learning by doing” which is an extremely critical skill for software developers.
What do we recommend you to know before joining the program?
Git |
|
Java |
|
Linux |
|
Tools
Git
Official Documentation [Text] - https://git-scm.com/docs
Git Video Tutorials [Video] - https://www.youtube.com/watch?v=mYjZtU1-u9Y&list=PL1F56EA413018EEE1
Guided Tutorials [Text] - https://githowto.com/
Online Exercise [Excercise] - https://www.katacoda.com/courses/git
Crash Course [Video] - https://www.youtube.com/watch?v=r63f51ce84A&list=PLGLfVvz_LVvQHO1PfyscjIPkNJjgHsLyH
Awesome Git List [Text] - https://github.com/dictcp/awesome-git
Udacity - How to use Git and Github [Video] - https://www.youtube.com/playlist?list=PLAwxTw4SYaPk8_-6IGxJtD3i2QAu5_s_p
What should you learn? Prerequisite for the program
- [ ] How to clone a Git repository?
- [ ] How to pull/push to remote repository?
- [ ] How to check the status of the repository?
- [ ] How to create and switch to a branch?
- [ ] How to connect to a remote a repository?
- [ ] How to merge two branch?
- [ ] How to resolve merge conflicts?
- [ ] How to commit changes?
- [ ] How to stash changes?
Intellij
Official Documentation [Text] - https://www.jetbrains.com/idea/documentation/
Shortcuts [Text] - https://resources.jetbrains.com/storage/products/intellij-idea/docs/IntelliJIDEA_ReferenceCard.pdf
How to debug Java programs [Video] - https://www.youtube.com/watch?v=1bCgzjatcr4
How to be more productive with Intellij [Video] - https://www.youtube.com/watch?v=CmPJzEqFS4s
What should you learn? Prerequisite for the program
- [ ] How to run and debug Java programs?
- [ ] Basic shortcuts for productivity
- [ ] How to import project, build programs using Gradle
Postman
Official Documentation [Text] - https://learning.getpostman.com/docs/postman/launching_postman/installation_and_updates/
Crash Course [Video] - https://www.youtube.com/watch?v=D26eEw7dI-c
What should you learn? Prerequisite for the program
- [ ] How to use Postman GUI to send HTTP requests?
- [ ] How to create collections in Postman?
- [ ] How to import Curl commands in Postman?
Language
Java
Official Documentation [Text] - https://docs.oracle.com/javase/tutorial/index.html
Java Beginner Crash Course [Video] - https://www.youtube.com/watch?v=3u1fu6f8Hto&t=54s
Java Crash Course [Video] - https://www.youtube.com/watch?v=WPvGqX-TXP0
Java Detailed Course [Video] - https://www.youtube.com/watch?v=n-xAqcBCws4
Awesome Java List [Github] - https://github.com/akullpp/awesome-java
What should you learn? Prerequisite for the program
- [ ] How to run Java program?
- [ ] What is class, objects, functions and how to create and use them in program?
- [ ] How to write loops, interfaces, switch cases?
- [ ] What is inheritance, polymorphism and how to use it?
- [ ] What are collections in Java, primitive data types?
Framework
Java Spring Boot
Official Documentation [Text] - https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/
Rest API [Text] - https://spring.io/guides/gs/rest-service/
What should you learn? Prerequisite for the program
- [ ] How to create APIs using Java Spring Boot?
- [ ] What is REST API?
- [ ] How to write GET/POST/DELETE/PUT/PATCH APIs?
- [ ] What is MVC Pattern? How to write controllers, models?
Database
MongoDB
Official Documentation [Text]- https://docs.mongodb.com/
Crash Course [Video] - https://www.youtube.com/watch?v=-0X8mr6Q8Ew&list=PLGLfVvz_LVvRfdt8_W0dV311Xa8SayfCY
What should you learn? Prerequisite for the program
- [ ] How to connect to MongoDB database using CMD, GUI Clients like Robomongo?
- [ ] How to write basic Mongodb Queries to find, delete, update documents in MongoDb?
- [ ] How to use Grouping, Sorting, Selection, Aggregation functions in Mongodb?
Linux
Linux Commands
List of Linux Commands [Text] - https://ss64.com/bash/
Basic Linux Commands [Video] - https://www.youtube.com/watch?v=cBokz0LTizk
What should you learn? Prerequisite for the program
- [ ] How to create files and folders?
- [ ] How to copy, move, delete files and folders?
- [ ] How to run basic networking commands like ipconfig, netstat etc
Unit Testing
JUnit
Importance of Unit Testing [Article] - https://dzone.com/articles/top-8-benefits-of-unit-testing
What should you learn? Prerequisite for the program
- [ ] How to write test cases?
- [ ] How to test functions?
- [ ] Importance of Unit testing