university studies?

university studies?

Post by peter revil » Thu, 02 Aug 2001 14:30:08



Ok, im 16 and looking at heading into uni as soon as ive finished year 12.
I'm gonna head on over to uni, i am wondering out of curiosity what courses most kernel developers have done? im going to do either bachelour of computer science, or information technology, at a later date, when im done my studies im hoping to help with kernel developing, mozilla etc. etc., so i was wondering what people would consider the course that gives you "kernel development" sort of skillset-mindset

Kind Regards and Cheers
Peter Revill

Peter Revill

--

________________________________________________________________________________
Access your POP email anytime, anywhere with WebMail.com (www.webmail.com), a product of Mail.com.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

university studies?

Post by Riley William » Thu, 02 Aug 2001 16:10:08


Hi Peter.

 > Ok, im 16 and looking at heading into uni as soon as ive
 > finished year 12. I'm gonna head on over to uni, i am wondering
 > out of curiosity what courses most kernel developers have done?
 > im going to do either bachelour of computer science, or
 > information technology, at a later date, when im done my studies
 > im hoping to help with kernel developing, mozilla etc. etc., so
 > i was wondering what people would consider the course that gives
 > you "kernel development" sort of skillset-mindset any feedback
 > is appriciated, please CC it to my mail adress at

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?

Best wishes from Riley.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

university studies?

Post by Erik Mou » Thu, 02 Aug 2001 20:50:07



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

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.

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

--
J.A.K. (Erik) Mouw, Information and Communication Theory Group, Department
of Electrical Engineering, Faculty of Information Technology and Systems,
Delft University of Technology, PO BOX 5031,  2600 GA Delft, The Netherlands

WWW: http://www-ict.its.tudelft.nl/~erik/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

university studies?

Post by Nigel Kukar » Thu, 02 Aug 2001 21:43:57



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

Reading is the key to success i'd say, that and alot of experience
trying things out (trial & error). I started programming when i was
12yr and now i'm teaching c++ programming to university students at
the age of 18yr. Never once have i been asked my age or what skills
i have, everything was based on references i had and all the applications
, libraries and utilities i've written for various companies.

Quote:> 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.

getting your hands diry while studying is the best IMHO, u'll learn
alot & gain experience... most of the time comming first in your class
and impressing your peers.
Quote:

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

 
 
 

university studies?

Post by Riley William » Fri, 03 Aug 2001 16:30:08


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

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

university studies?

Post by David Weinehal » Fri, 03 Aug 2001 17:40:05



> Ok, im 16 and looking at heading into uni as soon as ive finished year
> 12.  I'm gonna head on over to uni, i am wondering out of curiosity
> what courses most kernel developers have done? im going to do either
> bachelour of computer science, or information technology, at a later
> date, when im done my studies im hoping to help with kernel
> developing, mozilla etc. etc., so i was wondering what people would
> consider the course that gives you "kernel development" sort of
> skillset-mindset any feedback is appriciated, please CC it to my mail


I'd suggest deep studies of Zen/Chan-buddhism, Taoism, logic,
discrete mathematics, c-programming, haskell or ml (functional
programming), algorithm-theory & analysis and a course or two
in operating-system theory.

At least, that's what I've studied. One could argue it didn't help
a lot, but...

The best thing of all to study is source-code, though. Learn from those
who already mastered the art of programming. I've head that Plan 9 is
available as source-code. Get it and learn from the best.

/David
  _                                                                 _

//  Project MCA Linux hacker        //  Dance across the winter sky //
\>  http://www.acc.umu.se/~tao/    </   Full colour fire           </
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

university studies?

Post by Muzaffer Ozakc » Fri, 03 Aug 2001 20:40:07


I don't think, one should learn all the "hot" languages of the day to
become a good programmer. A computer science student should (and will)
learn the theoretical background that lays beneath. Data structures,
graph theory, computational linguistics, compiler theory, OS, AI, so on.
Practical studies such as programming projects will let the students
solid the theory. These thoughts are not actually mine, most of the
computer science departments -more or less- follow a cirriculum
appreciating these ideas, I think. However, a kernel (or systems)
programmer should also know basics of microprocessors, interrupts, etc.
and programming in assembly, besides the theory given in a university.

After getting the theory and completing the understanding by practice,
learning a programming language is just a detail. Always solving
problems "C" style, may not be the best approach, a functional language
may better suit the needs -usually not in our course.

As far I could see, kernel programming (talking about the whole)
requires the use of computer science, heavily.



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

> Once you've finished learning BASIC, unlearn all the *you won't need for
> Pascal.

