Re: university studies?

Riley Williams (rhw@MemAlpha.CX)
Thu, 2 Aug 2001 08:24:45 +0100 (BST)


Hi Erik.

>> Personally, I did "B.Sc. Computer Studies", but I suspect the actual
>> course title is irrelevant, and it's the modules you do in the course
>> that matter. Here's what I would regard as important:
>>
>> 1. A thorough knowledge of programming in C. Knowledge of C++
>> will help.
>>
>> 2. Experience of programming hardware will definitely help.
>>
>> 3. The ability to think logically is a definite advantage, and
>> tends to result in 90%+ of your programs working first time.
>>
>> Additions, anybody?

> A couple of good books also helps:
>
> - Brian Kernighan and Dennis Ritchie, "The C programming language"
> (ANSI edition)
> - Brian Kernighan and Rob Pike, "The practice of programming"
> - Jon Bentley, "Programming Pearls"

One thing I will add, from long experience: If you learned BASIC
first, then learn Pascal BEFORE you try to learn C or C++ as you'll
come out a much better programmer than trying to learn C or C++
directly after BASIC.

> And of course don't wait with kernel programming until after you
> finish your studies. Do it right now. Subscribe to linux-kernel,
> and follow the discussions. Test patches and improve them, get
> your hands dirty.

Also, and probably even more important, set up your own Linux based
system and actively write software for it, not just in C but in things
like bash shell script. Especially software that appears to be totally
unsuited to the language - I wrote a floppy diskette formatter
entirely in bash shell script as an exercise, and I still use the
program that resulted, simply because it gives me much more data space
on the floppies without sacrificing MS-DOS compatibility.

> Erik [who did "M.Sc. Electrical Engineering"]

I understand there's somebody on here who did BA Spanish as their
degree...

Best wishes from Riley.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/