Subscribe to Macosxnerd101's Blog        RSS Feed
***** 3 Votes

Academia Doesn't Understand What Industry Needs

Icon 32 Comments
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.

32 Comments On This Entry

  • (2 Pages)
  • +
  • 1
  • 2

fromTheSprawl Icon

25 August 2011 - 07:05 PM
My teacher told me that if a java class contained more than 200 lines of code then you must be doing something wrong. Your school is using a bad piece of software, I agree to you that the things needed to be graded are the ones you mentioned. When I was in school the one graded by our code checker(Sonar) was possible empty declarations, resources that are not closed, and whitespaces. It checked for major, minor and critical errors. It was a good feeling seeing you reach 100% in code standards. But we didn't have that spacing thing. Maybe suggest to your academe that what they're using will not help you and your classmates in the industry.

Still, your school needs to set standards, they just need to know what standards to set.

@blog title I agree 100% :)
0

macosxnerd101 Icon

25 August 2011 - 07:08 PM

Quote

Maybe suggest to your academe that what they're using will not help you and your classmates in the industry.

If I thought it would change anything, I would. From what I understand, none of the 3000 and higher classes rely on it heavily. So I just want to CBE it and get the heck out. :)
0

fromTheSprawl Icon

25 August 2011 - 07:15 PM
But that would mean missing something if your professor is good with the subject, he/she might offer some advice you didn't know of. If not, guess the CBE would be more help plus it gives you peace of mind. I find that after listening to teachers drone about a particular subject and I don't understand it, I try reading on it with the internet or any CBE that is accessible to me and it clears up. Plus no teachers to tell you what you can and cannot do.
0

macosxnerd101 Icon

25 August 2011 - 07:25 PM
The only thing I'll be missing is Shellsort, which I can Wikipedia. A semester for a half-hour benefit in class isn't worth it. Plus I've taught a different flavor of the course, informally. There's nothing that would rock my world or fill in major gaps for me in this course. :)
0

fromTheSprawl Icon

25 August 2011 - 07:31 PM
You rock mac! Yeah I remember your tutorials using/regarding data structures in this site and I was like "wow". Still if you could do something for the poor kids( known in the past as your "classmates") then it would be neater! Save them all so that when they're unleashed to the industry you'll all be well equipped with the proper knowledge. :)
1

alias120 Icon

25 August 2011 - 07:33 PM
I would argue that code format and readability are very important concepts to teach new developers. This sounds pedantic to the point of being absurd though. I completely disagree with the idea of using automated software to grade the semantics of ones homework. The most important reason for writing neat, structured and commented code is to make life easier on the people reading it.

Sadly, sometimes we all have to bite the bullet and do things a certain way. It sucks, but at least it's temporary.
2

macosxnerd101 Icon

25 August 2011 - 07:33 PM
When I worked with people in high school to prepare them for internships, they all came back to me and told me how much going over data structures and other stuff really made a difference for their successes in the workplace. Plus anybody who knows me irl is welcome to contact me for help regarding this. Everyone here has the benefits of the forums and more suggestions than just my own. :)
1

macosxnerd101 Icon

25 August 2011 - 07:38 PM
@alias120: Absolutely. I think there's a saying. Something about how code is made to be read by humans and consequentially executed by computers. Very appropriate, I must say.
1

elgose Icon

25 August 2011 - 08:12 PM
Design is important, and I totally agree with docking points for atrocious style, but what you described is overkill. Especially considering many IDE's give you the ability to define a style and auto-apply it.

I understand what they're trying to do. I see Data Structures as an early programming class (at my school it's the logical continuation from CS1->CS2->Data Struct), and therefore it may be littered with reinforcing the basics (which explains commenting obvious methods). But this is where human subjection comes into play, otherwise we're simply learning to program to trick some computer into thinking our code is perfect, rather than learning to program to solve challenges and meet requirements.

Good post, and not sure you'll really miss that much if you test out, so good luck!
3

alias120 Icon

25 August 2011 - 08:30 PM
That is my biggest problem with how the instructors are grading the students homework. As macosx stated, code is made to be read by people. It is a complete benefit to us, not only because it allows those who read it to easily understand it, but from a design standpoint one can more readily ensure that they are not making a mistake. There is a reason there are many different design paradigms, without some continuity we are left with a mess of "Well, this works but I am not sure how". Everyone does have their own particular style though, being discounted points because you didn't put enough space between a class declaration sounds absurd to me.
0