> Also, add Python for good programming style (or replace BASIC and Pascal
> with it entirely if you're feeling brave) and some sort of FP to sharpen your
> pure algorithmic skills. If you don't want to go into full-fledged Lisp, then
> take a look at XSLT.

> PHP is good if you're going to do anything web-oriented, but it's very similar
> to C, so...

> Also, Perl doesn't hurt, but I've found that it isn't entirely neccessary if
> you can deal with sed and awk, which I also suggest you pick up.

> --

> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

> More majordomo info at  http://www.veryComputer.com/
> Please read the FAQ at  http://www.veryComputer.com/

--
Muzaffer Ozakca

TUBITAK-Bilten-ODTU - Communications Systems and Comp. Networks Group
ODTU, Ankara, Turkey
http://www.veryComputer.com/   tel: +90-312-210 1311
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://www.veryComputer.com/
Please read the FAQ at  http://www.veryComputer.com/
 
 
 

university studies?

Post by Daniel Phillip » Sat, 04 Aug 2001 00:50:07



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

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

And somebody who did B.Mus. :-)  But I also did computer science
courses at the same time, and after that graduate CS courses.  I really
think there is no substitute for university level education here.  Yes,
there are great hackers who got that way without formal education in
the field, but I'll bet that most of them wish they had not missed the
opportunity.

I firmly believe that Comp Sci by itself is not balanced enough, you
need to have deep knowledge of *some* unrelated field to obtain the
required perspective needed not only to solve problems, but to know why
you want to solve them.

Music in particular teaches you about form and balance, and also a deep
respect for the need to practice and perfect the low-level skills
prerequisite to the flashier achievements we all aspire to.  Not to
mention helping speed up your typing.

--
Daniel
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

university studies?

Post by Crutcher Dunnavan » Sat, 04 Aug 2001 00:50:09


++ 02/08/01 14:36 +0300 - Muzaffer Ozakca:

Quote:

> I don't think, one should learn all the "hot" languages of the day to
> become a good programmer. A computer science student should (and will)
> learn the theoretical background that lays beneath. Data structures,
> graph theory, computational linguistics, compiler theory, OS, AI, so on.

Hmm. Thank you, Knuth.

Quote:> Practical studies such as programming projects will let the students
> solid the theory. These thoughts are not actually mine, most of the
> computer science departments -more or less- follow a cirriculum
> appreciating these ideas, I think. However, a kernel (or systems)
> programmer should also know basics of microprocessors, interrupts, etc.
> and programming in assembly, besides the theory given in a university.

They also need to understand large parts of security, and system API
design.

Quote:> After getting the theory and completing the understanding by practice,
> learning a programming language is just a detail.

I disagree. This is equivalent to saying, once I am an archetect, it is
easy for me to build houses. Tools and practices take incredible amounts
of time to master. Languages take years, and learning the
non-algorithmic parts of hacking, like techniques for keeping namespaces
clean, or designing APIs to be extensible, or just tracking code; all
these are time devouring.

Quote:> Always solving problems "C" style, may not be the best approach,
> a functional language may better suit the needs -usually not in our course.

But, ultimately, computers are procedural. FP helps /prove/ algorithms,
but it is a terible way to actually run them.

--

GCS d--- s+:>+:- a-- C++++$ UL++++$ L+++$>++++ !E PS+++ PE Y+ PGP+>++++
    R-(+++) !tv(+++) b+(++++) G+ e>++++ h+>++ r* y+>*$
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

university studies?

Post by Ignacio Vazquez-Abram » Sat, 04 Aug 2001 02:20:07



> I don't think, one should learn all the "hot" languages of the day to
> become a good programmer. A computer science student should (and will)
> learn the theoretical background that lays beneath. Data structures,
> graph theory, computational linguistics, compiler theory, OS, AI, so on.
> Practical studies such as programming projects will let the students
> solid the theory. These thoughts are not actually mine, most of the
> computer science departments -more or less- follow a cirriculum
> appreciating these ideas, I think. However, a kernel (or systems)
> programmer should also know basics of microprocessors, interrupts, etc.
> and programming in assembly, besides the theory given in a university.

> After getting the theory and completing the understanding by practice,
> learning a programming language is just a detail. Always solving
> problems "C" style, may not be the best approach, a functional language
> may better suit the needs -usually not in our course.

> As far I could see, kernel programming (talking about the whole)
> requires the use of computer science, heavily.

I absolutely agree that learning programming languages isn't enough. However,
just learning algorithms and structures and doing programming projects isn't
enough either.

AFAIK, around where I am institutes of higher learning don't usually have a
great track record for exposing students to a wide variety of languages.
Usually it's Pascal and/or C/C++, with some Java mixed in. While they are
"nice" languages, there's a lot more to other languages than can be learned
from those four.

