Fog Creek Software
Discussion Board




Which of these CS Courses are Most Valuable?

My background:
* Already have a BS in Math
* 8 years - Visual Studio Code Monkey (full time)
* In school part time to get BSCS
* Intend to specialize in AI in grad school (part time while still working)

I need two more computer sciences courses to graduate.  Which two are most valuable? 

(1) Artificial Intelligence II
(2) Senior Level Operating Systems class (kernel hacking 101)
(3) Simulations

bob
Thursday, January 08, 2004

The ones that give you the flaming thigh sweats... follow your bliss.


Thursday, January 08, 2004

1,3
Join a mailing list if you want to learn about an OS.

Tom Vu
Thursday, January 08, 2004

Not wanting to state the obvious but...best bet would be to read the course notes, and ask your lecture.

Aussie Chick
Thursday, January 08, 2004

>> "Not wanting to state the obvious but...best bet would be to read the course notes, and ask your lecture."

You're right... and I did just what you suggested.  I'm interested in them all equally, and, predictably, each professor said his/her course was the most valuable.  :-(

bob
Thursday, January 08, 2004

Of course, I meant ask the lecturers, not of the courses, but who would be involved in your graduate study.

I would go with the Advanced AI, actually I am drooling, I would love to be doing that.
I am interested in AI, and yet it is not really where I have an aptitude (I swing more to engineering I guess), but from time to time I drift of and embark upond AI projects and read books on it etc.

Maths, Comp Sci, AI. Yum-my!

Aussie Chick
Thursday, January 08, 2004

I would recommend operating system if you want to be working with high performance systems, but only an advanced OS class will hurt you badly enough to make you dream in NUMA and sneeze out linux modules when you catch a cold. An introductory one will help immensely in helping you figure out why some architectures you see in the programming world look so odd and what benefit these mind-twisting apis do for you when they hook into the kernel code.

If you want to learn how to think about a problem and sit in class next to lots of lateral thinkers you'll probably want to take AI, but it will only make you interesting at a geek party.

Li-fan Chen
Friday, January 09, 2004

I'm going to assume you mean valuable to a professional programmer --

1) Operating systems, by far.  As a programmer I didn't think I would come across such issues as often as I have.  I took the standard course, but it kind of sucked.  Contrary to prior posts, and OS class is not the same thing as reading a Linux manual, or knowing how to install and configure Linux.  ESPECIALLY if you are concerned with performance and real-time systems, you must know OSes.  In my experience, most programmers have weak knowledge of multitasking, and it's becoming more and more important to know this.

2) Simulations -- for some people this is useful, for others not

3) AI -- dead last, wasn't impressed by my AI course.  I was involved with AI for awhile but got out of it.

But you already said you were interested in AI, so that seems like a no-brainer.  If you liked AI 1, then I suppose you will like AI 2.  In my experience, there is not that much AI stuff you would use as a professional programmer, unless you're doing some sort of AI research programming project.  It is rare (but not unheard of) for "software products" to use AI techniques.

Andy
Friday, January 09, 2004

I sorta agree with Andy on this one.  I didn't find AI (the CS course) at all interesting.

I did take some Cognative Science which was very interesting but purely in a philosophical sense. 

Almost Anonymous
Friday, January 09, 2004

My college experience is that most courses seem to skip over a lot of the interesting stuff you'd like to learn. If you can find out what is *actually* covered, you can make a better decision about what you'll enjoy.

As for valuable, well, I know I haven't retained much from too many of my classes. But I have the books, so I go and refresh my memory as needed.

I've never thought that the value of education was in the information learned. The value is in the learning of the information. Once you are good at learning things, everything else is trivial.

Just my 2c.

Mike Swieton
Friday, January 09, 2004

Just a heads up Andy,

> Contrary to prior posts, and OS class is not the same thing as reading a Linux manual, or knowing how to install and configure Linux.

I didn't say taking OS is anything like learning to admin Linux, read my post again?

Li-fan Chen
Friday, January 09, 2004

Li-fan --

I wasn't referring to your post actually -- someone said that if you want to learn OSes you should just join a mailing list.

That is what I thought before I took an OS course.  : )  There is a lot to know, and I am cautioning people to understand it.  I think your post was along the same lines as mine.

Andy
Friday, January 09, 2004

My goodness, can you learn OS concepts hanging out on mailing lists???

*faint*

I agree, at the VERY VERY least grab something long the line of Tannebaum OS series.

Li-fan Chen
Friday, January 09, 2004

1 and 3.

The OS class at most universities is just a spoonfeed of the Tanenbaum or Silberschatz OS books.

Just me (Sir to you)
Friday, January 09, 2004

pls which of this cs courses are most valuable

fasusi steve felix
Friday, January 09, 2004

None of the above. I doubt any of the courses will have much of value to you, that you don't already know or couldn't find out in a few hours of your own time spent reading up on it.

So I'd choose whichever two courses best fit into your schedule. Try to get mondays and/or fridays off is always good. ;)

Or even better, take two courses in another field if you can and still get credit for them, they might actually be useful and informative. Not to mention interesting.

Sum Dum Gai
Friday, January 09, 2004

Skip the "AI II" class.  It seems like an advanced survey course.  If possible, take a class in a particular area of AI: expert systems, computer vision, genetic algorithms, language comprehension, etc., where they can go into a lot more detail, rather than scrathing the surface of one of them. That's what AI I should have covered...

joev
Friday, January 09, 2004

First on a comment made by Sum Dum Gai

"None of the above. I doubt any of the courses will have much of value to you, that you don't already know or couldn't find out in a few hours of your own time spent reading up on it."

Aren't most courses like that? The solution is to find courses that give you exposure to information you don't even know it exists.

Go back to the question. Which courses are most valuable depend on what you know and what the course contents are.

Talk to faculty members and graduate students of CS department for advice. That's why you paid so much for college. :)

Rick Tang
Friday, January 09, 2004

Thanks for the advice, everyone.

bob
Saturday, January 10, 2004

If you want to do AI then I'd imagine that the O/S course is the least relevent (if AI programs run on top of, well above, the O/S).

Christopher Wells
Saturday, January 10, 2004

"Which two are most valuable?"

Tough question. They're in very different problem domains, though AI and Simulations _may_ overlap, but probably only to small degree if at all. It comes down to preference. I wrote an OS for my degree year project and learned volumes that I otherwise wouldn't have been exposed to and it made me a markedly better coder, if only for developing a better 'empathy' or understanding of the system.

10101
Saturday, January 10, 2004

"Join a mailing list if you want to learn about an OS."

Bah.  It would be nice if the people on the OS mailing lists would take a good OS course.  For my tastes, that one will be most interesting, but my taste should be irrelevant to you.  The key issue is which you crave most to explore.

Take all three in the order they excite you.  Drop one if you find it disappointing.  Cherish the opportunity if they all turn out good.

veal
Monday, January 12, 2004

*  Recent Topics

*  Fog Creek Home