# 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](https://openedg.org/). 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](https://pythoninstitute.org/).

## How to go through these folders?
Start with the lowest numbered folder, and keep working your way up. I <b>DO NOT</b> 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](mailto: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. 