And having the theoretical background doesn't actually help you program. To
illustrate, here's a snippet of code similar to something I saw on a monitor
where I went:

typedef class {
  ...

Quote:} C;

main()
{
  C c;

  c.C();
    ...

Quote:};

While the student knew that objects have a constructor, he never realized
(was never taught?) that constructors are called implicitly.

Also, I did mention FP; I mentioned Lisp and XSLT as examples of FP languages.
And Python can be used in both structed and FP ways.

And yes, a course or two in digital electronics and microprocessors never
hurts either.

--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

university studies?

Post by Brad Stewa » Sat, 04 Aug 2001 03:20:09



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

This makes me a little bit nervous...  I used to program a fair bit in BASIC ((Q|GW)BASIC mostly), and started learning C++ after that.  Could you elaborate a bit on the reasons?

Thanks

Brad Stewart

--

PGP/GPG public key: http://bradmont.net/brad_stewart.gpg

  application_pgp-signature_part
< 1K Download
 
 
 

university studies?

Post by Alan Co » Sat, 04 Aug 2001 03:30:09



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

> This makes me a little bit nervous...  I used to program a fair bit in BASI=
> C ((Q|GW)BASIC mostly), and started learning C++ after that.  Could you ela=
> borate a bit on the reasons?

pascal is a language that teaches you structured programming by making it
excruciatingly painful to write anything else. You can write basic in C and
sometimes people going from one language to the other basically do that.

If you have few classes and a lot of 5000 line subroutines then worry, but
there is no reason to assume that every ex basic programmer isnt going to
pick up C++ and good software design practices just because they once
wrote basic
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

university studies?

Post by J . A . Magallo » Sat, 04 Aug 2001 03:50:07



Quote:

>If you have few classes and a lot of 5000 line subroutines then worry, but
>there is no reason to assume that every ex basic programmer isnt going to
>pick up C++ and good software design practices just because they once
>wrote basic
>-

I have seen several ex-Fortran programmers fill C code with wrappers to still
think on vectors ranging 1..N instead of 0..N-1. It is hard to loose traditions...

I would make students learn C++ first. There they can see how inneficient can be things
if misused, and how useless is Programming or Algorithmic Theory without low
level knowledge of the compiler system. Then you know that
database = databse + record is BAD, and database += record is not so bad...

Then go back to C and apply all you have learnt in C++.

--
J.A. Magallon                           #  Let the source be with you...        

Mandrake Linux release 8.1 (Cooker) for i586
Linux werewolf 2.4.7-ac3 #1 SMP Mon Jul 30 16:39:36 CEST 2001 i686
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

university studies?

Post by Matthew Gardine » Sat, 04 Aug 2001 19:10:13


Quote:>>>>>>>>>>>>>>>>>> Original Message <<<<<<<<<<<<<<<<<<


Re: university studies?:


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

> > This makes me a little bit nervous...  I used to program a fair bit in
BASI=
> > C ((Q|GW)BASIC mostly), and started learning C++ after that.  Could you
ela=
> > borate a bit on the reasons?
> pascal is a language that teaches you structured programming by making it
> excruciatingly painful to write anything else. You can write basic in C
and
> sometimes people going from one language to the other basically do that.
> If you have few classes and a lot of 5000 line subroutines then worry,
but
> there is no reason to assume that every ex basic programmer isnt going to
> pick up C++ and good software design practices just because they once
> wrote basic

Hmm, my first programming experience was using BBC Basic, then I moved to
COBOL, AMOS and now I am learning Java, which should be a interesting
eXPerience.

Just a side issue, has any one noticed the decline in the quality of IT
products over the last 15-20 years? Or is it just me?

Matthew Gardiner

_________________________________________________________
Do You Yahoo!?

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

university studies?

Post by Sean Hunte » Tue, 07 Aug 2001 19:20:06


I did a graduate diploma in Jazz, contemporary and popular music, and further
postgraduate music study.  I am now doing my MSc in computer science.  Lack of
a degree in computer science (or even a science-related subject!) has never
significantly hindered my career as a developer.

Sean


> Hi Peter.

>  > Ok, im 16 and looking at heading into uni as soon as ive
>  > finished year 12. I'm gonna head on over to uni, i am wondering
>  > out of curiosity what courses most kernel developers have done?
>  > im going to do either bachelour of computer science, or
>  > information technology, at a later date, when im done my studies
>  > im hoping to help with kernel developing, mozilla etc. etc., so
>  > i was wondering what people would consider the course that gives
>  > you "kernel development" sort of skillset-mindset any feedback
>  > is appriciated, please CC it to my mail adress at

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

> Best wishes from Riley.

> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/