![]() |
should there be a award for programming skill?
In the 4 years I was in first, I never appreciated the work the programmers did.
But now that I am a computer science major and taking intro to java, I now understand that there is both some skill to it and that there is an unwritten code of conduct to it. So my question is... should FIRST have teams submit a printed copy of their initial code to be judged (the code they shipped the robot with). The criteria for this award would be style: did they use comments, did the separate functions with spaces, did they name their variables in a way that describes their function well. overall, is it easy for another programmer to tell what the various parts of the code does, and be able to easily fix any prolems in the code.Function: This category basicly covers what the code does. does it work, does it work well, are there any errors such as overflow and underflow, ect.Creativity: this would basicly be brownie points for thinking outside of the box. did you find a unique solution to the problem, ect. The purpose of this award would be to prepare the students for their future. most college professors (including mine) leave a quarter of your program's grade for the style category. The style category also encourages programmers to gain habits that make debugging MUCH easier. Overall, this award would help prepare the future programmers for what the world expects. And in my opinion FIRST is the best organization to start doing this. So if you think that FIRST should include this award in future years. Vote yes in the poll. |
Re: should there be a award for programming skill?
They already have one. Rockwell Automation Innovation in Control Award. It covers at least the last two parts. OK, so you could add a code section--but there are at least 2 available languages, and each has at least 2-3 different methods of doing the same thing, and every programmer (or programming team) is going to have a slightly different style of doing it. I wouldn't want to judge that one. The FLL one is hard enough! (One language, maybe 2, and there aren't a whole lot of possible variations.)
|
Re: should there be a award for programming skill?
Quote:
But I still hold my ground in that many students in FIRST are more focused on finshing their code than the ethics that goes along with it. And while I was on 624, I saw the same situation happen over and over again: there would be a logic error in the code or even a runtime error, and it would take an hour or more to find the error. My point was that we need a way to encourage students to write their code in a way that makes it easier for them to debug and prepares them for college and their career. and while an award may or may not be the best way, the need is still there. |
Re: should there be a award for programming skill?
Quote:
Hmm, even before the events, too, maybe. There are competitions that have this sort of thing on a regular basis, though maybe not in programming. |
Re: should there be a award for programming skill?
Quote:
|
Re: should there be a award for programming skill?
Programming is a means, not an end. I believe official program awards should be given to recognize accomplishments rather than "skill".
How to judge programming skill is a difficult issue in any case. It's both easier and more appropriate to judge programming results. |
Re: should there be a award for programming skill?
Quote:
I was my team's head programmer for the last two years, having learned how to code in EasyC on my own. When crunched for time, and only focused on results, I would drop convention, commenting, and proper style. I was just focused on making the robot work. I didn't care how proper my code was. I believe njamietech's point is that this occurs too much, and that an award for good practices and style would make us programmers more focused on good technique and style. That said, implementation of any type of programming award would be very difficult. |
Re: should there be a award for programming skill?
Quote:
In c, which would you award points for: putting curly braces on the same line as the if statement, or putting them in the same column? Do you penalize a test for equality to one because it's redundant, or do you reward it because it's clearly readable? Do you want to promote block comments or line comments? What do you think of Hungarian Notation? How would you grade Duff's Device? I just don't think it's a good idea to try to judge style. I don't think it's possible to do so unless there's a single person doing the judging, and I think there is too much subjectivity about what makes style "good" to make it a positive experience for those involved. |
Re: should there be a award for programming skill?
Quote:
Fabrication is also a means, not an end ... but: Motorola Quality Award I believe that the OP is correct that there should be an award for programming and it should include things like clean, understandable code with comments, error trapping and standardized variable naming. It should show creative usage of the languages available and accomplish the tasks at hand without superflous (is that a word?) code. However, I believe that the code should not be the 'code that the robot shopped with' but instead should be pulled from the RC prior to a (random) match on the Friday of an event. This would show working code in it's normal state as it is used on the robot (not some cleaned up version that we have no idea of functionality). Just my $.02 |
Re: should there be a award for programming skill?
I think that there are little to none awards for programming. It's about time that the programmers get their share of the victory.
Why shouldn't we honor a great programming team? I don't know why? |
Re: should there be a award for programming skill?
Quote:
take for example my professor's take on what "good" style is: Quote:
while some of the requirements above are not applicable to FIRST, I think they get the point across. the applicable requirements above are really all we need to judge on. my teacher does not care whether we put our brackets in line-end style or next line style and most of the other criteria we could come up with can be solved just by following these simple ones. the only other applicable thing we do that I did not include in the quote is that we have to put an algorithm in quotes in our code. (an algorithm is a psuedocode or flowchart that describes the codes process and function). besides that, we don't need to make the criteria complex. all we need to judge on is the main style errors that cause the most problems (variable names, indentation, spacing, comments). P.S. If you want to see the rest of the sheet, just let me know. but overall, we do not necessarily have to make it an award. There just has to be a successfull and appealling reason for the programmers to want to practice good style. |
Re: should there be a award for programming skill?
Quote:
The General Motors Industrial Design Award is not based on the technique or skill of the people doing the design. It's based on the "form and function" of the finished product. The Motorola Quality Award is not based on the technique or skill of the people building the parts. It's based on the "robustness" of the finished product. As EricH pointed out, the existing Rockwell Automation Innovation in Control Award seems a perfect answer for someone asking about a way to reward the programming. |
Re: should there be a award for programming skill?
Quote:
We already have asked our judges to do an awful lot in a short amount of time. For some reason many individuals seem to think that we need specific awards.... If this is true how about Best Driver.... Best use of fastners... Best Drive train design... etc etc etc etc...where does it end In the real world you don't get awards for how pretty your machine is... or how how robust it is...or how nice the programming looks... You get the job because your machine does the job it was tasked to do, reliably, efficiently and for the cheapest cost to the buyer. The company wins.... because of the sum of the parts... and as a team.. No disrespect to the coders/programmers here... they do a terrific job... |
Re: should there be a award for programming skill?
Judging the pure layout of code is highly subjective, and will probably would never be judged in a consistent manner. There are definitely bad ways of programming, but there are also several good ways too. But in the end it all depends how well the code executes on the field.
One award that I always wish FIRST would consider would be a potential innovation award. Several teams including mine would try some bold and innovative that would have given them a clear advantage in the field. However for one reason or another it didn't work because of a limitation beyond their control (mechanical, processing power, # of i/o, etc). Often this could be a unique sensor, or a better way to navigate through autonomous. If the team can successfully explain what the feature was, and what constraints they need to resolve it, then they should be rewarded for their hard work. The short time in the build season often doesn't permit for much Test and Evaluation (T&E).Many times, some crazy and innovative programming ideas get dropped for more conventional ideas. |
Re: should there be a award for programming skill?
Quote:
|
Re: should there be a award for programming skill?
Quote:
|
Re: should there be a award for programming skill?
I'm just glad there's a rockwell automation award... it's been a goal of mine to win it since I joined FIRST (see link at end of signature)!
-q |
Re: should there be a award for programming skill?
I think it should be based on how complex it is. The more difficult it is to understand the code, then the more complex it is. :p
|
Re: should there be a award for programming skill?
An award for spaghetti code? I think not.
|
Re: should there be a award for programming skill?
Hhmmm...lots of people seem to be saying, "Please, young programming students, grow up to be really lousy programmers."
I don't personally care if there's a programming-focused award or not, but let's keep our eye on the ball here: trying to encourage good engineers. Some folks seem to be unaware that there is a field called Software Engineering, to which the general engineering principles still apply. For example, I think we can all agree that there is a huge difference in the design/skill/quality of A) a convoluted system of dozens of pulleys and counterweights (many of which are unnecessary) and cables, vs. B) a clean and simple pneumatic system. Both might accomplish the same "function" or "results" (perhaps a lift of some kind), but there are clear differences in simplicity, in cost, in maintainability, extensibility, and several other "ilities" -- which are a staple of engineering evaluation criteria. So it is with code. In industry terms, software maintenance and support costs typically rival software design and development costs. It is almost an industry standard notion that code which only "works" is not sufficient, it must also strive to be flexible, reusable, understandable, maintainable, and so on -- all in balance with time and cost of course. As a software team lead, I would never, ever, ever hire someone who didn't understand this concept. So regardless of the feasibility of an award, please don't mis-inform students into thinking that nothing matters except the end results, or if you do, make sure you plan to hire them, because no one else will. |
Re: should there be a award for programming skill?
Quote:
|
Re: should there be a award for programming skill?
Quote:
As for the award... I don't think there should be one, the reason is that a lot of teams have software engineers that do a lot of their programming for them and there would be no way to actually prove the code is student written. Also what about the teams who use easy c, that pretty much makes the layout for you and there isn't much actual coding which, in my opinion, would take away from the spirit of the award[any award for that matter]. |
Re: should there be a award for programming skill?
I'm going to disagree with both msd and Adam Y.
msd, we are NOT saying that! However, we ARE saying that having an award for clean coding/good coding practice is not the best way to do this. I suggested, and will repeat the suggestion here, that veteran programmers be available to look over any code a team wants them to look over and offer suggestions. That's a better way, though it may not be the best way. Adam, it's quite possible to teach the right way quickly. The problem is that you need to keep the students doing it during crunch time. |
Re: should there be a award for programming skill?
The issue with the award, how on earth would it be scored? Maybe a team has really really slick and efficient controls algorithm and another has a crazy autonomous, who wins? Or would it be done based on efficiency? Time efficiency? Space Efficiency? Grading code is impossible, what makes sense for one programmer may not for another.
Just my .02 |
Re: should there be a award for programming skill?
Teams aren't required to print out dimensioned drawings to win mechanical awards. This should hold the same when it comes to software.
Award selection should be up to the results the system produces on the field and the ability of the team to market their design. If they choose to show how well they structured their code to judges, all the better for them. |
Re: should there be a award for programming skill?
Quote:
I wrote a really awesome script exec front end to our autonomous program in 2006 (RALFF v1.0), and at the time I was really miffed about not getting an award for the work, since it didn't really do anything, in practice, super spectacular. Now, part of this was mechanical, part of it software, but none the less, it didn't deliver the goods. Later, in the 2008 Overdrive competition, I started over and wrote RALFF v2.0. It wasn't as pretty as RALFF v1.0 on the screen... but, well, ...case in point. And it's the real life results in the hands of customers that companies pay you for, not the pixel art on your PC. -q |
Re: should there be a award for programming skill?
If we have an award for good programming, shouldn't there be an award for good welding? I'll agree with the majority of experienced FIRSTers here in having sufficient confidence in the competency of the judges to recognize outstanding programming within the existing framework of awards. One thing that I really like about many of the design awards is the "demonstrated on the playing field", and "provides an advantage" type phrases.
On the other hand... if someone (say a big software corporation) came up with a substantial contribution to FIRST and suggested that they would be more than pleased to sponsor an award for programming, I suspect it might be possible to define appropriate criteria for a programming award.... or a welding award. Gee... a welding award would be great... our students have rocked at TIG the past couple years! :) Jason |
Re: should there be a award for programming skill?
At first I thought it was a good idea.
But after reading this thread, some good points were brought up on why such an award is already representative in the innovation in control award. However, it still takes hardware creativity to receive that award. Tough call. |
Re: should there be a award for programming skill?
Quote:
Quote:
Quote:
So please, again, tell me what award is programming specific? |
Re: should there be a award for programming skill?
Quote:
And the hardware needs code to work right. Sure, it's good for producing smoke, or baffling the freshmen, or giving practice in some electronics stuff, without it, but I'm sure that that isn't what teams want. So the hardware is integral to the software's success. Innovation in Control is therefore rewarding both parts; the hardware that allows the code to work right and the software (code) that makes sure the hardware does what it is supposed to. As such, it is not pure programming; nor is it pure hardware. It celebrates the mixture of the two. |
Re: should there be a award for programming skill?
Quote:
Explicitly rewarding programming skill seems to be along the same lines as explicitly rewarding machining skill or drafting skill or welding skill or crimping skill or drilling skill. While each is important in its own way, none is especially relevant to the "big picture" goals of FIRST, and none really deserve special recognition on a program level. That said, if you want to lobby Larry and Sergey to create a "Google Good Programming Practice Award", I don't think anyone will try to stop you. I wouldn't be upset if it came into existence, and I'd even take such an award into account when mentoring the students in our team's software group. (But I wouldn't be surprised to find the same teams winning it year after year due to a combination of professional programming mentors and long-established team software infrastructure.) |
Re: should there be a award for programming skill?
I'm not a programmer. In fact, I hate programming. It is tedious, time-consuming, and overall a pain. But that is why those that put up with it should have an award. On that note, why not have an award over the rules. Have an extensive test and the highest score wins. This would promote knowledge of the rules. Just saying, that yes there should be an award. But there are so many awards, somebody must coordinate them. There will be one one of these days.
|
Re: should there be a award for programming skill?
Quote:
Quote:
Quote:
wow that got long fast.... |
Re: should there be a award for programming skill?
Quote:
|
Re: should there be a award for programming skill?
Quote:
The hardest part, either way, is getting the students to retain the knowledge and use it at the right time. It doesn't matter which field you're in. |
Re: should there be a award for programming skill?
Quote:
While there is nothing inherently evil about a programming award, just as there is nothing inherently evil about a welding award... or even a polishing award... I would prefer to see awards that require more of an overall team effort. Jason |
Re: should there be a award for programming skill?
Quote:
Quote:
|
Re: should there be a award for programming skill?
Quote:
Quote:
|
Re: should there be a award for programming skill?
Quote:
I am a just out of high school and into college student. I have been in first for 3 years going on 4. When I was in a FIRST team, I was able to perform mathematics at all levels required to do any programming and engineering tasks needed for any situation. My backgrounds in mathematics, physics, and engineering are at the high school level with AP Calculus, AP Physics, and Drafting as well as other engineering classes. I believe that high school students can perform this kind of mathematics and convey it clearly. I was also able to convey all that I needed to say about situations without extra effort. Many of the control theories can be performed without needed in the differential equations. I find it hard to understand that this is supposedly impossible for high school students to do this properly when in FIRST the students are the ones who design and create these systems. Which that proves my point of students having enough background in mathematics to produce profession quality by utilizing out of the box methods of interface with newer technology such as Wii-motes, glove interfaces and popular controllers like the Xbox 360 controllers. |
Re: should there be a award for programming skill?
Quote:
|
Re: should there be a award for programming skill?
Quote:
Your basic assumption that everyone has the same resources you did is not correct, some of the teams out there scrape by for everything and some of the educational systems, particularly in inner city schools need FRC because otherwise those students would have NO exposure to any engineering education. |
Re: should there be a award for programming skill?
Quote:
|
Re: should there be a award for programming skill?
Quote:
~Phil |
Re: should there be a award for programming skill?
Quote:
|
Re: should there be a award for programming skill?
Quote:
My point is, you can't take your high school experience and set that as being the standard clear across the country. I can confidently say that all of our teams members come in missing some piece of vital knowledge needed in the field of engineering or programming, but they leave with the knowledge they lacked, and then some. To me, that is the main goal of FIRST, to get students interested in these fields, give them the knowledge they need to be successful in them, and give them real life experience in complex problem solving. Now, as to the topic of this discussion. The only way I would be able to agree to such an award is if there were some grading system that takes into consideration that programming is a dynamic field. That is, there is NO 1 way to do 1 thing. Shoot, there are more ways to figure out one problem than people that know how to figure them out. I think that the awards should stay focused on the end result, that is, how well is the code making the robot do what it is supposed instead of how well is the code supposed to make the robot do what it is supposed to do. |
Re: should there be a award for programming skill?
I haven't been on delphi in a long time. In regards to the question my answer is no. If anything it would have to be a completely different task because it is easy to take credit for someone else's work so i think they should have like a programming competition at the regional if anything.
|
Re: should there be a award for programming skill?
Quote:
Labview |
Re: should there be a award for programming skill?
Quote:
That being said, that is why we have mentors and the CD community, I can't think of a single mentor on CD who wouldn't spend just as much time helping a student out on here as they would on their team. Also, the internet is full of resources to be utilized, I am in no way condoning taking other people's code unless it is open source. And even then I would still cite where you got it from. I still don't feel that a programming award, or for that matter the controls award, should exist. Yes, as a programmer I sometimes feel my contribution doesn't matter at all (2007 auton was a JOKE but thats another matter) We are often the last people to get a hold of the machine and are told that we have less than 30 minutes until we have to demo the robot to all our sponsors and we have to have write all the control code including soft stops. Yeah we get the short end of the stick but I know that if I write clean, efficient code that every success that robot has is my success, because everything that machine does comes from my fingers. So, in a sense every award has a programming aspect to it already, we don't need anymore. |
| All times are GMT -5. The time now is 03:49. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi