[CS-FSLUG] College / University

Alan Trick alantrick at gmail.com
Wed Dec 13 00:46:39 CST 2006


On Tue, 2006-12-12 at 07:04 -0500, Frank Bax wrote:
> At 06:13 AM 12/12/06, Alan Trick wrote:
> >My experience is that if you try to teach concepts without real, working
> >example, the learner ends up taking quite a bit longer to figure things
> >out and usually ends up understanding only part of what is going on.
> 
> 
> There is another important aspect to this.  Most problems (that you want to 
> solve with software) in the real world are presented in a manner that 
> cannot be directly translated into to code.  The first step is always to 
> translate the users request into something more clearly understood by 
> *both* parties.  I remember one university calculus class was taught by an 
> engineer (I was in math dept) with real-life problems in the tests.  I 
> always had a big hurdle extracting the actual "problem" out of the question 
> as written in the test.  Once that part was done, solving the equations was 
> relatively easy. 

Good point. Although when your talking about programming, this is a
really important skill. Understanding what it is that the program does
is most of the battle. The rest is just key-bashing (or button-smashing
for those VB and Flash monkeys) with an algorithm here or there.

I've had an interesting experience over the past couple months working
on my first decent sized software project[1]. It's a python library to
handle terminal I/O in a half-decently cross-platform way. Most of the
problem was that I didn't really know what what problem was. I knew
something of ANSI escapes, but MS Windows is quite a mess requiring all
sorts of kernel calls and the *nix side isn't much better (see `man
terminfo`, it's not pretty).

Learning how to research was pretty to my current success. Also, good
practises like test-driven development and version control (subversion)
has been helpful too, but that stuff isn't terribly difficult to pick
up.

I look at the current people in my CS department and most of them will
probably never have heard of subversion or unit tests. If they have to
figure out the detail to some obscure API, some of them might try Google
and see if they get lucky, but Google doesn't work very well in a lot of
situations so they get swamped pretty quickly. Only a few would have
ever heard of IRC. Most of these guys are like 2nd or 3rd year students,
so it's not like they can use ignorance as an excuse (I'm a first year).
Once they actually try to work on a software though, they get really
clumsy really fast.

Alan Trick

[1] http://terminate.sf.net n.b. If you are actually interested in
looking at the code, you probably want to checkout the stuff in the
subversion trunk as I haven't made a release in quite a while and I
think the svn stuff is pretty stable now.





More information about the Christiansource mailing list