Martyr2 Icon

25 August 2011 - 09:19 PM
Do realize that you may very well end up at a company who does have a strict coding conventions. I don't believe in software grading software, but do realize that in industry we all have certainly hit one point in our career where we had to change style a little. If your company tells you to use Hungarian notation, you have to use Hungarian notation.

Half of your success in school isn't going to be just the content mac, it is going to be navigating and adapting to new styles of doing things. Just learn their style and proceed.

:)
4

macosxnerd101 Icon

25 August 2011 - 09:25 PM
Changing styles is fine by me, both for the workplace and classroom. It's the anal retentive aspect that I find annoying. From what I understand, the upper-level CS courses don't focus on being so hard-nosed about the style which is fine by me. I guess I just like things to be a little more practical and follow common sense. :P
0

Topher84 Icon

25 August 2011 - 10:48 PM
The upper level classes may not stress style because by the time you get there, you should have an idea of what you are doing. You have to realize you are in an entry level class and you have cater to the lowest intelligence level. The worst thing you could do is act like a complete tool and try to b a know it all. Believe me, you will get labled in your department really fast if you pull that crap.Really, this is a good lesson of real world work. There are standards and you have to follow them regardless of how you reel about them. Welcome to college! :)
1

Shane Hudson Icon

26 August 2011 - 05:14 AM
For my Univerity interview I said I want to take things from research stages to actual products as the majority of research will never be used. He kind of frowned at the idea of industry!
0

macosxnerd101 Icon

26 August 2011 - 05:43 AM
@Topher84: I know. In all honesty, some of the practices didn't come as a surprise. At least lecture is a productive time to get other work done until I can complete CBE.

@Shane Hudson: LOL! That made my day. :)
0

xclite Icon

26 August 2011 - 08:45 AM
Webcat is overemphasized in the lower classes. The last class I used it for was Data Structures I - the style guide they enforce is bullshit. If you can test out of this, it's likely you won't have to deal with it again.

The biggest obstacle to students who were learning to program in that class was Webcat, in my opinion, and I TAd it for 2 years.
0

ishkabible Icon

26 August 2011 - 06:17 PM
odd note, my mom was on the "devolpment team" of Web-Cat. she didn't code anything but she tested it from a teachers perspective and did a lot of marketing for it. why it was labeled "development team", i don't know.
0

ishkabible Icon

26 August 2011 - 06:18 PM
also to my understanding it's not just for code. elementary teachers use it to grade tests and what not, and apparently it can "grade" code too.
0

jon.kiparsky Icon

26 August 2011 - 07:18 PM
s/Academia/My Professor/
s/Industry/a Student/


You got a lousy professor, and possibly a lousy school. Don't buy into the "academia sucks" nonsense. It's Sturgeon's Law: yes, 90% of what's done in academia is crap, because 90% of everything is crap. The crap percentage is probably closer to 98% in industry, because in industry you can hide your work, so only your co-workers see it. Trust me - the worst coders I've ever seen have been the ones who go around yelling about how "academia sucks". The stuff they get away with is ludicrous.


What we need in academia is more guys like you who care about the details of good coding - you should make some extra cash tutoring the kids in the DS&A course, it sounds like they'll need it, given that prof.
2

macosxnerd101 Icon

26 August 2011 - 09:04 PM
@xclite: I came to the same conclusion.

@ishkabible: Interesting. I'd say for elementary school, that's one thing. But software grading software isn't a good thing. :)

@jon.kiparsky: Honestly, in the lecture portions of class, I've been happy with the professor (really, a young, Ph.D student). He's been pretty knowledgeable about OOP and such. The lab is run by some TA's. I think the anal retentiveness came in part from the head professor (not my professor) for the sections of this course compounded with the Webcat software grading the code. That's an interesting point you make about crappy code from people who complain about academia.
0
  • (2 Pages)
  • +
  • 1
  • 2

Recent Entries

July 2014

S M T W T F S
  12345
6789101112
13141516171819
2021222324 25 26
2728293031  

Recent Comments

Search My Blog

0 user(s) viewing

0 Guests
0 member(s)
0 anonymous member(s)