What’s the best way for a total noob to learn RobotC?
“Total noob,” as in no programming experience of any sort ever? I would ignore the robot itself and RobotC itself to start. First spend a little time learning C or C++ in general. You want to have an understanding of if-then, while, etc.; know about things like int v. boolean; and be familiar with syntax like when to use use {} vs () vs ]. I would start with any online C/C++ tutorial. Once you’ve got the basics, you’ll pick up RobotC much more quickly.
Since RobotC is simpler than C and C++, I would suggest sticking with RobotC. The people that put out RobotC also have software called Robot Virtual Worlds, which can give you some simulated robots and environments to play in. The Virtual World thing isn’t perfect, but it’s great for beginners, in my opinion, because you can experiment with things without worrying about breaking an actual robot. You can get the virtual worlds on a free trial basis for about 10 days, if I’m not mistaken. There are a number of worlds, including this year’s Vex game.
Do it
I tend to agree with @callen , you will learn quite a bit more from learning C/C++ first. RobotC (or many other languages for that matter) will be very easy to pick up after. In addition, RobotC sometimes encourages bad practice for first time programmers (just due to its intentional simplicity) which is something I’d avoid because it will limit your growth as a programmer as a whole, not just a VEX programmer.
Let me be clear though, RobotC is great once you’ve learned the basics. I just see a lot of new programmers who just learn RobotC do some sorta iffy things.
I agree completely. Don’t learn something more complicated just as a stepping stone. Follow the video trainer and look at the hundred sample programs that come with ROBOTC.
I should clarify. I wasn’t say you should try to become any sort of expert at C/C++. It’s just that there are far more beginning training things for C/C++. That means it will be easier to find one that is done in a way you can understand it most readily. The beginning ones will just take you through basic structures, loops, etc. You need to know those to work in RobotC. Once you have these few basics, focus on RobotC specifically. That way when you see us saying remotes control stuff should usually be enclosed in
while(true) {
}
you know what it means and why I did things like placing () v. {} in different spots.
I learned robotc with no programming experience by watching this link text series of videos and coding the whole thing along with the series.
The first thing I’d try to do is learning via cs2n.org and creating an account. Once you’ve created an account, the group you need to search for is “ROBOTC for VEX Team Members 2013-2014” This group is fairly old and there isn’t notification messages, but it is a really good learning tool. Note: CS2N may be hard to find the places to go, but eventually you’ll find it. When you’ve completed doing cs2n and you need help on something else, I prefer using google search and adding “site:robotc.net” after your search to find information on how to program as well as examples on specific sensors and motors.
Click my signature picture and bear through the bad pronunciations. You might find something there useful.
I second @shawman94588 's suggestion to use the video trainer from the Carnegie Mellon website. We are switching from easyC to RobotC this year, and I just went through the entire curriculum and it’s a great introduction, including: how to create, compile, & download; using the debugger window; how to set up motors & sensors; using the competition switch & programming hardware kit; and many more. I highly recommend anyone learning RobotC to start here.
@biglesliep, how would you describe moving from Robot C to Easy C? Which do you prefer and why did you make the change?
Check out her team webpage. . If you go to the coach’s corner, she chronicles her change from Easy C to RobotC. I think your questions will be answered after reading her blog.
I am on the side of learning C/C++ before RobotC, at least if you plan to pursue programming after VEX. However, i learned on TI Basic first, so there is no one right way.
Ya TI basic is probably my first programming language.
@STEM_Lady - Hey there - I’m back from vacation. I’ve done 3 posts so far about moving from easyC to RobotC:
And thanks @Gear Geeks for the assist!
I am not sure if you all are aware but MATLAB and Simulink (Industry standard software) is also available for VEX VRC and VEXU teams to programs their robots. Here are some tutorial videos that can help with getting started:
www.mathworks.com/vex-robotics
- No prior programming experience required
- Use simple drag and drop graphical interface to designing complex PID controllers and state machines
- Use simulation features to test your program without the physical robot
- Supported on both Windows and Mac OS
And yes, MATLAB and Simulink is available for free for all teams in the competition!
MathWorks (makers of MATLAB and Simulink) is a VEX Worlds Sponsor.
Contact us: [email protected]
I came into robotc with nearly no programming experience and watched most of martin ma’s videos and they helped a ton so I would recommend that.