5 ms·
I suggest that it is rather absurd for the professor to expect the students programming speed be on par with his own--unless he's asserting that he himself is a
by giberson 16y ago
I suggest that it is rather absurd for the professor to expect the students programming speed be on par with his own--unless he's asserting that he himself is a poor programmer.
The one thing a professor aught to have in spades above his students is experience. And the only thing that speeds up a programmer, simply, is past experience. Being able to recognize patterns and problems and having a general idea of their solutions is 90% of the programmer's ordeal.
It's only reasonable to expect students to require a non trivial amount of "working it out time" as it's something all programmers go through. The first time you experience a problem of a specific nature you need to contemplate, research and explore the subject trying to flesh out the underlying logic of the problem. After which, you can finally devise a proper solution.
Its also important not to forget that as an experienced programmer you have the discipline to break problems down into smaller manageable components. Students, on the other hand, often are stuck blinded from the trees by the forest. Rather, they are daunted and intimidated by the entire problem set.
I also have to reluctantly point out, that the education for programming at Jr. and Sr. level classes is quite poor. It's kind of a scam. It's paradoxically too brief, too broad, too specific too general all at the same time. From experience, anything sub 400 level classes were simply credit padding courses. For programmers, real programmers that are actually curious and excited by programming who actually invest personal time to explore and enrich their knowledge of the subject as a hobby will get very little out of those courses. They have to sit through instruction on conditional programming, worse sit through hours of insane questions of incomprehension on simple if, else, for and while loops. By the end of the course, you get to do one interesting assignment, it's what the entire course was building up to, and all it is is a generic useless implementation of some common design pattern. The apex of those courses for me were doubly-linked lists, stacks, and knowing how to implement Huffman encoding. All of which I could have figured out on my own. The other type of programmer, the programmer by career appeal--the programmer who thinks I'll just take a couple college courses and land a cushy high paying job, these courses offer them basically nothing aside from an introduction to language syntax. The ugly truth of the matter is that the language portion of coding, the syntax and grammar is the smallest most inconsequential portion of programming--It's simply the tip of the ice-burg. What lies beneath is a solid understanding of logic, how to identify, adapt and apply reasoning. It's problem solving.
Overall my point is simply this, unless you figure out how to compress the sum total of you X++ years of experience as a professor [obtained from industry and as a teacher], and then figure out how to impart all that knowledge to your students there is no feasible reason why they could or should be as apt at programming as you as a professor.
- sophacles 16y agoThe impression I got from that article was a concerned teacher, wondering if this gap was normal, and how he can increase his teaching prowess to help the students better. Basically the guy was looking to do better at his job. As for how smart you are: wow thats great -- have a cookie for having interest and aptitude above and beyond other students who may also have that interest and aptitude, but did not discover that fact on their own.
- giberson 16y agoDon't get me wrong, I'm not trying to elevate myself or be self promotional. I'm by far not one of the smartest programmers. I'm a good programmer, I "get" programming but I'm far from even thinking about trying to teach others how to program. I'm simply identifying two typical sides of student population for programming. From my own experience there were two very apparent groups of students. Aptitude wise, there were those that were cut out for it and those that aren't. I was in the group of students who was [and I'm not even insinuating I'm at the top of that group] and it was in common agreement that the pacing of the courses was inappropriate for either group. It was too slow for us, and too fast for them. It's just not possible to strike that balance. The first year or two of college programming classes is really for weeding out the batch of people that aren't cut out for programming. The people that make it through this selection have yet to really enter into serious programming topics. My point for stating this, is to make it clear that Jr or Sr level students aren't seasoned, they are simply the selection of students are are capable and ready to be turned into good programmers. They are still seedlings though, and can't be expected to compete against some one at a professional level. Perhaps my wording was a little to aggressive in my comment, I wasn't trying to attack the professor, I was only trying to make it a clear point that being comparative between a seasoned professor and naive programmer is well, absurd.
- sophacles 16y agoTo determine the people "cut out" or "not cut out" for something, based on a single class or two ignores a host of problems which have nothing to do with aptitude nor interest in the material. The way it is taught, the teacher, the fellow students, all contribute to success in an academic endeavor. Further, some people struggle with subjects for a long time, then one day "get it" and surpass those who were obviously in the good group all through studies. Some people thrive under one teaching methodology and curriculum and others thrive under different conditions. Basically the thing you describe only selects the subset of people who represent the intersection of the sets (people with an aptitude for proramming) (people who thrive under this curriculum) (people who get it quicly/incrementally). There could be plenty of other people in the (people with and aptitude for programming) set. Another vaguely related bit of thinking: A lot of the best programmers I know come out of non-cs curriculums like math, music, geography, philosophy and so on.