Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   General Forum (http://www.chiefdelphi.com/forums/forumdisplay.php?f=16)
-   -   should there be a award for programming skill? (http://www.chiefdelphi.com/forums/showthread.php?t=69147)

njamietech 12-09-2008 12:53

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.

EricH 12-09-2008 12:57

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.)

njamietech 12-09-2008 13:07

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by EricH
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.)

Ok so I see your point, there might be a logistics problem.

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.

EricH 12-09-2008 13:12

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by njamietech (Post 765128)
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.

How about having a professional programmer look over each team's code? One programmer could foreseeably look at several teams in one area. So you get a dozen or so at each event, they look over the code and make suggestions. One restriction, though: Can't look over your own team's code, if you're on a team. Offer constructive criticism to help the team out. If he says, "I can't make heads or tails of this", then you know you don't have enough comments, descriptive variable names, whitespace, etc.

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.

njamietech 12-09-2008 13:22

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by EricH (Post 765129)
How about having a professional programmer look over each team's code? One programmer could foreseeably look at several teams in one area. So you get a dozen or so at each event, they look over the code and make suggestions. One restriction, though: Can't look over your own team's code, if you're on a team. Offer constructive criticism to help the team out. If he says, "I can't make heads or tails of this", then you know you don't have enough comments, descriptive variable names, whitespace, etc.

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.

I actually really like that Idea.

Alan Anderson 12-09-2008 13:35

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.

Branden Ghena 12-09-2008 13:54

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by Alan Anderson (Post 765136)
It's both easier and more appropriate to judge programming results.

While I agree that it is definitely easier to judge programming results, I believe that that isn't the point.

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.

Alan Anderson 12-09-2008 14:25

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by tawnos23 (Post 765143)
...an award for good practices and style would make us programmers more focused on good technique and style.

Then who decides what "good style" is? How do you determine "good technique" from a finished program?

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.

Daniel_LaFleur 12-09-2008 14:30

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by Alan Anderson (Post 765136)
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.

Design is also a means, not an end ... but: General Motors Industrial Design Award

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

ttldomination 12-09-2008 14:49

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?

njamietech 12-09-2008 15:52

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by Alan Anderson (Post 765144)
Then who decides what "good style" is? How do you determine "good technique" from a finished program?

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.

we don't necessarily have to make it an award or judge it. We just have to find a successfull way to make good style appealling. the way we do that is where we need to think.

take for example my professor's take on what "good" style is:

Quote:

Originally Posted by Dr. Dunn
From program assignement requirements:
"these items (2 & 3) should be included in your program (as comments).
2) the programmer name, class, date developed and date complete. also, include coding comments, properly indent the code, and have all procedures (functions/methods) separated from other procedures (functions methods) by at least one blank line (internal documentation/style). --> 20%

3) A statement of the problem description. this may include additional information for problem clarification. the expected inputs. to the problem. the statements concerning the pysical souce of the data and examples should be included here. the expected outputs or result of theproblem solution which should include example outputs based on example inputs but should be explicitly noted as test data --> 30 %

The rest of the sheet just refers to the report we have to make

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.

Alan Anderson 12-09-2008 15:56

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by Daniel_LaFleur (Post 765148)
Design is also a means, not an end ... but: General Motors Industrial Design Award

Fabrication is also a means, not an end ... but: Motorola Quality Award

What do you mean, "but"? You're giving examples that support my point rather than oppose it.

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.

Bob Steele 12-09-2008 18:31

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by Alan Anderson (Post 765167)
What do you mean, "but"? You're giving examples that support my point rather than oppose it.

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.

And the Rockwell Automation Innovation in Control Award is based on how well the robot is controlled.... the result of not just programming but the judicious and elegant use of sensors and feedback...

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.

I agree with Alan on this... the awards we have can honor the work of the programmers through an existing award....

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...

Kyle Fenton 12-09-2008 20:00

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.

Alan Anderson 12-09-2008 23:19

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by Kyle Fenton (Post 765191)
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 Judge's Award is one of the few that explicitly mention rewarding effort rather than focusing on results. It would seem to be well suited for the kind of situation you describe.

EricH 12-09-2008 23:22

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by Alan Anderson (Post 765225)
The Judge's Award is one of the few that explicitly mention rewarding effort rather than focusing on results. It would seem to be well suited for the kind of situation you describe.

And it can be awarded for almost anything the judges like. So if you sell your good programming, you could get it.

Qbranch 13-09-2008 02:17

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

AmoryG 13-09-2008 15:33

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

GaryVoshol 13-09-2008 19:15

Re: should there be a award for programming skill?
 
An award for spaghetti code? I think not.

msd 14-09-2008 15:41

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.

Adam Y. 14-09-2008 16:04

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by msd (Post 765461)
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.

This is FIRST not college. The end results matter more because there is no way you are going to teach the intermediary steps for them to do it the right way.

cdennisxlx2 14-09-2008 17:18

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by Adam Y. (Post 765463)
This is FIRST not college. The end results matter more because there is no way you are going to teach the intermediary steps for them to do it the right way.

i disagree, i have done extensive teaching for programming and web design to a team for 3 years and there is plenty of time to teach the correct succession of steps. As to the comment about being FIRST not college, FIRST is a pre-engineering program, a lot of the students who go through FIRST become engineers. So why not send them off with the correct information and knowledge? I have had ex students contact me and tell me how much my instruction has helped them in their current field.

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].

EricH 14-09-2008 17:53

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.

Andrew Schreiber 14-09-2008 20:15

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

Tom Bottiglieri 14-09-2008 20:54

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.

Qbranch 14-09-2008 23:59

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by Tom Bottiglieri (Post 765495)
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.

I agree. Signature on the dotted line.

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

dtengineering 15-09-2008 01:22

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

waialua359 15-09-2008 02:32

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.

Daniel_LaFleur 15-09-2008 08:44

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by Alan Anderson (Post 765167)
What do you mean, "but"? You're giving examples that support my point rather than oppose it.

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.

You could have the best designed robot in the world ... but without the programming it would be just a great paperweight ... and would never win this award. Yet there is no 'award' specifically for programming.
Quote:

Originally Posted by Alan Anderson (Post 765167)
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.

Again ... You could have the most robust robot out there ... but without the programming, no one would ever know or care.
Quote:

Originally Posted by Alan Anderson (Post 765167)
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.

The innovation in controls award is not programming specific. Many teams have won it for their hardware controls and things like heads-up displays, specialized interfaces (like a representational arm) and integration with sensors for field position controls. And while all of these include a programming aspect, the award is not programming specific.

So please, again, tell me what award is programming specific?

EricH 15-09-2008 10:26

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by Daniel_LaFleur (Post 765552)
The innovation in controls award is not programming specific. Many teams have won it for their hardware controls and things like heads-up displays, specialized interfaces (like a representational arm) and integration with sensors for field position controls. And while all of these include a programming aspect, the award is not programming specific.

So please, again, tell me what award is programming specific?

Without the hardware, the code is useless. Tell me, programmers, could you do as well if you didn't have the pots, input devices, encoders, ultrasonics, HUDs, and other cool gadgets and only had timers? I doubt it! How many teams have had a seeming code failure, only to discover a bad [insert sensor here]?

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.

Alan Anderson 15-09-2008 11:04

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by Daniel_LaFleur (Post 765552)
So please, again, tell me what award is programming specific?

My point is, and always has been, that a "programming specific" award is neither necessary nor obviously desireable. I do agree that programming discipline is important. I still don't see that as a reason to give it special attention in the manner of the other robot-centric awards.

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.)

Molten 15-09-2008 11:31

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.

cdennisxlx2 15-09-2008 15:33

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by EricH (Post 765567)
Without the hardware, the code is useless. Tell me, programmers, could you do as well if you didn't have the pots, input devices, encoders, ultrasonics, HUDs, and other cool gadgets and only had timers? I doubt it! How many teams have had a seeming code failure, only to discover a bad [insert sensor here]?

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.

I cant tell you how many times me and my students have been rushed on a code, every year our main teacher would complain that the autonomous code wasn't done and every single time we would say do you have a rolling chassis and manipulator done yet? Now we weren't just a software group we also did the electronics/pneumatics/web design/media and were key in the robot design, so anything we did [excluding web design and media] we had to wait for the main hardware to get finished or at least to a point where the chassis/drive train group said that we could start doing our job. Building a robot and making it work is about the unity of hardware and software not just about the individual side therefore there should not be a programming award unless your willing to make a hardware award.

Quote:

Originally Posted by Alan Anderson (Post 765575)
(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.)

i think this is exactly the problem, a lot of teams who don't have professional programming mentors would basically be out of luck, it would be like a team who does nothing in the community due to either lack of help or lack of interest trying to win chairmans. Back when i was a student on my team [wow 4 years ago] it was the teams rookie year, i was the head programmer [i was the only programmer] i had to learn it all my self with no help what so ever. there are teams [including some rookie teams] who have professionals who teach their students and honestly i don't think professional coding should be awarded. If it was then i want professional pneumatics, electronics, and machining awards.

Quote:

Originally Posted by Molten (Post 765578)
But that is why those that put up with it should have an award.

really to me [being a programmer] i wouldn't want an award on my programming as its not just my programming that makes the robot work

wow that got long fast....

Adam Y. 15-09-2008 16:17

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by cdennisxlx2 (Post 765471)
i disagree, i have done extensive teaching for programming and web design to a team for 3 years and there is plenty of time to teach the correct succession of steps. As to the comment about being FIRST not college, FIRST is a pre-engineering program, a lot of the students who go through FIRST become engineers.

Your talking to someone who is on his way to becoming an engineer. The reality is that what you are talking about can't happen easily. The reason why I brought this up is because I see this issue we are talking about as one of areas where you really can't condense it down to something simplistic. I would make a guess that most programmers for FIRST robots are actually employing two distinctly different fields that at one point had nothing to do with each other until computers became cost effective. Those being programing and control theory.

EricH 15-09-2008 16:58

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by Adam Y. (Post 765638)
Your talking to someone who is on his way to becoming an engineer.

A teacher might have more experience in teaching others needed skills. As I recall, Raul's signature here says something to the effect of: "Warning: This reply is only an approximation of what I meant to convey, as engineers cannot possibly use the written work to communicate." Just because you can't do it doesn't mean someone else can't.

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.

dtengineering 15-09-2008 18:47

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by Molten (Post 765578)
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.

Perspective is everything, isn't it? I kind of like programming... it is fun mental exercise. But I don't like polishing aluminum. I find that tedious, time-consuming and overall a pain... but I'd hardly suggest that polishing aluminum worthy of an award on its own as a result! Rather the students who enjoy polishing the robot's shiny bits do it because it is part of an overall effort to make the team and machine the best that they can be.

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

cdennisxlx2 15-09-2008 20:01

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by EricH (Post 765647)
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.

This is defiantly the challenge, whether or not you have 6 weeks or 6 years to instruct them it will only matter in crunch time.

Quote:

Originally Posted by dtengineering (Post 765673)
Perspective is everything, isn't it? I kind of like programming... it is fun mental exercise. But I don't like polishing aluminum. I find that tedious, time-consuming and overall a pain... but I'd hardly suggest that polishing aluminum worthy of an award on its own as a result! Rather the students who enjoy polishing the robot's shiny bits do it because it is part of an overall effort to make the team and machine the best that they can be.

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

i agree, it seems to me the biggest argument here is not about an award. I don't think anyone is going to reject such an award if it was created. Instead whether or not the programming is something that should be singled out in the over all process.

Adam Y. 15-09-2008 20:16

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by EricH (Post 765647)
As I recall, Raul's signature here says something to the effect of: "Warning: This reply is only an approximation of what I meant to convey, as engineers cannot possibly use the written work to communicate." Just because you can't do it doesn't mean someone else can't.

Yeah that isn't the problem. I can convey the facts rather simplistically to the point where anyone can understand what I'm trying to say. The problem is that without a solid background in math more advance than the high school level it becomes a matter of complete and utter confusion. So much so that an electrical engineer came up with the math first and then proceeded to ignore the mathematicians that pointed out that his math had no valid proof. The math involved converts a complex differential equation into an algebra equation. You can do it without the math but then you start going into the realm of never going to happen in a professional environment which is what my original point was.
Quote:

Instead whether or not the programming is something that should be singled out in the over all process.
That is the point. If it weren't for the fact that I've seen things that were programmed correctly but still managed to operate incorrectly invalidates the whole singular aspect programming being the most essential thing. Though I find it really odd that there isn't a single control systems engineer that hasn't peeked in on this discussion. Is there anyone here that does this for a living as opposed to myself who probably wants to be doing this for a living?

drewjones13 16-09-2008 00:37

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by Adam Y. (Post 765698)
Yeah that isn't the problem. I can convey the facts rather simplistically to the point where anyone can understand what I'm trying to say. The problem is that without a solid background in math more advance than the high school level it becomes a matter of complete and utter confusion. So much so that an electrical engineer came up with the math first and then proceeded to ignore the mathematicians that pointed out that his math had no valid proof. The math involved converts a complex differential equation into an algebra equation. You can do it without the math but then you start going into the realm of never going to happen in a professional environment which is what my original point was.

That is the point. If it weren't for the fact that I've seen things that were programmed correctly but still managed to operate incorrectly invalidates the whole singular aspect programming being the most essential thing. Though I find it really odd that there isn't a single control systems engineer that hasn't peeked in on this discussion. Is there anyone here that does this for a living as opposed to myself who probably wants to be doing this for a living?


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.

Tom Bottiglieri 16-09-2008 01:14

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by drewjones13 (Post 765742)
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.

Most of these solutions (I can only speak for the ones I have seen, as I have not seen the guts of every project out there) are either copies or hacks. While I'm sure the students grasped how their (most likely linear) equations operated, the concepts behind them were most likely skimmed over, if used at all. It really takes a college U-Grad level or above mathematics education to develop any kind of sustainable piece of software, especially in a field like control systems that deals with such a great amount of signal processing.

Andrew Schreiber 16-09-2008 10:43

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by drewjones13 (Post 765742)
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.

While you may have had access to all of these resources some schools do not offer AP Calc, Ap Physics, or even drafting. So while it is nice that you had those resources available to you but you assume everyone has those same resources. I would LOVE to be able to trust the school to teach our students how to do most of the stuff, it would allow me to teach them the more important things about efficiency and elegance in code and mechanics. But instead I have to spend most of my time teaching students what a program is and the syntax.

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.

Adam Y. 16-09-2008 16:06

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by drewjones13 (Post 765742)
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.

When I'm referring to a control system I'm not actually referring to the controls. It's one of the engineering doublespeek terms that I've come to hate. I'm referring to the mathematical equation inside the controller that dictates the response of the plant/system/arm/doodad in reference to a desired input and the error.

Phil Mack 16-09-2008 18:23

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by Adam Y. (Post 765838)
engineering doublespeek

In an embedded system, the microprocessor is called the "controller" because it is in fact controlling everything. The joysticks et cetera are more aptly called "human interface devices" because they provide a channel for humans to interact with the system.

~Phil

ComradeNikolai 16-09-2008 18:59

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by Damien1247 (Post 765790)
While you may have had access to all of these resources some schools do not offer AP Calc, Ap Physics, or even drafting. So while it is nice that you had those resources available to you but you assume everyone has those same resources. [cut]

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.

I come from one of the most competitive public schools in my state (one of the only 8 public schools to have an "excellent" rating for its entire existence (and that of the rating system), and one of only 24 for last year), but since we are relatively small (1050 students last year), we have AP English 11, 12, AP AB and BC Calculus, AP Art, and AP Biology; no other AP classes are offered, and the AP Calculus classes are on a track such that you can only take them as a senior. In addition, we have Programming 1 and 2, but they're in C# which doesn't adequately prepare the students for FIRST. It's a shame, really, that we don't have a better program than this for being "competitive," so I'd be sad to see other schools... but I hope we're the exception to the rule.

swaknight 16-09-2008 21:29

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.
I realize that some schools offer all of these classes that you speak of, but thats just it, some do not all. Case in point, my school, for almost 50 years it has been recognized as the best in the city's district, it has turned out many very successful and famous people clear across the board. Keeping all this in mind, the only AP class offered in the school itself is AP Lit. the highest level math class offered this year is Pre-Calc. The only class in relation to engineering is Physics. We have no draft class, no mechanics class, no programming class, no CAD.

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.

arhajder 17-09-2008 16:35

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.

Adam Y. 18-09-2008 11:06

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by swaknight (Post 765880)
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.

But then we start back onto the argument of whether or not the controls award fits into that category. I'm also a little leery of that requirement because it would penalize anyone trying to something elaborate when they don't have the right background. And no AP Calculus does not count as sufficient background unless they really changed what you learned. Take a look at how PID loops actually get implement in real life:
Labview

Andrew Schreiber 18-09-2008 11:56

Re: should there be a award for programming skill?
 
Quote:

Originally Posted by Adam Y. (Post 766063)
But then we start back onto the argument of whether or not the controls award fits into that category. I'm also a little leery of that requirement because it would penalize anyone trying to something elaborate when they don't have the right background. And no AP Calculus does not count as sufficient background unless they really changed what you learned. Take a look at how PID loops actually get implement in real life:
Labview

I have to agree with Adam. Having gone thru Calc 3 at Kettering I still don't feel comfortable doing math behind PID controls. From what the Math Major who helped me write the PID code behind RUSH's 2006/2007 robots told the programmers was that it was a second order differential equation. To me this means a class called Differential Equations is probably necessary. Add into that you need a firm understanding of the motion which means you need a firm understanding of Physics. Honestly, at the end of my Sophomore year in college (its KU its weird) I still don't understand most of that stuff at a level that any competent engineer does.

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