>> 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/