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.
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!
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.
- Move around your computers directories using
cd
andcd ..
- Create files and folders from the command line using
touch
andmkdir
- Use other command tools including:
ls
grep
cat
ps
head/tail
wc
- Combine commands using pipes
- Understanding permissions and
su
/sudo
- The Command Line Murders (recommended ⭐ )
- (Optional) Learn Enough Command Line to Be Dangerous (paid, $9)
- (Optional) The Unix Workbench - Weeks 1 & 2
When you're done, have a go at the Command Challenge to check your knowledge!
Git is a tool used to track the changes in our code over time. It is also used to share code between developers
- 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
- Git & Github for Poets
- Watch all of the videos in this series
- You can safely skip the "Github Pages" video
- Git-it app (recommended ⭐ )
- Download, install and complete all of the challenges in this course
- (Optional) Version Control (Git) - MIT
- (Optional) The Unix Workbench - Week 4
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.
- Basic knowledge of JS programming including
- Key concepts:
- Assigning variables
- Conditionals
- Defining functions
- Key data types:
- Integers
- Floats
- Arrays
- Objects
- Key concepts:
- How to write and run a script
- Codecademy - Introduction to Javascript (recommended ⭐ )
- Complete the first eight lessons
- learn-js.org
- Read and complete the exercises in 'Learn the Basics'
- (Optional) The JavaScript Way
- Read and take notes on the first 70 pages
- 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
- CodeWars
- Sign up to Codewars and begin working on "8 KYU" problems
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.
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!
We also recommend that you install the follow extensions in Visual Studio Code.
A guide to installing extentions can be found here.
- Prettier - Code formatter - Format your code automatically
- ESLint - Linter - Tells you when your code is wrong
- Code Spell Checker - Tells you when you've spelt something wrong
We also suggest that you enable format on save so that your code stays formatted
- In Visual Studio open the settings file (see here)
- Search for
editor format
- Set
editor.formatOnSave
andeditor.formatOnPaste
to true - Set the "Default Formatter" to be Prettier
Follow the instructions here to enable opening VSCode from the Terminal
Chrome is one of the best browsers for web developers with a great set of tools for testing and building websites
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.
We recommend also installing on your phone.
We use Zoom for bigger video calls when they are remote.
A replacement for the default Terminal.app built into macOS. This is where we'll run commands from the command line.
Homebrew makes it easy to install many programming-centric tools on macOS.
To install, open a iTerm window and copy and paste the command on the Homebrew homepage.
We use Deno to run our code.
To install, open an iTerm window and copy and paste this code
brew install deno
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
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
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.
We'll be using Codewars later in the course help us practice our JavaScript.
Follow the setup instructions here to get setup.
- 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 ofls
program to thewc
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.