Go to file
2022-12-26 14:40:10 -05:00
1 - Getting Started Adding as many examples as I've converted so far. 2022-12-10 17:18:44 -05:00
2 - Console In and Out Last commit didn't sync everything, trying again 2022-12-15 21:32:14 -05:00
3 - Variables and Basic Math Last commit didn't sync everything, trying again 2022-12-15 21:32:14 -05:00
4 - If Else and Logical Operators More README Work 2022-12-17 16:15:53 -05:00
5 - Random Numbers and For Loops More README Work 2022-12-17 16:15:53 -05:00
6 - While Loops Break Continue and Loop Translation More README Work 2022-12-17 16:15:53 -05:00
7 - Classes and Objects More README Work 2022-12-17 16:15:53 -05:00
8 - Basic Robot Electronics More README Work 2022-12-17 16:15:53 -05:00
9 - Robot Program Structure Adding more documentation 2022-12-23 15:40:58 -05:00
10 - Basic Drivetrain Adding more documentation 2022-12-23 15:40:58 -05:00
11 - Timer Based Autonomous Adding more documentation 2022-12-23 15:40:58 -05:00
12 - Digital and Analog Inputs Adding more documentation 2022-12-23 15:40:58 -05:00
13 - Encoders Adding more documentation 2022-12-23 15:40:58 -05:00
14 - Gyroscopes Adding a bunch more readme content 2022-12-26 14:40:10 -05:00
15 - PID Control Adding a bunch more readme content 2022-12-26 14:40:10 -05:00
16 - NetworkTables and Limelight Adding a bunch more readme content 2022-12-26 14:40:10 -05:00
17 - Pneumatics Adding a bunch more readme content 2022-12-26 14:40:10 -05:00
18 - CameraServer and Shuffleboard Adding a bunch more readme content 2022-12-26 14:40:10 -05:00
19 - AddressableLED Adding a bunch more readme content 2022-12-26 14:40:10 -05:00
README.md Initial README setup experimentation 2022-12-10 11:31:46 -05:00

2022 Training Python Redux

Given the interest in using Python by a Maine Rookie Team for the 2023 season, I've decided the best course of action is to try and re-work my original examples from the 2022 Java Training into Python.

Is this training a replacement for learning the fundamentals of Python?

No. While I do include some basics in the first few folders, the fundamentals of Python and of programming in general can't be conveyed so quickly. If you're interested in more training in the fundamentals of Python beyond a quick overview, I recommend the training provided by OpenEDG. They provide free, self paced Python training for beginners up through advanced Python users. These trainings are oriented towards passing industry standard certifications, so for older students who are interested in going into Computer Science, these trainings are a good opportunity to get a head start towards achieving entry to mid-level Python certifications that are industry recognized. More information can be found at The Python Institute.

How to go through these folders?

Start with the lowest numbered folder, and keep working your way up. I DO NOT recommend you jump around if you are new to Python/Robot Programming. Many of the examples and challenges build on previous concepts shown in other examples.

In each folder there is a README.md, if you're viewing this code on GitLab, the content on the README is shown underneath the file view, similar to where this document is placed. You should read the README prior to looking at the code.

How will I know what the code is doing?

I will provide comments similar to the ones I provided for the Java oriented programming training. In many cases, the comments will be comprehensive enough to get you an understanding of what is going on. If you get stuck, or you have extra questions that Google isn't helping you answer, I'm happy to answer questions. Send me an email at bradleybickford@gmail.com, make sure your subject line contains FRC PYTHON HELP in big capital letters, I get a lot of junk mail, and I wouldn't want to miss your email...

What are these challenges?

The challenge solutions are "homework assignments" that I had originally given during the programming training course held in the Summer of 2022. I gave a prompt, and the students that wanted to could go and try the challenge over the course of a week. When the next training session came around, we'd talk about any questions, and I'd release a full solution (a challenge solution) that contained comments to explain why and how certain things were done.

While I agree that sometimes homework can be awful, trying things for yourself can be great to increase your understanding, especially when programming. I strongly encourage you to try to do some of the challenges yourself, experiment, ask Google, and try to break stuff. The prompts that I originally gave will be in the readme of each challenge solution folder. Read the prompt, give it a try for yourself, and then review the actual solution to see how close you got.