Skip to content

Introduction to Software

Hello young aspiring programmer! This guide will go over what software we will use in this course and why we use it.

Here is what will be covered here:

  1. What is FIRST® Robotics?
  2. What do we use to interact with our robot?
  3. What do we use to edit our code?
  4. How do we collaborate with each other?
  5. What do we use to collaborate?

If you want to just get to the point on downloading your software, head over to our Software Setup Guide.

What is FIRST® Robotics?

As you may have already learned from our wonderful Core Mechanics Presentation, FIRST® Robotics is an organization that hosts massive global robotics competitions with 1000’s of teams once every year. These competitions are split up into 3 divisions based on difficulty level.

1. FRC aka. FIRST® Robotics Competition

Grades 9-12 (The Sciborgs compete in this!)

2. FTC aka. FIRST® Tech Challenge

Grades 7-12 (Apiero competes in this!)

3. FLL aka. FIRST® Lego League

Grades 4-10 (We don't compete in this!)

This programming course, along with the accompanying electronics and mechanical courses, are all based around FRC robots.

What do we use to interact with our robot?

FIRST® Robotics created a special control system called WPILIB® which we use to control their robots. WPILIB® supports 3 programming languages C++, Java, and Python.*

Due to the fact that python is incredibly annoying (all my homies HATE python), and that we are too stupid for C++, our school has collectively decided to use Java as our language.

To clarify, we don't use python because it is the slowest language to run, it doesn't have OOP, and indentations make your code VERY annoying to handle.

To clarify further, we don't use C++ because it is very difficult, it is very easy to break, and we have an entire Java course in this school (AP® Computer Science).

What do we use to edit our code?

In the Java code-editing sphere there are two very prominent competitors Visual Studio Code (by Microsoft) and Intellij IDEA (by Jetbrains). We choose Visual Studio Code (VSCode for short) for a couple of reasons.

  1. Non-cluttered and customizable
  2. Literally everybody else uses it
  3. It is the only one officially supported by FIRST®

(They created an official extension for Visual Studio Code as well as use it in their tutorials)

Note that Visual Studio and Visual Studio Code are very different apps.

How do we collaborate with each other?

Code-Collaboration in the professional sphere is not at all like Google Slides or Canva; Nobody works on the same piece of code at the same time. We do this for a couple of reasons:

  1. Code is built upon other code. If some code is altered, then everything that is built upon that code will also need to be altered.

  2. People have different ideas on how to do certain things. You can’t implement something halfway; it has to be all or nothing.

  3. Sometimes we have 10+ people working on the code simultaneously, you can imagine how this would be problematic.

Because of this, we divide up the work beforehand and designate certain people to do certain things. We also code our parts separately and then combine them later on. Additionally, all of our edits have to be accessible from anywhere in order for everyone to be able to see what is happening. This is why we store our code online.

What do we use to collaborate?

To collaborate, we use Git Project Management Software. Git gives us commands that allow us to:

  1. Upload our code to the internet
  2. Download our code from the internet
  3. Separate different features of our code
  4. Combine features later-on

We use this in conjunction with Github, a website that gives us a free server to put our code onto and get our code from.

That is all! Farewell young aspiring programmer! Head over to our Software Setup Guide to continue your journey.