[Tfug] Cheap Memory = Lardy Men = UofA Comp Sci Program

Bowie J. Poag bpoag at comcast.net
Fri Dec 21 21:56:34 MST 2007

void myOpinion (void)

// I'm not the best coder in the world. Yeah, I know, unbelievable. :) 
But here's my $0.02, as someone who has to do it for a living:

I would agree... When I attended U of A about 7-8 years ago, their Comp 
Sci program was kind of lame. I felt at the time that it didn't go very 
far toward preparing students for real-world coding. In retrospect, I 
was right.. They didn't prepare us for real-world coding, nor did they 
emphasize good coding habits, or even begin to teach topics such as 
what's good coding philosophy, what open source is, everything that 
everyone knew was going to be commonplace in the future. They touched on 
none of it. It was more like "Oh, it runs? Great! A+ for you. Next?"  I 
would have preferred it be something more along the lines of "Oh, it 
works? Great. You get a D+. Now go make your RPN calculator applet 
lightweight, so it doesn't require 39MB to run on this machine. If you 
can do it in a memory footprint of less than (x) and still keep it 
readable, you get an A."

/* Speculation:  I think their biggest problem can be boiled down to one 
word: Java. Like alot of other Universities with their dick stuck in Sun 
Microsystem's mousetrap, they were slowly talked into folding Java into 
their curriculum... eventually, enough pillow talk got them to ditch C 
and shape their entire curriculum around it.  They bet the farm on the 
industry moving toward OO, and in particular, Java. */
Simple procedural programming is still the dominant method of getting 
stuff done, not OO.. For most things, OO is exactly what it appears to 
be. Unnecessary, time-consuming, slow, bloaty overkill. My time as a 
student would have been better spent learning how to be a better 
procedural coder, and THEN open the door to OO concepts later. I mean, 
what good is it learn how to carry around an OO-centric 300 pound Swiss 
Army Knife with 117 different attachments (of which you'll only use 
maybe 2), when all you really need is common sense?  Ditch the knife and 
use your head, for cryin' out loud. Don't teach me WHAT to think--Teach 
me HOW to think. How do I make my code fast AND readable? How do I 
collaborate with others?  How can I be more strategic in my approach to 
problem solving? What does it mean to write truly portable, streamlined, 
orthogonal code? How do I maintain my code over it's lifespan? I got 
none of that at UofA, sadly.

Ugh... and to make matters still worse, UofA relegated assembly language 
to the CE track, and away from CS, which in my book, is criminal. Sad, 
and criminal. Worse, they tried to line up SML/NJ in it's place, like it 
taught the same concepts.. good lord..




Jude Nelson wrote:
> I agree--coders should be forced to learn on low, low-end hardware
> (even if only in a VM) and earn the privilage of using faster, better
> systems.  That's how I learned--I started Basic and asssembler on a
> TI-83+ graphing calculator (23k RAM, 16 MHz Zilog z80 [8-bit], 1.5 MB
> flash ROM), and moved to C on a TI-89 graphing calculator (191k RAM,
> 12 MHz Motorola 68k processor, 300k flash ROM, 32k code segments [the
> 68k has a 16-bit data bus but was 32-bit internally]), and moved to
> Palm OS devices (wow!  a whole megabyte of heap space!), and then
> finally to PCs.
> And how does the U of A teach CS students to code?  With a 16 GB
> quad-core 64-bit server, with Java 5 of course!  Seriously, how do you
> even *use* that much horsepower?  My dual-core laptop with 2 GB RAM is
> only justified in that I need to be able to do my homework off-line
> (oh, and show Compiz Fusion to those foolish enough to think Vi$ta is
> the Second Coming).
> Regards,
> Jude Nelson

More information about the tfug mailing list