/Resources

Resources for learning C++ and other programming topics!

MIT LicenseMIT

Resources

Programming reasources for Rambunction4330

C++

Editors:

If you are going to write code, you’ll need a place to run it. Unfortunately, this can end up being a larger challenge than the programming itself and differs from platform to platform. If you don’t have much experience, start by playing around in an online editor. I will typically use a local IDE like CLion, Code::Blocks, Xcode, or VSCode. And while it can be annoying and difficult, it is helpful to learn to manually edit and run code from the command line.

Tutorials:

For actually learning the language, you can find countless tutorials online. Here are a few that I will often go back to when I forget how to do something or need to clarify a concept. Use the one that you like the most.

Practice:

While tutorials are useful, you only really learn by doing. I’ve made a list of some places that will have "practice problems", but those can become extremely boring. If you can find a project of your own it can be more engaging and could create something useful. You might try to recreate Worldle or write a program to do your math homework.

Reference:

When I forget what the name of a function is, these are usually the places I go. Well actually I google it, but google usually brings me to one of these. Also, feel free to ask me anything. It is useful to know which topics are the most difficult so that not only can we help you, but also help others with these difficult concepts during pre-season.

WPILib (The FRC library):

A lot of the programming for robotics is less writing original code, and instead leveraging the code that FRC has already written for us. It would be difficult to do anything without having a robot, but if you're interested, they have good tutorials explaining the library and the concepts behind it.

Linux:

All of the computers on the robot run a version of the Linux operating system. Although this is not required, it can be useful to learn how to use Unix/Linux, especially from the command line, to debug programs running on these computers. Much like learning c++, the best way to learn Linux/Unix is to use it daily. If you are on a mac, try using the terminal regularly. These skills will transfer over to Linux/Unix. If you are on windows, you can look into WSL (Windows Subsystem for Linux) or you can access a Linux machine on the cloud at https://gitpod.io.