1. We have a github organization which serves as the home for 3268 programming. To join, send an email to firstname.lastname@example.org 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 absolutely O.K. 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 seperate 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 an a seperate branch. You dont 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 it’s robot code in Kotlin, a programming language that’s similar to langauges 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 soure 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 excpected 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.)