Skip to content

Instantly share code, notes, and snippets.

@ChrisOwen101
Last active July 16, 2021 13:09
Show Gist options
  • Save ChrisOwen101/4635162e5008b8d07d7427882355b4b8 to your computer and use it in GitHub Desktop.
Save ChrisOwen101/4635162e5008b8d07d7427882355b4b8 to your computer and use it in GitHub Desktop.
Getting Setup at Sigma Labs

Getting Setup at Sigma Labs

If you're reading this page, that means you've been accepted as a student of Sigma Labs. Congratulations! 🎉

We're going to be working together as a team, closely for the next 12 weeks and then over the next two years. To make sure you're as ready as possible to get started please read through this guide and make sure you've completed all of the steps.

1) Background Knowledge

We expect that you join the course with some pre-existing knowledge. It's important that

The resource marked with a ⭐ is the one we'd recommend for most students; however, feel free to explore the options and pick the one that suits you best!

1.1) Learning the Command Line (6 hours)

What is this?

The command line is a way of interfacing with your computer without using a graphical interface. We'll be using it to run our code, install libraries and other simple tasks.

What have I got to be able to do?
  • Move around your computers directories using cd and cd ..
  • Create files and folders from the command line using touch and mkdir
  • Use other command tools including:
    • ls
    • grep
    • cat
    • ps
    • head/tail
    • wc
  • Combine commands using pipes
  • Understanding permissions and su/sudo
What should I do?
  1. The Command Line Murders (recommended ⭐ )
  2. (Optional) Learn Enough Command Line to Be Dangerous (paid, $9)
  3. (Optional) The Unix Workbench - Weeks 1 & 2

When you're done, have a go at the Command Challenge to check your knowledge!

1.2) Learning Git (6 Hours)

What is this?

Git is a tool used to track the changes in our code over time. It is also used to share code between developers

What have I got to be able to do?
  • Commit changes to a repository
  • Create a branch and commit to it
  • Undo mistakes by discarding changes
  • Using Github to fork a repository
  • Clone a repository from Github to your laptop
  • Push you changes to Github
What should I do?
  1. Git & Github for Poets
    • Watch all of the videos in this series
    • You can safely skip the "Github Pages" video
  2. Git-it app (recommended ⭐ )
    • Download, install and complete all of the challenges in this course
  3. (Optional) Version Control (Git) - MIT
  4. (Optional) The Unix Workbench - Week 4

1.3) Learning Basic JS (12 hours+)

What is this?

Over the next 12 weeks you're going to be writing a lot of JavaScript. A lot.

The best way you can be spending your time between now and then is to be practicing and refining and expanding your skills. The more work you put in now, the more that you are going to get out of the course.

What have I got to be able to do?
  • Basic knowledge of JS programming including
    • Key concepts:
      • Assigning variables
      • Conditionals
      • Defining functions
    • Key data types:
      • Integers
      • Floats
      • Arrays
      • Objects
  • How to write and run a script
What should I do?
  1. Codecademy - Introduction to Javascript (recommended ⭐ )
    • Complete the first eight lessons
  2. learn-js.org
    • Read and complete the exercises in 'Learn the Basics'
  3. (Optional) The JavaScript Way
    • Read and take notes on the first 70 pages
  4. The Odin Project
    • Complete as much of the Foundations track as you can
    • You're welcome to skip over sections that you already understand from the previous exercises
    • We highly recommend attempting the four projects contained within.

If you finish all of that, you can work on the following material

  1. CodeWars
    • Sign up to Codewars and begin working on "8 KYU" problems

2) Laptops

We provide every student with a Macbook when they join one of our cohorts. It's important that we're also using the same tools to reduce the complexity when we teach.

You should get one a week or so before the course starts. If you do not have your laptop within a few days of the course starting please get in touch with a member of Sigma staff.

3) Software and Services

3.1) Visual Studio Code

3.1.1) Install VSCode

We use VS Code to write all of our code in the course. It is known as an Integrated Developer Environment and really helps you write great code!

Download and install here

3.1.2) Install Extensions

We also recommend that you install the follow extensions in Visual Studio Code.

A guide to installing extentions can be found here.

3.1.3) Enable formatting on save

We also suggest that you enable format on save so that your code stays formatted

  1. In Visual Studio open the settings file (see here)
  2. Search for editor format
  3. Set editor.formatOnSave and editor.formatOnPaste to true
  4. Set the "Default Formatter" to be Prettier

3.1.4) Enable "Open from the Command Line"

Follow the instructions here to enable opening VSCode from the Terminal

Instructions

3.2) Chrome

Chrome is one of the best browsers for web developers with a great set of tools for testing and building websites

Download and install here

3.3) Slack

We use Slack to communicate with each other easily, to share files and to have video calls. You'll find all of your other students on here!

You'll need to login when you've download this. Speak to a Sigma Staff member to get invited when you start the course.

Download and install here

We recommend also installing on your phone.

3.3) Zoom

We use Zoom for bigger video calls when they are remote.

Download and install here

3.4) iTerm 2

A replacement for the default Terminal.app built into macOS. This is where we'll run commands from the command line.

Download and install here

3.5) Homebrew

Homebrew makes it easy to install many programming-centric tools on macOS.

Download and install here

To install, open a iTerm window and copy and paste the command on the Homebrew homepage.

3.6) Install Deno

We use Deno to run our code.

To install, open an iTerm window and copy and paste this code

brew install deno

3.7) Git & Git Bash

We use this tool to upload our code to the internet so others can see it.

Alternatively, install with Brew by running this command

brew install git

3.8) Python

If you're on macOS Catalina or later, you already have Python 3.7 installed. This is sufficient for working through the materials this week, although it's recommended to install the latest version of Python by running:

brew install python

4) Websites

4.1) Github

We use Github to submit our coursework and to share code with each other. Please make sure that you have created an account and are logged in before you attend your first lesson.

Create account here

4.2) Codewars

We'll be using Codewars later in the course help us practice our JavaScript.

Follow the setup instructions here to get setup.

Register at Codewars

5) Glossary

  • Array - An ordered collection/list of items.
  • Command line/Command line interface (CLI) - A text-based interface that is used to operate software.
  • Conditional - A conditional statement tells a program to execute different actions depending on whether a condition is true or false. For example: "if the account balance is less than 0, freeze the account" is an example of a conditional statement.
  • Floating point number/float - A number with a decimal point.
  • Function - A named section of a program that performs a specific task.
  • Git - The most popular version control system.
  • Github - A popular platform for hosting Git repositories.
  • Integer - A whole number.
  • JavaScript - JavaScript is a programming language commonly used in web development.
  • Object - JavaScript's Object data type associates names (or keys) with values. For example, the object { 'Johnson': '+440773141214', 'Lewis': '+4141915901' } associates surnames and telephone numbers.
  • Pipes - A pipe is a technique for passing information from one program process to another. For example the command ls -1 | wc -l passes the result of ls program to the wc program to count the number of files in the current directory.
  • Program/script - A program is a set of instructions that a computer follows in order to perform a particular task. For a language like JavaScript, Python, and Ruby which can execute programs from just the source code, a "script" is the same as a "program".
  • Repository/repo - A (Git) repository tracks all the files and changes for a single project.
  • Unix - The operating system that forms the basis of Linux and macOS (but not Windows). Most web servers run on Unix environments, so Unix environments are usually preferred to Windows by web developers.
  • Version control - Version control is a system that records changes to a file or set of files over time. By carefully recording changes, version control systems let you undo mistakes, compare versions of a program, and work on a codebase in a team without your changes overriding those of your colleagues.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment