Today I had my first lab for Data Structures I, the same course I am working to test out of and drop. It was brutal. I wanted to beat someone. The assignment was straight-forward. Design a Computer class with three fields, the standard getter/setter methods, and a toString() method basically. The JUnit was new for me, but pretty easy. In a matter of a few minutes, I had a 30 line Computer class and then a test class that were beautiful, self-documenting and to industry standards. Then the standards for the class used my code like a piece of toilet tissue. Yep. My suddenly beautiful code looked like crap. The irony is that the instructions specifically stated "no redundant comments," but I had to comment every method with a one line description of the obvious. Complete waste of time.
What makes it worse is a piece of software Tech developed called Web-Cat. It's an automated grading tool for code, which not only tests for functionality, but for formatting as well. That's all well and good, except it docks points for things like not having a space between the class name and opening brace, or not having a space between each term in the expression 2.9*4. Really? This is a major disconnect between the industry and academia. Schools are putting focus on the wrong things. In my opinion, first and foremost, code grading code is a bad thing. People need to be grading code, first of all, to point out good practices and criticize the bad. Things like over-encapsulation, poor delegation of responsibilities, etc., come to mind. Let's not just have machines focus on how many characters are on a line. Teach people real commenting and coding practices to prepare them for a work environment. Academics need to stop making standards for the sake of having standards. It wastes everyone's time and does little to help prepare students for the industry. Hopefully I can expedite the credit by examination process for this class.
What makes it worse is a piece of software Tech developed called Web-Cat. It's an automated grading tool for code, which not only tests for functionality, but for formatting as well. That's all well and good, except it docks points for things like not having a space between the class name and opening brace, or not having a space between each term in the expression 2.9*4. Really? This is a major disconnect between the industry and academia. Schools are putting focus on the wrong things. In my opinion, first and foremost, code grading code is a bad thing. People need to be grading code, first of all, to point out good practices and criticize the bad. Things like over-encapsulation, poor delegation of responsibilities, etc., come to mind. Let's not just have machines focus on how many characters are on a line. Teach people real commenting and coding practices to prepare them for a work environment. Academics need to stop making standards for the sake of having standards. It wastes everyone's time and does little to help prepare students for the industry. Hopefully I can expedite the credit by examination process for this class.
32 Comments On This Entry
xclite
27 August 2011 - 10:35 AM
Ha! Tech is hardly a lousy school, although I certainly wouldn't put it top 10. Macosxnerd101 is right - it's one of those things somebody higher up has a hard on for and won't change it for the world.
Another class he missed out on (thankfully) is 1705. They use something called ZHTML - basically it's a way to make dynamic web pages. However, the industry standard does not use ZHTML - many better technologies exist (AJAX, JQuery, etc). ZHTML was slow, unwieldy, did a lot of magic stuff that wasn't documented, and sucked. Students spent tons of time trying to figure out what an internal 500 error meant instead of how to do OO programming. In fact, they'd never even created a main method by the end of the class. This shit would have been out of place in the web programming class, LET ALONE an intro to OO class.
I wrote an essay ripping that course apart when I finished for their reviews (had something like a 110 because I had the advantage of prior experience but didn't bother testing out). Nothing changed. If macosxnerd101 had taken that course, I bet he'd have a lot more points about academia not getting industry.
Another class he missed out on (thankfully) is 1705. They use something called ZHTML - basically it's a way to make dynamic web pages. However, the industry standard does not use ZHTML - many better technologies exist (AJAX, JQuery, etc). ZHTML was slow, unwieldy, did a lot of magic stuff that wasn't documented, and sucked. Students spent tons of time trying to figure out what an internal 500 error meant instead of how to do OO programming. In fact, they'd never even created a main method by the end of the class. This shit would have been out of place in the web programming class, LET ALONE an intro to OO class.
I wrote an essay ripping that course apart when I finished for their reviews (had something like a 110 because I had the advantage of prior experience but didn't bother testing out). Nothing changed. If macosxnerd101 had taken that course, I bet he'd have a lot more points about academia not getting industry.
ishkabible
27 August 2011 - 11:52 AM
ya, i'm surprised that it was ever used for code grading, i thought it was for test generation and automatic grading. my mom worked at a service center in Texas were it was being developed. all the local schools had in tons of licenses so all the teachers in my schools(i went to like 4 different elementary schools) used it. this ended up helping me becuase my teachers, thru out elementary school, received help from my mom with the software.
Topher84
27 August 2011 - 11:30 PM
What exactly do the TAs do then? I had to handle multiple sections including teaching, creation of assignments, and grading them all by hand....they better not be getting a free ride for dealing w/ some kids in a lab for two hours
NickDMax
29 August 2011 - 10:20 AM
So macosxnerd101 you have a lot of industry experience and you know what industry standards are?
Let me tell you, in industry there is a LOT of code nazis with "coding standards" and "style guides". Some projects are documentation heavy and require 10 or so lines of documentation for every line of code, others will hound you out of the office just for "wasting time writing useless comments".
Basically you can count on having a boss with idiosyncrasies that you find idiotic and doesn't do things "to industry standards".
As a consultant I have worked with many development teams and one thing I can assure you is that in all honestly there are very few "industry standards" - every team is doing what works for them. Every agile implementation is different (most are not even really agile) and every style guide is different (and mostly ignored anyway) and everybody has a boss with ridiculous pet peeves.
Granted I think your class' grading sounds pretty ridiculous since I think the emphasis in school should be on learning to think critically about data structures and not about teaching you how to format code or write comments. i.e. the problem with the class is that its focus is wrong not that it is "out of touch with industry". -- a data structures class? Really do you know how often you will ACTUALLY implement a linked list proper - how often do you think us "industry insiders" write sorting routines?
Let me tell you, in industry there is a LOT of code nazis with "coding standards" and "style guides". Some projects are documentation heavy and require 10 or so lines of documentation for every line of code, others will hound you out of the office just for "wasting time writing useless comments".
Basically you can count on having a boss with idiosyncrasies that you find idiotic and doesn't do things "to industry standards".
As a consultant I have worked with many development teams and one thing I can assure you is that in all honestly there are very few "industry standards" - every team is doing what works for them. Every agile implementation is different (most are not even really agile) and every style guide is different (and mostly ignored anyway) and everybody has a boss with ridiculous pet peeves.
Granted I think your class' grading sounds pretty ridiculous since I think the emphasis in school should be on learning to think critically about data structures and not about teaching you how to format code or write comments. i.e. the problem with the class is that its focus is wrong not that it is "out of touch with industry". -- a data structures class? Really do you know how often you will ACTUALLY implement a linked list proper - how often do you think us "industry insiders" write sorting routines?
DarenR
05 October 2011 - 01:04 PM
Mac,
The company I work for requires all individual tags on their own line so people do not have to go searching for its match. They also require tabbing systems for the code.
example:
<table>
<tr>
<td>start of program</td>
</tr>
</table>
or for reg programs
dim something as integer
dim another as string
another = sometextbox.text
here integer.parse.int(another)
if(something == here)
more code
The company I work for requires all individual tags on their own line so people do not have to go searching for its match. They also require tabbing systems for the code.
example:
<table>
<tr>
<td>start of program</td>
</tr>
</table>
or for reg programs
dim something as integer
dim another as string
another = sometextbox.text
here integer.parse.int(another)
if(something == here)
more code
DarenR
06 October 2011 - 09:24 AM
When I first started here I had to clean up a code that looked something like :
for(int i= 1; i<100; i++){run something}else{run something else}some more of the program; more if elses and so on.
basically the program was all mixed together with no spaces or hard returns. nothing that would make it legible.
for(int i= 1; i<100; i++){run something}else{run something else}some more of the program; more if elses and so on.
basically the program was all mixed together with no spaces or hard returns. nothing that would make it legible.
111027
03 January 2012 - 08:17 AM
I wouldn't agree. An academia is an academia, not a training course for 'the industry'. From what i've seen working in the industry, academia's far more demanding, but it only does us good. As for the standards for the sake of standards, wouldn't the same go for ISO, ANSI and all the rest?
My Blog Links
Recent Entries
Recent Comments
Search My Blog
1 user(s) viewing
1 Guests
0 member(s)
0 anonymous member(s)
0 member(s)
0 anonymous member(s)
|
|



32 Comments









|