Friday, January 22, 2010

Computer Sciences in an Academic Setting

After reading the article on the Academic source code dust-up symptom of CS education ills, I can further see the inconsistencies between what goes on in the majority of classrooms and what goes on in the real world. It's such a large stretch from not being able to show anyone the code you have created in an academic setting or really discuss it without fear of 'plagiarism' or being declared a cheater, compared to once you're out in the working world, be you at a business or even an open source developer on the world-wide web, since at that point in time, teamwork and being able to properly communicate your knowledge and skillbase becomes so imperative to your success. For 'Kyle's Professor', to argue so vindictively and when he was not winning the fight, to take it to the boss hoping for backup seems so extreme. He was afraid people would find that code and use it for the assignment? Maybe that would prove that they are intelligent students, even if it is just finding another students code on the internet and realizing that it could be used for their own benefit, and maybe they would be able to improve bits and pieces of it and make it their own in a way, as if it was the real world and as if it was a real-life situation. I've heard many times from many professors not to 're-invent the wheel' but then in a scenario like this, I'm sure they'd react much the same. The majority of the time, a programmers best friend is 'google' or their favourite search engine, and that would, in a way, prove that they know how to use the search engine properly to be able to find what they needed to find and use it to the best of their ability. This is legitimate, however, only if the programmer is able to program properly and would have been able to write all of the code they had found, given the necessary amount of time. The professor also had the ability to change the assignment a little bit if he was afraid of people posting their code or showing it to others and thought it would take away from the learning experience...to tell someone that the code that they created and made, spent countless hours on, is not theirs to do what they want with it is pretty absurd.

I agree with Scott in his post here that in the beginning stages of the classroom, individual assignments and testing does play a big role in the learning process at the beginning of their education, but after 3 or 4 semesters it has definitely filtered out the ones who are incapable of programming or lack the patience to learn it, and at that point there are other ways to go about the learning process, such as real-world scenarios and team-building projects. How often do programmers begin with nothing and create the entire program solo? Maybe in their passtime or if they are creating something privately, are greedy and want to keep all the credit and work for themselves, but other than that, they usually have help, and at least post a question or two on the web hoping for a response that will help them along the way, but the rest of the time, some massive amounts of teamwork is involved in the full picture. I think a lot of the problem is that a lot of professors haven't really programmed outside of a school setting and may not entirely understand what programming outside of a school setting is like. When I was in co-op, I was discussing something my professor said or did or something along those lines and my colleague was just like, "But has he ever programmed outside of a school setting?" as if it was quite obvious he had not, and when I said 'no' then he went off on a tangent about how a lot of professors never get out in the world and are hired out of school, and don't fully understand the 'programming world'. They may understand programming, but not the 'programming world'. I find this to be true, and I think those teachers should teach earlier semesters and earlier classes while more experienced programmers who have real-world experience should teach the later classes. At first, we need to have our minds shaped to learn programming; just general programming. But afterwards, when we're in the later semesters, we need to have our minds shaped as if we are going out in the world, and we can't, or shouldn't, go out there blind, unknowing of what it could be like. We should have experience, even if it is just in the classroom, of what the world will be like once we're out there with these new skills and new personas. I do like school and I found a lot of the projects we were meant to do fun, but it is a shame that none of the code will ever be used or seen by anyone else and that it was ultimately pointless except for the grade, and to a lesser extent, the learning process. Now, they're just a bunch of files on my external hard drive...

No comments:

Post a Comment