TDD is BS?

H. S. Teoh hsteoh at quickfur.ath.cx
Fri Jun 21 16:03:57 PDT 2013


On Fri, Jun 21, 2013 at 06:12:57PM -0400, Nick Sabalausky wrote:
> On Fri, 21 Jun 2013 09:47:46 -0700
> "H. S. Teoh" <hsteoh at quickfur.ath.cx> wrote:
> > 
> > universities that actually *teach* real programming are more
> > interested in finding solutions to uncomputable problems than
> > teaching students how to solve computable ones
> > 
> 
> That doesn't match my experience (also in the US here).

Actually, I'm up in the Great White North, so my perception of "North
America" may be a bit biased on the first word. :-P


> Granted, all my info is from ten years ago, but what I saw was mainly
> a bunch of what The "Joel on Software" guy called "Java Schools"
> <http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html>.

LOL... that article made me laugh. Thanks for the great read!


> The following includes what I've seen at BGSU and OSU (party schools,
> not that I personally attended OSU, but I did have a friend that went
> through OSU's "RESOLVE/C++" stuff) and also JCU (a private univ that,
> at least around Cleveland, is highly-regarded by everyone except me).
> 
> What I've seen at these places, and apparently many others from what I
> understand, is that while they *do* recognize the importance of
> creating programmers, the problems are:
> 
> - The theory is minimal to make sure they get all those high-paying
>   students through the revolving door.

Huh. I had the opposite experience. We were pounded with so much theory
from day one, and then summarily executed on our Computability Theory
finals (the infamous exam that was so hard, you were allowed to bring
*anything* -- any textbook, reference book, your desktop PC if you were
so inclined -- and none of it would help), that I came out with a rather
strong distaste for anything that mentions the word "computability",
lasting for quite a while before it wore off.


> - Tests and exams do *not* teach people. An yet, that's where the
>   emphasis is, instead of on instruction.
> 
> - The really *big* issue: You just simply CANNOT expect people to go
>   from beginner to competent programmer when they spend *at most*
>   one-third of their credits, and about 3 hours a week, over a mere 4
>   years on actual programming material instead of irrelevant liberal
>   arts garbage that *belongs* in high school, not a college so-called
>   "major".

That, I have to agree. I wanted to double-major in CS and Chemistry, but
gave up on the first day in 2nd year when I looked at my course / lab /
programming project schedule, and said, "that's not gonna work". Without
adequate time actually spent programming, it's impossible to get good at
it.


> - The nasty little details like pointer/memory problems, linker errors,
>   etc that real people have to deal with are neatly glossed over and
>   sidestepped.

OK, that's one of my pet peeves. Back in the day, I was taught pointers
(though not linker errors -- I learnt that on my own) and recursion.
Nowadays, people hear the word "pointer" and go "ewwww", and when you
say "recursion" their eyes glaze over. What on earth did they do to the
CS programs?!


> - There was one CS101 teacher (I had to tutor her unfortunate students)
>   who constantly bragged about being from a real-world software
>   company...but she was a Java-addict (circa v1.2-v1.4) who kept trying
>   to teach OO *before* basic flow-of-execution. Consequently, none of
>   her unfortunate students had the slightest clue what was going on.

Ugh. Talk about putting the cart before the horse...


> - Many of the professors are terrible programmers themselves. For
>   example, I had one who openly admitted the only language he knew was
>   C, and yet at one point it became painfully obvious that he had
>   almost no comprehension of null-terminated strings.

That's the beef I have with over-emphasis on CS theory. There's nothing
wrong with theory in and of itself -- in fact it's foundational and very
much indispensible -- but when you become so detached from reality that
you think in terms of pure idealizations -- when you can *only* think in
terms of pure idealizations -- that you can't even write a single line
of real code without some external help, then something has clearly gone
very, very wrong.


> - Many of the teachers don't even teach, they just collect the
>   thousands of dollars in tuition and give you a book recommendation
>   (really more of a "demand" than a recommendation).

That's because the incentives are all wrong. Professors aren't paid to
teach; they're paid to produce research. Publish or perish, so goes the
saying in those circles. To them, teaching is an additional burden
imposed upon them that they'd rather get over with ASAP and get back to
their research, whatever it takes. Turn away the students showing up at
your office hours. Bore them to death in class so they wouldn't know
*what* to ask even if they wanted to. Read from a photocopy of the
textbook word-for-word to pass lecture time with zero effort (I've
actually been in a class where this was done). Anything, to get it over
with and get back to the work that pays.

Some of my best teachers in university were part-time lecturers, one of
whom won several teaching awards and accolades for 3 years straight. I
don't know if there's even one faculty member that ever got *one*
teaching award. (On the contrary, a certain faculty member was so
arrogant of his tenurehood that he'd show up on evaluation day and tell
students to their face that they can write whatever they want and it
wouldn't affect him in the least, 'cos his tenure meant he can never be
fired. And of course, he consistently gets rock-bottom reviews from
students, and incoming students are consistently warned by said students
to avoid his courses at all costs.)


>   Now, I'm a strong believer in being self-taught and learning from
>   books, but all I need for that is a library card, not a $100k debt
>   and four years of elitist attitudes from people who clearly don't
>   know what they're doing anyway.

Heh. Nearly all of my programming skills are self-taught (well, and
learned from experience now that I have some number of years in the
industry), but I'm no reader either. I was doing online learning long
before the 'Net became cool, and every now and then I still browse
around learning new algorithms and stuff, while everybody else is
clicking their lives away on FB and twitter (no offense, Andrei, but I
do think FB is an evil waste of time, at least when it comes to the way
most people use it).


T

-- 
If it tastes good, it's probably bad for you.


More information about the Digitalmars-d mailing list