Skip to content

Introduction to Software

Hello young aspiring programmer! This guide will go over what software we use 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?

What is FIRST® Robotics?

As you may have already learned, 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 2 divisions based on difficulty level.

  • FIRST® Robotics Competition (SciBorgs and FeMaidens compete in this!)
  • FIRST® Tech Challenge (Apeiro competes 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.

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.

We don't use C++ because it is very difficult, it is very easy to break, and we do not have any C++ courses in our school.

We do use Java because it is Object-Oriented, moderately fast, and easy to manage. In addition, 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. Everybody else uses it
  3. It is the only one officially supported by FIRST®

(Visual Studio code is integrated into WPILIB® with an extension)

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.

Guide written by Ankit Kumar (Class of 2027)