Skip to content

Onboarding

While the workshops are mainly meant to teach general concepts and tools that can be applied to TUAS and other software projects, the onboarding process is meant to provide projects to build up programming skill and domain knowledge.

There are three levels of onboarding projects:

  1. Level 0: Basic Programming Skills
  2. Level 1: Intermediate Programming Skills
  3. Level 2: Domain Knowledge

Level 0 and level 1 projects are meant for those who want to get more comfortable with programming in general before they start working on TUAS projects. Level 2 projects are meant for those who want to get more familiar with the domain knowledge of TUAS.

New members can skip level 0 and level 1 projects, but are required to complete at least one level 2 project before they can start working on TUAS projects. There is an associated level 2 project for each project team, so new members are encouraged to complete the level 2 project for the team they are interested in joining.

If a new member comes in and clearly already has the domain knowledge they need, then they can skip the level 2 project and start working on TUAS projects immediately. This is at the discretion of the leads.

Each project has a general description page which describes the project and provides some resources to get started. Each project also has a page tutorial-like solutions in various languages for those who want to see how to solve the project, or to compare their solution to the provided solution.

Because we provide tutorial solutions in various languages, even if you are already familiar with programming you might find it useful to complete one of the lower level projects in a language you are not familiar with. For example, if you wanted to learn C++ because you knew you wanted to contribute to the pathing team, you could complete the level 0 and level 1 projects in C++ to get more familiar with the language. In line with this If you already know the project team you eventually want to join, here are the languages used by each project team:

  • GCS Team: Go (backend), Javascript (frontend)
  • Pathing Team: C++
  • CV Infrastructure Team: C++
  • Target Detection Team: Python
  • Dataset Generation Team: Python
  • Localization Team: Python

Tutorial Solution Code

To view all of the provided tutorial solution code, you can visit this repo.

Table of Contents