How did all you people who are good at programing out there get so good at it? Is there more advanced tutorials? Are there some sort of classes you can take for EasyC to get good at it? I have been programing for a couple months and i know all the sensors mainly and i know basic stuff but i want to know more. Did you just have upperclassmen pass down their knowledge of programing or did you just somehow figure it all out?
Please let me know your thoughts or give me input.
Thanks
My #1 suggestion is to find an adult mentor to help you. A professional is going to be able to help you in a more useful way than a student who writes code. Good luck!
another way is durring competition, get as many of other robots code as you can (on a USB)
and see if a nice team programmer can walk you through his (more advanced than yours i hope)
this way you can see exactly what they did (code wise)
and even if you dont get the specific code, if they commented it, you should be able to figure out the basic use of it
i find that the more interesting parts of a program is always the autonomous
I first learned RobotC to get better at EasyC. Well, that and I kind of studied C with my free time.
A lot of my knowledge came from other programmers though. It never hurts to ask them for your code.
So there are no classes you could take? Or tutorials you can download? I think vex should make a disk with more advanced tutorials so that people could use the program to it’s full potential. If you think about it there are only the sample programs and the 14 tutorials which help sometimes but it would be very nice to fully understand the programing wether your using RobotC or EasyC.
To fully understand the programming language C, is not that hard.
To fully understand a specific program written in C can take a lifetime.
You can learn more programming for robotics by the same method you can get to Carnegie Hall: practice, practice, practice.
just come up with some random “exercises”
such as completely random autonomous paths and use your sensors and keep tweaking (practicing) until you get it right
At first I thought you meant “APL,” but most of you have probably never seen it…
To fully understand a specific program written in APL takes longer than a lifetime. APL is a write-only language. You might as well start over and rewrite it rather than try to understand it.
To expand on the “practice x 3” concept. The way to learn a programming language is to use it to solve problems. Good tutorials can help, but ROI in writing them is low. You may be your own best tutorial writer, since you can pick the tasks that are useful to you, and they are all motivating because they all help.
To help debug your practice sessions, be sure to use lots of print statements and keep the cable plugged in so you can see them on the terminal. That will help you see what branches the code is following, and what the returned values from the sensors are.
I was self-taught ROBOTC for the most part, though ROBOTC does have a lot of pretty useful tutorials, at least for the simple stuff. But since you want to learn about the more advance programming, I was able to ask my mom or dad about it, as they were both big into programming in college. Now many of you might not have those kind of recourses to help you out, but I’m sure you should be able to find someone. But yes I agree easyC probably should have more advanced tutorials, if they don’t. The ones for ROBOTC helped me a lot, and from there I was able to complete my own small “challenges”, as was mentioned earlier.
~Jordan
I personally think that programming is more about the logic used behind it. The syntax is fairly simple to learn. I agree with Murdomeek. Come up with challenges for your robot and try to solve them. Of course getting a book on C programming would be helpful as well.
Syntax in C programming is a pain. All those curly brackets and semi-colons can cause a lot of problems.
To avoid that, eleminate nested “if then else”, if at all possible. Don’t get me wrong… If, then, elses are wonderful, but if you nest them 12 or more deep, it is difficult to keep track of where you are. And document, document, document! Use a lot of comments which should not take memory. Comments are not compiled, linked or downloaded.
Case statements are cool, but again, you have to document carefully with comments.
One of the best ways to learn is take an introductory course. There are tutorials online. But don’t stop there… Get your hands on the code with a known application. Learn what the program is doing. Make small modifications at first until you understand the syntax and logic.
Build your knowledge… It won’t happen overnight, but you would be surprised at what you can learn by studying examples of operational code.
The FUN of it all is in the learning process and getting ‘Hands ON’!
Enjoy!
Ann