|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
Team with beginner programmers?
Alright, now I'm in 8th grade at the moment, and from what I've heard, our high school team isn't really that great. No one has much experience in any programming, so we need to know where to start. Since we are in 8th grade, we need to know where to get the program that works with the robot, for some practice. We were going to try to use C, so if you could recommend a guide or tutorial or something to get us started, that would be great.(We all have no experience with any languages AT ALL, and have no clue where to start.)
So, if you could point us in the right direction, it's highly appreciated. Thanks!!! |
|
#2
|
||||
|
||||
|
Re: Team with beginner programmers?
We use windriver workbench for our c code, it is a little confusing and hard to talk about through text, it is something best done on video tutorials, so you might search youtube for windriver frc tutorials. Simbotics 1114 has an app for iPhone called simphone and it has many tutorials in it i know there is some programming, but I'm not sure how much or in what language. contact your team to see if you can get the windriver DVDs so you can mess around with it. I probably didn't help that much, but this is what i know.
|
|
#3
|
|||
|
|||
|
Re: Team with beginner programmers?
You don't mention why you chose to program in C. You have plenty time to learn al the languages, so unless you have a good mentor or teacher, I'd suggest either LabVIEW or Java as your first FIRST language. They are much much more forgiving of mistakes, and have somewhat simpler syntax and concepts.
If you have access to the previous kit memory sticks and SW, you can get started. There are video tutorials on Ni.com/first and on frcmastery.com. Greg McKaskle |
|
#4
|
||||
|
||||
|
Re: Team with beginner programmers?
Quote:
From personal experience:
Other links that might be of interest:
Notes:
There are literally hundreds if not thousands of years of combined professional programming experience on here, and most of us are constantly on the lookout for young, new programmers trying to get started. You're already off to a great start simply by asking! Once again, welcome to FIRST and FRC!! |
|
#5
|
|||||
|
|||||
|
Re: Team with beginner programmers?
Well Fletch1373 did a good job of laying out the basics of each language. I would definitely find out what your fellow students and mentors know because if someone already has experience in a language then that is a major pro.
Personally, my team goes with LabVIEW for a variety of reasons - (Fletch covered this but I will repeat in my own words) Some languages are easy to learn but hard to master and some are hard to learn but relatively easy to master. LabVIEW is pretty easy to learn within the FRC environment. The framework provides a lot and the examples are useful. I've had to give quick LabVIEW lessons to a lot of rookie teams and its easy for me to show them how to, for example add a motor, include a solenoid, etc. The graphical element also helps out because sometimes that makes more sense and is easier to visualize. The controls system hardware is produced by NI. That means that if we have any kind of issue we have one place we can go to for all our questions (I believe Mr. McKaskle will agree that we ask plenty of questions..) If we have a problem, its NIs hardware and software, so they can help us from all angles and can debug issues faster. More teams in our area use LabVIEW. If we need help, there are more people we can turn to. Conversely, we can help more rookie in our area. It helps to have a local community. If you are interested in LabVIEW I agree FRC Mastery is a great place to start. I learned LabVIEW by spending a week of my summer a few years back watching two or three a day while working through examples. (That's right, I know how to spend my summer vacation in style..) Last edited by rachelholladay : 09-07-2012 at 23:43. |
|
#6
|
||||
|
||||
|
Re: Team with beginner programmers?
Welcome to FIRST!
Like before, unless you have a good C++ Mentor on the team, I don't recommend it. Our team uses Java (although our mentor actually knows C++ instead) due to the simplicity and forgiving nature of the language. I am currently teaching other students on my Team Java (many of which have never used any Programming Language) and they are picking it up rather well. I attached a PDF that is from my Java Course. Its all links and Resources for learning Java. Good Luck to you. |
|
#7
|
|||
|
|||
|
Re: Team with beginner programmers?
Thank you all this information is very helpful.
I was going to either use C or Java because once I learn these I can pursue other interests outside of FRC. I chose C over Java because more programs are written in C compared to Java.(http://www.tiobe.com/index.php/conte...pci/index.html) But, since most of you guys and people I have talked to say they use Java because it is easier, I might just go with that. Can anyone show me where to start programming in Java? Either in general or FRC based. This is my first language ever so I have no clue what an IDE is or anything like that. Sorry for the overwhelming response, but I don't have a clue what I'm talking about. Thanks! |
|
#8
|
||||
|
||||
|
Re: Team with beginner programmers?
Check out Team 2851 summer school challenge on google docs.
https://docs.google.com/folder/d/0Bz...W vzBiWCDa6X0 They have opened it up to other teams. Looks like a good place to start with learning java for FIRST. Secondly, I also would suggest Java. Last year we reviewed all of the options and decided to go with java. The major reason we did this, was there was not any programming class offered at the high school, so the kids did not have any access to programmer teachers. 2nd, there was an online class offered through the High school virtual school, you may also have this option to get high school credit for learning java, along with a structured class. 3rd, there was also API test where you could test and receive collage credit for the java. 4th Java is used everywhere, and once you learn it, you will probably use it for the rest of your life. That all being said, this year we had a mentor join the team that works for NI, so we stuck with Labview. The examples in labview for FRC are done very well. I would still use Labview as a learning tool for sensors and "seeing" how they work and what the data represents. If I were in your shoes, I would learn and use java. |
|
#9
|
|||
|
|||
|
Re: Team with beginner programmers?
We use Java, and it works fine for basic and advanced topics.
We get our new programmers on our team started with the attached documents. The first one gets you started, and the second one talks about many of the important classes. If you ever want to find more about a WPIlibJ class (while using netbeans, not sure about eclipse), just right-click and click "go to source" to see the base code. This is useful for developing your own classes to suit your needs. If you want to use Eclipse (as opposed to Netbeans), go here. Be advised, that since the platform FRC uses is based off of either jdk 1.3 or 1.4, there are several advanced features that you can't use. But shouldn't be a problem at all. Welcome to FRC! |
|
#10
|
|||
|
|||
|
Re: Team with beginner programmers?
Quote:
Java will teach you how to be a good C++ programmer. The languages are so similar that it is often hard to tell the differences, but one of the main differences is that Java tends to force you into good habits, while C gives you a more free reign. This can be good and bad. For a beginner, building good habits will make everything afterwards magnitudes easier. For an expert, the limitations will slow you down. Another thing you could experiment with is Python. It is quite an exercise to use it on an FRC robot, but it is one of my favourite languages. Which brings me to my last few words of advise; learn all the languages you can! Learn you a Haskell for great good or something! Make something in Perl! |
|
#11
|
||||
|
||||
|
Re: Team with beginner programmers?
I would say to steer clear of C if you have never used it before. It took me several years to get into objective C (apple forever!), and it is not a forgiving language to beginners. If you can get a hold of someone who knows pure C, then yeah, learn it, it is used for a lot of stuff, but in truth you can write 'real world' programs in anything you want!
That being said, I don't like java. I don't like it mainly because in the normal computer world (not sure about FPGA's) it is interpreted. I also don't like it because I think it is way more complex than is necessary for using FRC (yes, I know it is quite simple usage, but still, this is not what Java was really set up for, and so it has some quirks). I personally would say use LabView. I have used it for 4 years of FRC plus a years worth of side projects. I find that it is great for the setting of FRC because it is so integrated with the template files. It is a great implementation of the WPIlib, and I find imaq to be hard to beat. I also use LabVIEW for real world programs, because I can get my program built faster in it than in another language. Plus, if you are absolutely bent on it, you can call traditional code from within LabVIEW. An important note though, LabVIEW is unlike any traditional language you may have dealt with. In that, where text based languages execute code linearly, LabVIEW executes whenever the required inputs to a function are available. It takes some getting used to, but I find it to be a much better way of doing signal processing. |
|
#12
|
||||
|
||||
|
Re: Team with beginner programmers?
Hi! I'm glad you're joining a FIRST team and are trying to learn stuff over the summer!
Personally I hate LabView and would NOT recommend a beginner to use it. It can be very confusing and the logic behind it is much more complicated to understand than that of C++ and Java. We used Java on my old team (I moved this summer so I have to switch teams) and I loved it. The language is nice and it's very organized. Plus there's a ton of help for it and FIRST makes it really simple to code basic robot functions. Hope this helps! |
|
#13
|
||||
|
||||
|
Re: Team with beginner programmers?
Oh, I guess that we should point out that since you are in 8th grade moving into high school, you can take an AP test and get college credit if you know Java. That being said, I still say that LabVIEW is better if you want to do vision. Additionally, it is comparably just as easy as any other text based langauge. LabVIEW however, is a dataflow language, whereas the other two are structural, making LabVIEW require a different mindset.
Welcome to FIRST, and good luck! |
|
#14
|
|||||
|
|||||
|
Re: Team with beginner programmers?
Do you have anything to practice on? Mindstorm, VEX, FTC? I think learning to program a physical robot is easier because it becomes much easier to debug and you can see the results.
If you have a LEGO Mindstorm laying around, you can learn RobotC for that, Carnage Mellon has developed some very nice lessons for that, and you can read and watch the first bits of them online for free. Same for the Cortex. Wetzel |
|
#15
|
||||
|
||||
|
Re: Team with beginner programmers?
Quote:
If you need help, I definitely can help but I am going to Embry Riddle in August and I am not sure if you attend the Florida Regional in UCF. I will help any way I can! |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|