Team 20 Knowledge Base

Welcome to the Team 20 Programming Knowledge Base! This knowledge base houses various programming resources, ranging from explaining robot code to advanced tricks and examples that can be used in robot code. It is meant to be a reference of sorts for programming-related tasks like programming LEDs, keyboard shortcuts, and software downloads, as well as a place to store information on how to do something that’s useful but isn’t used often enough to be “common knowledge.”

Project Scope

Here are some guidelines on what should and shouldn’t be in the knowledge base. You don’t have to follow them exactly but you should use them to help determine if some bit of knowledge is novel enough to be included in the knowledge base.

What this project includes

  • Non-obvious and advanced code tricks, e.g, timers in commands
  • Explanations on how things work or how to do something, e.g., explaining subsystems and commands, or programming LEDs
  • Code examples/snippets with explanations
  • Guides for setting up and configuring tools
  • Other useful information that isn’t obvious or used often

In general, if it’s non-obvious and leans towards the obscure side of things, e.g., using a timer in a command, stick it here with documentation/an explanation of what does. Mentioning the problem that it solves is also helpful.

Guides on specific tasks like PIDs or LEDs are also fine, those fall under “Explanations on how to do something” and those tasks are non-obvious. They are commonly used but are considered novel enough to warrant a guide.

Putting in knowledge on something that is initially unfamiliar is also fine. In 2023, we figured out how to control LEDs with an Arduino. The code from the previous year was difficult to understand at first, and we had to figure out how it worked. After we figured it out, we later decided a guide for it would be helpful for future reference, which is why a guide for LEDs exists.

What this project doesn’t include

  • “Basic” knowledge, e.g., if statements
  • A Java guide
  • Random code snippets
  • Documentation for year-specific code. This is for general knowledge, year-specific code should have inline documentation

Contributing

If you would like to make a change to a doc, or create your own, create a new branch, make your changes, and make a pull request.