1. We have a GitHub organization which serves as the home for 3268 programming. To join, send an email to inglemoor.robotics@gmail.com with your GitHub username, or bring the topic up at a club meeting. Whoever is in charge of the organization will then add you.

  2. Each week(assuming there is a meeting of the club), the programming team(anyone actively working on the robot’s code) will meet to discuss how the last week went, as well as tasks for the upcoming week. Those tasks are organized in a GitHub project, visible only to organization members. Tasks are taken on a first come first serve basis, but make sure not to take a task which you feel you can’t complete in the time you have to complete it. It is *OK to have other things going on, but please tell someone if that happens so you don’t delay things.

  3. If a task is large enough/involves changing existing code, you should create a separate branch on the repo the task is on, and then make the changes. If you have an idea/concern/suggestion, test it if possible, as soon as possible, and do so in a separate branch. You don’t have to consult with others to do this unless and until you want to integrate those changes back into the main branch(or those changes require more changes that you can’t/don’t want to do.)

  4. Tasks can be added by anyone, but you should consult the rest of the programming team before changing/deleting a task.

  5. As of the 2023-2024 year, 3268 writes its robot code in Kotlin, a programming language that’s similar to languages like Java and C#, but makes several improvements, the most important of which is null safety. You can read about them here. *If you know Java, C#, or something similar, you know Kotlin. If you don’t, it’s easy to learn. A guide to Kotlin can be found here. Make sure you learn Kotlin, at least at a basic level, if you plan to contribute to robot code.

  6. There is an as-of-yet unfinished presentation which will cover most of what you need to know about WPILIB, the library we use for robot programming. It is expected that you can read Kotlin before you start, but no other knowledge is required. It can be found here. (If you’re lucky, there will be a video of someone going through the whole presentation linked here as well.)