Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions 1. dev-basics/1. development-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ You need a linux equivalent operating system loaded computer for this Bootcamp.
- Windows is **NOT acceptable**. If you have Windows, install Ubuntu.

### Reference
[https://github.com/mountblue/gearup/blob/master/dual_booting_ubuntu_windows.md](https://github.com/mountblue/gearup/blob/master/dual_booting_ubuntu_windows.md)
<a href="https://github.com/mountblue/gearup/blob/master/dual_booting_ubuntu_windows.md" target="_blank">https://github.com/mountblue/gearup/blob/master/dual_booting_ubuntu_windows.md</a>

## 2. Setup Visual Studio Code

Follow the instructions to install Visual Studio Code from [this website](https://code.visualstudio.com/docs/setup/linux)
Follow the instructions to install Visual Studio Code from <a href="https://code.visualstudio.com/docs/setup/linux" target="_blank">this website</a>

### Plugins
Install the following VSCode plugins
Expand All @@ -27,7 +27,7 @@ We use a lot of tools like zoom, discord, gitlab etc. Use the form at the end of

1. Create a zoom account. Install Zoom on both your laptop and mobile.
2. Install Discord on both your laptop and mobile.
3. CREATE A NEW [gitlab account](https://gitlab.com/users/sign_up) using your mountblue.tech account.
3. CREATE A NEW <a href="https://gitlab.com/users/sign_up" target="_blank">gitlab account</a> using your mountblue.tech account.

## 4. Install git

Expand Down
17 changes: 8 additions & 9 deletions 1. dev-basics/2. cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,7 @@ The Unix philosophy is a philosophical approach to developing software based on
- *Choose portability over efficiency.*
- *Keep it Simple, Stupid (KISS).*

To know more, read this [Unix philosophy
](https://en.wikipedia.org/wiki/Unix_philosophy)
To know more, read this <a href="https://en.wikipedia.org/wiki/Unix_philosophy" target="_blank">Unix philosophy</a>


### Directory Structure and File Hierarchy
Expand Down Expand Up @@ -111,7 +110,7 @@ The /var directory is the writable counterpart to the /usr directory, which must

## Command Line Basics Crash Course

Video - [https://www.youtube.com/watch?v=cBokz0LTizk](https://www.youtube.com/watch?v=cBokz0LTizk)
Video - <a href="https://www.youtube.com/watch?v=cBokz0LTizk" target="_blank">https://www.youtube.com/watch?v=cBokz0LTizk</a>

Given above is a quick super-fast course in using the command line. It is intended to be done rapidly in about a day, and not meant to teach you advanced shell usage.

Expand Down Expand Up @@ -150,19 +149,19 @@ Copy and paste the command for each section into a text file with explanation. A

## File Permissions

Overview - [https://www.youtube.com/watch?v=D-VqgvBMV7g](https://www.youtube.com/watch?v=D-VqgvBMV7g)
Binary to Decimal Conversion for File Permissions - [https://www.youtube.com/watch?v=BmVmJi5dR9c](https://www.youtube.com/watch?v=BmVmJi5dR9c)
Overview - <a href="https://www.youtube.com/watch?v=D-VqgvBMV7g" target="_blank">https://www.youtube.com/watch?v=D-VqgvBMV7g</a>
Binary to Decimal Conversion for File Permissions - <a href="https://www.youtube.com/watch?v=BmVmJi5dR9c" target="_blank">https://www.youtube.com/watch?v=BmVmJi5dR9c</a>

## Pipes and Redirection

Video 1 - [https://www.youtube.com/watch?v=Bzd7XfApxLI](https://www.youtube.com/watch?v=Bzd7XfApxLI)
Video 2 - [https://www.youtube.com/watch?v=VgbnndezHbw](https://www.youtube.com/watch?v=VgbnndezHbw)
Video 1 - <a href="https://www.youtube.com/watch?v=Bzd7XfApxLI" target="_blank">https://www.youtube.com/watch?v=Bzd7XfApxLI</a>
Video 2 - <a href="https://www.youtube.com/watch?v=VgbnndezHbw" target="_blank">https://www.youtube.com/watch?v=VgbnndezHbw</a>

## Practice Drill 2

### Pipes

1. Download the contents of "Harry Potter and the Goblet of fire" using the command line from [here](https://raw.githubusercontent.com/bobdeng/owlreader/master/ERead/assets/books/Harry%20Potter%20and%20the%20Goblet%20of%20Fire.txt)
1. Download the contents of "Harry Potter and the Goblet of fire" using the command line from <a href="https://raw.githubusercontent.com/bobdeng/owlreader/master/ERead/assets/books/Harry%20Potter%20and%20the%20Goblet%20of%20Fire.txt" target="_blank">here</a>
2. Print the first three lines in the book
3. Print the last 10 lines in the book
4. How many times do the following words occur in the book?
Expand Down Expand Up @@ -211,7 +210,7 @@ Copy and paste the command for each section into a text file with explanation. A

## How Linux Works

Go through the link here: [https://neilkakkar.com/unix.html](https://neilkakkar.com/unix.html)
Go through the link here: <a href="https://neilkakkar.com/unix.html" target="_blank">https://neilkakkar.com/unix.html</a>

Philosophy:
- Processes
Expand Down
24 changes: 12 additions & 12 deletions 1. dev-basics/3. git.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Git

Git Crash Course - [https://www.youtube.com/watch?v=RGOj5yH7evk](https://www.youtube.com/watch?v=RGOj5yH7evk)
Git Crash Course - <a href="https://www.youtube.com/watch?v=RGOj5yH7evk" target="_blank">https://www.youtube.com/watch?v=RGOj5yH7evk</a>
1 hour 8 minutes 30 seconds

## What is version control?
Expand Down Expand Up @@ -106,7 +106,7 @@ sudo apt install git

For more information, read this

[https://www.digitalocean.com/community/tutorials/how-to-contribute-to-open-source-getting-started-with-git](https://www.digitalocean.com/community/tutorials/how-to-contribute-to-open-source-getting-started-with-git)
<a href="https://www.digitalocean.com/community/tutorials/how-to-contribute-to-open-source-getting-started-with-git" target="_blank">https://www.digitalocean.com/community/tutorials/how-to-contribute-to-open-source-getting-started-with-git</a>

## Setting up Git

Expand Down Expand Up @@ -143,17 +143,17 @@ There are many other options that you can set, but these are the two essential o

## Git Branches

Video - 33 minutes 20 seconds - [https://www.youtube.com/watch?v=e2IbNHi4uCI](https://www.youtube.com/watch?v=e2IbNHi4uCI)
Video - 33 minutes 20 seconds - <a href="https://www.youtube.com/watch?v=e2IbNHi4uCI" target="_blank">https://www.youtube.com/watch?v=e2IbNHi4uCI</a>

## Github

Git and GitHub for Beginners - Crash Course - [https://www.youtube.com/watch?v=RGOj5yH7evk&t=176s](https://www.youtube.com/watch?v=RGOj5yH7evk&t=176s)
Git and GitHub for Beginners - Crash Course - <a href="https://www.youtube.com/watch?v=RGOj5yH7evk&t=176s" target="_blank">https://www.youtube.com/watch?v=RGOj5yH7evk&t=176s</a>

## Optional: Learn Enough git to be dangerous
[Learn enough Git to be dangerous](https://www.learnenough.com/git-tutorial)
<a href="https://www.learnenough.com/git-tutorial" target="_blank">Learn enough Git to be dangerous</a>

## Practice Link
[Complete this game](https://learngitbranching.js.org/) at least 3 times.
<a href="https://learngitbranching.js.org/" target="_blank">Complete this game</a> at least 3 times.

Main:
* First 4 sections
Expand Down Expand Up @@ -181,11 +181,11 @@ Checking understanding:

### 1. Using .gitignore

[https://www.freecodecamp.org/news/gitignore-what-is-it-and-how-to-add-to-repo/](https://www.freecodecamp.org/news/gitignore-what-is-it-and-how-to-add-to-repo/)
<a href="https://www.freecodecamp.org/news/gitignore-what-is-it-and-how-to-add-to-repo/" target="_blank">https://www.freecodecamp.org/news/gitignore-what-is-it-and-how-to-add-to-repo/</a>

### 2. Good Commit Messages

[Git Commit Messages](https://chris.beams.io/posts/git-commit/)
<a href="https://chris.beams.io/posts/git-commit/" target="_blank">Git Commit Messages</a>

### 3.Making Effective Commits on Git

Expand All @@ -210,11 +210,11 @@ Committing working code doesn't mean you have to commit a working feature. It ju

Before committing anything use your ide's diff tool or the integrated Git Version Control. Both VS Code and IntelliJ IDEA has their own diff tools. Make sure you don't commit debug logs, comments, or anything you wrote for your own convenience or testing changes.

[Learn VS Code's Version Control](https://www.youtube.com/watch?v=AKNYgP0yEOY)
<a href="https://www.youtube.com/watch?v=AKNYgP0yEOY" target="_blank">Learn VS Code's Version Control</a>

[Learn IntelliJ's Version Control](https://www.youtube.com/watch?v=MaQnpCaiop0)
<a href="https://www.youtube.com/watch?v=MaQnpCaiop0" target="_blank">Learn IntelliJ's Version Control</a>

[Diff in IntelliJ](https://www.jetbrains.com/help/idea/comparing-files-and-folders.html)
<a href="https://www.jetbrains.com/help/idea/comparing-files-and-folders.html" target="_blank">Diff in IntelliJ</a>

#### Always Test your code

Expand All @@ -236,4 +236,4 @@ One common mistake beginner developers do is committing API Keys, secrets, and p
- want to undo changes to a file?

Answers to all these questions are well explained in
[this good resource](https://ohshitgit.com/). Please go through it and have it as a reference whenever you encounter such cases
<a href="https://ohshitgit.com/" target="_blank">this good resource</a>. Please go through it and have it as a reference whenever you encounter such cases
2 changes: 1 addition & 1 deletion 1. dev-basics/4. markdown.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@

Learn markdown from the following link

[Github markdown guide](https://guides.github.com/features/mastering-markdown/)
<a href="https://guides.github.com/features/mastering-markdown/" target="_blank">Github markdown guide</a>

Use Markdown in every technical paper, Readme.md and LMS submissions
2 changes: 1 addition & 1 deletion 1. dev-basics/5. computer-networks.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
The following YouTube is a simple and clear explanation of computer networks without getting too much into the theory.

[https://www.youtube.com/watch?v=aHJElrgj6UA](https://www.youtube.com/watch?v=aHJElrgj6UA)
<a href="https://www.youtube.com/watch?v=aHJElrgj6UA" target="_blank">https://www.youtube.com/watch?v=aHJElrgj6UA</a>
2 changes: 1 addition & 1 deletion 10. searching/searching.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
## NPM

Video - How to choose and use npm modules
[https://www.youtube.com/watch?v=DuyxqG3L7A8](https://www.youtube.com/watch?v=DuyxqG3L7A8)
<a href="https://www.youtube.com/watch?v=DuyxqG3L7A8" target="_blank">https://www.youtube.com/watch?v=DuyxqG3L7A8</a>

## Documentation
12 changes: 6 additions & 6 deletions 2. javascript/1. getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ NVM allows users to:
- Easily switch between multiple versions of Node.js, right from the command line.
- Set up aliases to switch between different downloaded versions of Node.js with ease.

Learn more about nvm [here](https://github.com/nvm-sh/nvm).
Learn more about nvm <a href="https://github.com/nvm-sh/nvm" target="_blank">here</a>.

For Linux and Mac users only
#### 1. Installing NVM
Expand Down Expand Up @@ -53,7 +53,7 @@ nvm use <SPECIFIC_NODE_VERSION>
### What is Node.js?

**Official Docs**:
[https://nodejs.org/en/docs/](https://nodejs.org/en/docs/)
<a href="https://nodejs.org/en/docs/" target="_blank">https://nodejs.org/en/docs/</a>

Well in 1-line, Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

Expand All @@ -62,15 +62,15 @@ Huh?
Historically, JavaScript could be executed only in a web browser. Things changed in 2009 when Node.js came into being. Using Node.js we can execute JavaScript outside the browser environment.

Go through the videos below to understand more about how it works.
[https://www.youtube.com/watch?v=uVwtVBpw7RQ](https://www.youtube.com/watch?v=uVwtVBpw7RQ)
<a href="https://www.youtube.com/watch?v=uVwtVBpw7RQ" target="_blank">https://www.youtube.com/watch?v=uVwtVBpw7RQ</a>

### What is Node Package Manager (NPM) ?

`npm`, short for Node Package Manager (well, not really), is two things:
- it is an online repository for the publishing of open-source Node.js projects
- and, it is a command-line utility for interacting with said repository that aids in package installation, version management, and dependency management.

A majority of Node.js libraries and applications are published on npm, and many more are added every day. These applications can be searched for on [http://npmjs.org/](http://npmjs.org/). Once you have a package you want to install, it can be installed with a single CLI command.
A majority of Node.js libraries and applications are published on npm, and many more are added every day. These applications can be searched for on <a href="http://npmjs.org/" target="_blank">http://npmjs.org/</a>. Once you have a package you want to install, it can be installed with a single CLI command.

Let's say you're hard at work one day, developing the Next Great Application. You come across a problem, and you decide that it's time to use that cool library you keep hearing about - let's use Caolan McMahon's `async` as an example. Thankfully, npm is very simple to use: you only have to run `npm install async`, and the specified module will be installed in the current directory under `./node_modules/`. Once installed to your node_modules folder, you'll be able to use `require()` on them just like they were built-ins.

Expand All @@ -87,11 +87,11 @@ npm install
```
After running those commands, you will see a node_modules folder containing all of the project dependencies specified in the package.json.

NPM Crash Course - [https://www.youtube.com/watch?v=jHDhaSSKmB0](https://www.youtube.com/watch?v=jHDhaSSKmB0)
NPM Crash Course - <a href="https://www.youtube.com/watch?v=jHDhaSSKmB0" target="_blank">https://www.youtube.com/watch?v=jHDhaSSKmB0</a>

### Best Practices: Starting a Project

Always have a .gitignore file and a README.md when starting a project.

* Use relevant .gitignore templates from [https://github.com/github/gitignore](https://github.com/github/gitignore)
* Use relevant .gitignore templates from <a href="https://github.com/github/gitignore" target="_blank">https://github.com/github/gitignore</a>
* README.md file should have a brief project description and how to run, install and/or deploy the project.
14 changes: 7 additions & 7 deletions 2. javascript/2. javascript-basics.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# JavaScript Basics

## 1. Introduction
[CodeAcademy Tutorial](https://www.codecademy.com/learn/introduction-to-javascript)
<a href="https://www.codecademy.com/learn/introduction-to-javascript" target="_blank">CodeAcademy Tutorial</a>

You can also watch a popular JavaScript basics crash course video on Youtube.

## 2. Modules

[Read this article](https://www.freecodecamp.org/news/node-module-exports-explained-with-javascript-export-function-examples/)
<a href="https://www.freecodecamp.org/news/node-module-exports-explained-with-javascript-export-function-examples/" target="_blank">Read this article</a>

Video - [https://www.youtube.com/watch?v=hyYbs3SANRo](https://www.youtube.com/watch?v=hyYbs3SANRo)
Video - <a href="https://www.youtube.com/watch?v=hyYbs3SANRo" target="_blank">https://www.youtube.com/watch?v=hyYbs3SANRo</a>

## 3. Best Practices: Indentation

Expand Down Expand Up @@ -245,8 +245,8 @@ let inventory = [{"id":1,"car_make":"Lincoln","car_model":"Navigator","car_year"

Watch the videos and then practice

- [https://www.youtube.com/watch?v=zdp0zrpKzIE](https://www.youtube.com/watch?v=zdp0zrpKzIE)
- [https://www.youtube.com/watch?v=rRgD1yVwIvE](https://www.youtube.com/watch?v=rRgD1yVwIvE)
- <a href="https://www.youtube.com/watch?v=zdp0zrpKzIE" target="_blank">https://www.youtube.com/watch?v=zdp0zrpKzIE</a>
- <a href="https://www.youtube.com/watch?v=rRgD1yVwIvE" target="_blank">https://www.youtube.com/watch?v=rRgD1yVwIvE</a>

## 8. Best Practices: Higher Order Functions

Expand Down Expand Up @@ -415,6 +415,6 @@ let inventory = [{"id":1,"car_make":"Lincoln","car_model":"Navigator","car_year"
```

## 10. Scopes and Closures
- [JavaScript Scope and Closures](https://css-tricks.com/javascript-scope-closures/)
- <a href="https://css-tricks.com/javascript-scope-closures/" target="_blank">JavaScript Scope and Closures</a>

- [The Ultimate Guide to Hoisting, Scopes, and Closures in JavaScript](https://ui.dev/ultimate-guide-to-execution-contexts-hoisting-scopes-and-closures-in-javascript/)
- <a href="https://ui.dev/ultimate-guide-to-execution-contexts-hoisting-scopes-and-closures-in-javascript/" target="_blank">The Ultimate Guide to Hoisting, Scopes, and Closures in JavaScript</a>
10 changes: 5 additions & 5 deletions 2. javascript/3. javascript-practice.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

### 1. Case

Read: [Case Styles: Camel, Pascal, Snake, and Kebab Case](https://betterprogramming.pub/string-case-styles-camel-pascal-snake-and-kebab-case-981407998841)
Read: <a href="https://betterprogramming.pub/string-case-styles-camel-pascal-snake-and-kebab-case-981407998841" target="_blank">Case Styles: Camel, Pascal, Snake, and Kebab Case</a>

Read: [What is camelCase, PascalCase, kebab-case and snake_case?
](https://winnercrespo.com/naming-conventions/)
Expand Down Expand Up @@ -188,7 +188,7 @@ module.exports = problem1;
### 4. Starting NodeJS Projects

Best Practices When Starting NodeJS Projects
[https://www.youtube.com/watch?v=X_UQbPnvSx4](https://www.youtube.com/watch?v=X_UQbPnvSx4)
<a href="https://www.youtube.com/watch?v=X_UQbPnvSx4" target="_blank">https://www.youtube.com/watch?v=X_UQbPnvSx4</a>

## JS Drill: Arrays

Expand Down Expand Up @@ -321,14 +321,14 @@ function defaults(obj, defaultProps) {
```

## Best Practices When Starting NodeJS Projects
[Watch this video](https://www.youtube.com/watch?v=X_UQbPnvSx4)
<a href="https://www.youtube.com/watch?v=X_UQbPnvSx4" target="_blank">Watch this video</a>

## Choosing npm modules
[Watch this video](https://www.youtube.com/watch?v=DuyxqG3L7A8)
<a href="https://www.youtube.com/watch?v=DuyxqG3L7A8" target="_blank">Watch this video</a>

## IPL Data Project I

**Download the data from:** [https://www.kaggle.com/manasgarg/ipl](https://www.kaggle.com/manasgarg/ipl)
**Download the data from:** <a href="https://www.kaggle.com/manasgarg/ipl" target="_blank">https://www.kaggle.com/manasgarg/ipl</a>

There should be 2 files:
- deliveries.csv
Expand Down
14 changes: 7 additions & 7 deletions 2. javascript/4. js-debugging-and-review.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

## Debugging

- How to read a JavaScript Stack Trace - [https://harrymoreno.com/2017/02/25/how-to-read-a-javascript-stack-trace.html](https://harrymoreno.com/2017/02/25/how-to-read-a-javascript-stack-trace.html)
- What is the difference between `throw new Error` and `throw someObject`? - [https://stackoverflow.com/questions/9156176/what-is-the-difference-between-throw-new-error-and-throw-someobject](https://stackoverflow.com/questions/9156176/what-is-the-difference-between-throw-new-error-and-throw-someobject)
- Using console methods - [https://fireship.io/courses/javascript/concepts-console/](https://fireship.io/courses/javascript/concepts-console/)
- How to read a JavaScript Stack Trace - <a href="https://harrymoreno.com/2017/02/25/how-to-read-a-javascript-stack-trace.html" target="_blank">https://harrymoreno.com/2017/02/25/how-to-read-a-javascript-stack-trace.html</a>
- What is the difference between `throw new Error` and `throw someObject`? - <a href="https://stackoverflow.com/questions/9156176/what-is-the-difference-between-throw-new-error-and-throw-someobject" target="_blank">https://stackoverflow.com/questions/9156176/what-is-the-difference-between-throw-new-error-and-throw-someobject</a>
- Using console methods - <a href="https://fireship.io/courses/javascript/concepts-console/" target="_blank">https://fireship.io/courses/javascript/concepts-console/</a>


## Self Review
Expand Down Expand Up @@ -64,10 +64,10 @@ Share link of the folder in your private Discord channel when you start. Also ju
## Miscellaneous

- History of JavaScript
- [https://ui.dev/ecmascript/](https://ui.dev/ecmascript/)
- [https://auth0.com/blog/a-brief-history-of-javascript/](https://auth0.com/blog/a-brief-history-of-javascript/)
- <a href="https://ui.dev/ecmascript/" target="_blank">https://ui.dev/ecmascript/</a>
- <a href="https://auth0.com/blog/a-brief-history-of-javascript/" target="_blank">https://auth0.com/blog/a-brief-history-of-javascript/</a>
- Imperative VS Declarative Programming
- [https://ui.dev/imperative-vs-declarative-programming/](https://ui.dev/imperative-vs-declarative-programming/)
- <a href="https://ui.dev/imperative-vs-declarative-programming/" target="_blank">https://ui.dev/imperative-vs-declarative-programming/</a>
- Clean Code
- [https://github.com/ryanmcdermott/clean-code-javascript](https://github.com/ryanmcdermott/clean-code-javascript)
- <a href="https://github.com/ryanmcdermott/clean-code-javascript" target="_blank">https://github.com/ryanmcdermott/clean-code-javascript</a>

2 changes: 1 addition & 1 deletion 3. asynchronous-javascript/1. callback-functions.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,4 +84,4 @@ setTimeout(() => {
```

## Video
[https://www.youtube.com/watch?v=qtfi4-8dj9c](https://www.youtube.com/watch?v=qtfi4-8dj9c)
<a href="https://www.youtube.com/watch?v=qtfi4-8dj9c" target="_blank">https://www.youtube.com/watch?v=qtfi4-8dj9c</a>
Loading