Learning programming

I am very interested in learning programming. But due to me being the buisness captain on my team. I sadly can’t learn programming due to the head captain thinking i will be overloaded. But i feel that learning programming is an essiantial to every team. So what are some programs that can help me learn to code.

If you want C/Java try http://www.codecademy.com/ and if you want Labview then there is youtube videos and a lot of great tutorial/help features on Labview itself.


Team 20 will be hosting a set of video seminars this fall for Java programming. I’d suggest learning everything you can in the summer, but feel free to tune in to the seminars when school resumes.

Where can these be found?

They don’t exist yet, unfortunately. They will be held this upcoming fall via Google+, and then get posted to Youtube. They would primarily be for Java, as the teams in the Capital District (Albany, NY area) generally use Java, and are the ones targeted for the seminars.

If I were you, I’d start by reading up/Google searching some concepts. Start with a single language. I’d suggest Java, for a few reasons (like great documentation) but I’m not unbiased. Try to stick with that language and figure it all out. You’re obviously motivated, which is awesome!

When we start gearing up for the seminars, I’ll make sure to post a thread about it on Chief Delphi, or PM you.

In the meantime, though, feel free to PM me with any questions/concerns you might have over the summer. I can’t guarantee any help with C++ or LabView though.

Is there anything for specifically frc programming in JAVA (besides team 20’s seminars, I’ll be sure to keep them in the back of my mind if I still need them)?

What tutorials would you recommend for trying to learn JAVA, the website seems awesome but the tutorials are all for web-based programming.

I to have recently jained an interest in learning to program and seeing as my team has used Java for the past 2 years I decided to learn that. The tutorials I have used so far are these command based programming tutorials and these iterative robot based tutorials. I personally found the Command based tutorials to be more helpful as I find it easier to program however I found the other tutorials quite helpful as well.

If anyone has any questions that are not specifically addressed in an online tutorial please feel free to ask around.

The official Java tutorials from Oracle, while not FRC specific, are pretty good for learning the language and programming in general: http://docs.oracle.com/javase/tutorial/

The tutorial is for Java SE 7. Note that the Squawk JVM for FRC is based on Java 4, and thus certain newer features (such as enums) are unavailable.

For FRC specific stuff, besides the resources mentioned above, the WPILib documentation site on ScreenSteps Live has a lot of good information: Java Getting Started Guide - Main 2013 Site

If you would like to look at complete robot programs, several high profile teams have published there code, such as 111 and 254, as well as my own team, 316.

I would personally start with something simple (not robotics related), because most of the coding isn’t syntactical so much as controls related. I would focus on how to think using a program - how to make a program (i.e. the robot) take in data, process it, and make a decision. Algorithms are key - how do you do things in sequence? How do you do things in a sequence that will never change? How do you do things in a sequence that should dynamically change? How do you do things simultaneously?

Unfortunately, most of this knowledge can’t be learned out of a book. Syntax and basic conditionals, sure, you can get out of any book on introductory programming. But state machines, control flow, multithreading, and signals analysis (even at the FRC level) are things you really have to get by actually doing them for real. At CHS Robotics, we start our students on RobotC on simple NXT robots, so that they can learn these subjects by actually applying them to problems (Or at least, we tried doing this).

Of course, this is all assuming that you want to learn programming to help program your robot. But if that’s not the case, I would definitely suggest going after Java (or Python) using the online tutorials. If you just want to mess around, go after Java (it’s simpler, nicely documented, etc.). If you want to do algorithms development or data analysis, Python (or if you absolutely want, Scilab/Matlab) (faster, easier to develop in).

If you are interested in learning Object Oriented C++ for FRC and have access to an NXT then team 2704 has a full tutorial, from never having coded before all the way to programming a full robot at FirstPlusPlus.com

The code we do is true C++, not RobotC, and is directly applicable to the FRC robotics.

We can also arrange Skype or Google Hangout lessons if you want those.

Edit: Added a Link to where I put the URL

It would be helpful to provide a link.

The website is at FirstPlusPlus.com, all of the instructions on how to set it up and all of the curriculum is there