[techtalk] This talk of N-ary trees and other things...

David Merrill david at lupercalia.net
Fri Mar 23 10:12:58 EST 2001


On Fri, Mar 23, 2001 at 08:32:08AM -0500, Michelle Murrain wrote:
> I have a question for the group. 
> 
> I imagine many of you are self taught, as I am. Although I've been 
> programming on and off (on for about 8 years, then off for about 8, then on 
> for the last 3), and have learned, in that time, BASIC, C, Pascal and Perl, 
> plus SQL and HTML, and smatterings of Javascript and Java, I'm realizing that 
> I have some rather large gaps in my computer science knowledge. I didn't 
> study computer science in college, since where I went to college didn't have 
> it - although I spent a lot of time in college programming. 
> 
> I have the added twist in that although I absolutely love coding, I don't 
> think it's going to end up being how I spend most of my time - I'm lucky if I 
> get to spend 1/3 of my time coding. I'd be ectstatic if I could spend 1/2-2/3 
> but I don't think that's realistic.
> 
> In any event, I'm looking to fill in some of those gaps - like algorithms. I 
> have worked with them some in learning the languages I've learned. But I 
> don't understand them in my bones the way I feel like perhaps I should, and I 
> think that that means I'm not as good a coder as I could be. There are other 
> things like that - theory behind operating systems, data structures, etc.
> 
> The advantage is that I am exclusively at this time a web app programmer, so 
> most of what I've written is short, and pretty specific. But I'd really like 
> to take my web apps to another level (I'm working on building a large web app 
> to allow mere mortals to easily develop complex web database applications 
> entirely by using a web interface.)
> 
> Do folks have suggestions on how to go about learning some of this stuff- 
> I've thought about just getting a list of CS textbooks, and going through  
> them myself, one by one (I'm a very good book learner). I don't have time to 
> go back to school, either virtually or otherwise. 
> 
> If you are self taught, and have managed to learn some of that stuff, how did 
> you do it?

Knuth is, of course, the canonical source for algorithms. If it's not
in Knuth, it's probably not worth knowing. :-)

If you're looking for a gentler introduction to algorithms than Knuth,
you might try getting a cookbook type book on algorithms in your
language of choice. It is much easier to learn algorithms with example
code in a language you already know than it is to learn the pure
theory.

Do try for a book in the lowest level language with which you are
familiar. Seeing some algorithms and data structures implemented in
BASIC will be less than helpful.

There is also a diminishing return as you go deeper into the theory.
20% of what you would study in an algorithms class will give you 80%
of the real world benefit. In most situations, anyway. Kernel hackers
would tell you otherwise!

hth,

-- 
Dr. David C. Merrill                     http://www.lupercalia.net
Linux Documentation Project                   david at lupercalia.net
Collection Editor & Coordinator            http://www.linuxdoc.org
                                       Finger me for my public key

You have mail.




More information about the Techtalk mailing list