Lesson #1 - Tools of the Trade
In chapter 1 we learned some cool stuff, but there are loads left to learn! Before we get too deep though, we should make sure you have all the tools you need in your tool belt to hit the ground running on day 1.
This lesson is all about installations.
Ready for Action!
Coming into your first day of class, you will be expected to have several tools already installed. This will ensure you're ready to start learning immediately. The purpose of this module is to walk you through the process of installing tools needed for the course and give you a brief primer on the roles they play.
After completing this module, you will have each of the following tools installed:
- Google Chrome
- Slack
- Java SDK
- IntelliJ IDEA
- Visual Studio Code
- "Open in Browser" Visual Studio Code extension
- Git / GitHub
- Git Bash (Windows Only)
- Terminal (Mac Only, Pre-Installed)
- Xcode (Mac only)
- Nodejs
- SSH keys
In addition, you will also have accounts on each of the following websites:
- GitHub
- Slack
Having trouble with set up? Not to worry. Your instructional staff will help you troubleshoot any errors and answer any questions on the first day of class. Just sit tight until then!
Tools
Before we start installing everything willy-nilly, let's take a moment to examine each of these tools to better understand the role they play.
Google Chrome
This is the web browser we'll be using to quickly determine whether our code is working. Google Chrome has a number of tools that make it an ideal platform for coding, so if you are currently using a different browser, we encourage you to switch to Chrome.
Slack
We'll be using this application literally every single day for the next few months. Slack is an online communication tool that is a mix of a forum, instant messenger, and email - all rolled in one. It's a tool that is used by countless organizations worldwide.
In our Boot Camp, we'll be using Slack extensively to send code snippets during class, to relay important announcements, and to facilitate group exercises. You will receive the link to your class-specific channel during orientation. You will definitely want to have this installed on Day 1. (Note how we said installed and not simply logged into. While the web client is good, for our class, you will want to install the actual program onto your machine.)
Visual Studio Code
Oh, the power of VS Code! A little program that does so much!
Visual Studio (VS) Code is a free text editor that runs on Mac, Linux, and Windows operating systems. For developers, text editors are like the cozy pillow on which they rest their heads.
At a fundamental level, programming is all about creating text in files with various extensions. When we create a block of HTML like the one below, what we've really done is created a block of text. There are some funny symbols in there, but at its most basic level, it's just text.
For a simple text editor, this is where the comprehension stops: our block of HTML remains a block of text. But for more powerful text editors like VS Code, these blocks of text are immediately recognized as code (as long as we include the right file extension). VS Code can provide a more visually intuitive understanding of the code through indicative coloring, smart tabs, and autocomplete functionality. As a result, creating HTML like the block above is a more natural process and can be debugged more quickly.
Open in Browser (VS Code Extension)
As you will find in this course, VS Code is powerful in its ability to be extended through the use of plug-ins. This means that we can easily incorporate free add-ons that enable VS Code to make the process of coding even easier than before.
For now, the only extension we recommend installing with VS Code is the Open in Browser extension. This will allow you to open HTML files you are editing in VS Code in your web browser without having to go through File Explorer (Windows) or Finder (Mac).
Git / Github
Because multiple developers need to carefully build upon each other's work in code files, Git offers a specialized set of strategies for orchestrating the collaboration. GitHub then takes all of these collaborative actions and stores them online. In a way, GitHub serves as a sort of Dropbox for coders. It offers a central place for individuals or teams to upload their code, to view revision history and to make changes to a master set of files. You'll come to learn a lot about Git and GitHub in your first weeks of class. You will receive the link to your class-specific repository during orientation.
Git Bash (Windows Only) / Terminal (Mac, Pre-installed)
Git Bash (Windows) and Terminal (Mac) offer a command line interface for working with the files and folders on your computer.
So is it like Finder or Windows Explorer?
Kind of... except there are no pictures or visuals. It's just a box with text.
Uh, why would I want that?
You'll come to understand over time, but in many situations, utilizing a command line interface can be faster and more powerful than relying on the operating system's GUI. You'll get a little more exposure to the command line in the required assignment below and in the next chapter!
Xcode (Mac Only)
Xcode is a development suite exclusive to Mac. We will primarily be using Visual Studio Code in this course, but installing Xcode will set up some of the other required boot-camp programs including Git, which coders depend on for logging the development of programs and applications.
Node.js
Node.js is a JavaScript environment that we'll be using to build our Angular applications. Don't worry if that doesn't make much sense yet. You'll become very proficient in its use and utility by the end of the course.
SSH Keys
Generating SSH keys allows developers to interface with certain remote services without having to constantly type out login information. You're going to set up an SSH key for GitHub.
Without a key, you won’t be able to push your code to GitHub without entering a password each time; trust us, that would be as irritating as needing a key to open every door in your home.
Ready, Set, Go!
Now it's time to collect your tools and begin. Setup guides for both Mac and Windows users are provided in the links below. Follow the instructions closely and do your best with the information you have. (Yes, we know there is a lot to install.)
One bit of advice: Throughout the course, you will frequently need to install and use unfamiliar tools. Resist the urge to stop and ask, "Am I doing this right?" Instead, trust your instincts and take your best stab at it. If you get lost, we'll get you the help you need right away. You can do this!