Ask YC: is networking class worth it?
Hey, expert web app writers. Problem: I have a choice between taking networking or mathematical logic in my final semester. I prefer logic, but in June I'm joining a startup and there's pressure to learn "the practical stuff." So the question is: would taking a networking class give me a big edge, vis a vis writing web apps? Or is this stuff pretty easy to pick up?
Overview of the networking material is here: http://remus.rutgers.edu/cs352/F07/#Lecture_Notes
The course project is writing a bittorrent client in Java.
16 comments
[ 2.7 ms ] story [ 53.2 ms ] threadAlso - don't stress over it. It's your last semester, you'll have the rest of your life to learn whatever you didn't learn at Uni.
Mathematical logical has very little to do with digital logic.
Then again this theory of learn is completely out the window when it includes someone of expertise. I would be much happier and consistently motivated to take an intro to high-level programming class from Guido (Python) than some recent grad student.
I would personally take networking, because I tend to find mathematical logic, as it is typically taught, quite dull. There are better ways to make sense of things. For example, people still teach Godel's Incompleteness theorems as he proved them, yet with the halting theorem, which many a drunk freshman can understand, it falls out quite naturally.
Perhaps a more applicable example in web applications is the use of things like Ruby on Rails ActiveRecord. If you had no idea how ActiveRecord worked, you might end up making zillions of database queries without even realizing it. I have a feeling this is part of the reason some people have trouble scaling Rails apps...
In the case of networking and web apps, at the very least it's a good idea to know things like the difference between TCP and UDP. You probably don't need to know routing protocols and that sort of thing though.
That said, I'm not sure which to recommend. I took some of both (2 networking courses, and basic logic was covered in discrete math and 2 AI courses I took... including the one I have a final for in 7 hours...) and I've found the networking ones to be much more applicable, but it's also good to know about logic as well.
So, I would take the networking course because it'll give you a broader perspective. You'll never know what problems you'll run into, nor the solutions to those problems, but having a broad and diverse background allows you to direct your efforts into the proper direction for the specific problem.
and Web 2.0... WTF!... I'm sorry but that's a ridiculous topic to have in a college networking course. Is "Web 1.0" a prerequisite?
I wish I would have taken this course as an undergrad.
For CS work, networking definitely a better idea - it's very important to understand how the things you're building on top of work, and it's not all as simple/intuitive as it seems.
Math logic, on the other hand, is enough fun that with a little curiosity, you should have no problem learning everything on your own.