CS etc

Jul 11, 2009 03:59

I'm slowly getting the impression that the field I knew of as "computer science" when I was an undergrad (remember when the undergraduate catalog listed a "scientific computing track"? CS majors don't do that shit anymore) is slowly schisming into a bunch of only-tangentially-related fields ( Read more... )

Leave a comment

Comments 19

soong July 11 2009, 12:52:42 UTC
I once learned a dozen different ways to sort. Now I just call any language's standard library sort function with my array of data and my compare function. I can imagine having to write a merge sort by hand because of needing to manage the IO carefully. I will sometimes write a bubble sort because it's so very few lines of code, easier than using the standard library, and isn't going to process enough data to need to be more efficient ( ... )

Reply

rmitz July 11 2009, 16:59:14 UTC
I'm not convinced that if you don't have the basic understanding of how a sort *works*, what its algorithmic complexity is, you have any real ability to think in programming at all, though.

Reply

angelbob July 11 2009, 17:30:08 UTC
Well, yes. The way we usually transfer that information (basic understanding of runtime and fairly generic algorithms) is with a small number of examples including sorting that we feel most people will need to do at some point.

I'd argue that sort isn't a lot better for it than many other choices, though. There's a natural tension between "this illustrates different programming techniques" and "this is something you will actually use", and sort is more at the sweet spot of those things intersecting than the best possible example of the first category.

Reply

r_transpose_p July 13 2009, 23:54:07 UTC
How long do you think until "sorting" is considered a systems topic?

Also, I wonder if we'll all start having to use something like "distributed sort" in the future.

I have n networked computing units, each of which stores about k things, and I'd like the first k on the first unit, the next k on the next unit, etc...

I think, so long as sending 10 numbers takes 10 times the time of sending 1 number, some distributed version of quicksort still comes out pretty good...

Reply


catamorphism July 11 2009, 16:29:04 UTC
I don't see why there's an inherent reason why you couldn't understand PL theory without getting another degree, if you put enough time into it. It's all just logic.

Reply

angelbob July 11 2009, 17:33:11 UTC
Sure. There's nothing magic about a degree. But he would need work/effort roughly equivalent to a different degree.

Reply

catamorphism July 11 2009, 17:51:08 UTC
I don't believe that it would be that much work. I work on PL theory, and most of my own difficulties learning the field have been due to my lack of mathematical maturity. If I'd started with a math Ph.D., it would have saved me a lot of time. Doesn't matter what kind of math.

(Whether he should want to is a different question...)

Reply

r_transpose_p July 14 2009, 00:20:00 UTC
I am scared shitless of category theory.

Also : I was mighty pissed when people started using category theory for one of my favorite control theory topics : Hybrid systems are systems in which a discrete computational thing controls discontinuous switching for the dynamics of otherwise continuous control systems. I was all excited about it as a research area because
  1. the uses of it are obvious in the 'everything is networked and control is done by embedded computers' world
  2. I know a lot more discrete math than most control theorists
  3. Its new, and, until recently, nobody had said anything deep about them

Then some fucker* figures out that you can use category theory to transform theorems about non-linear differential equations style control onto theorems about the discrete components of hybrid systems and hybrid systems in general.

Now, if I want to make a big splash in this area, I have to
  1. Understand the common category theory transformations being used here
  2. Exploit the fact that discrete theorems are easier than continuous ( ... )

Reply


angelbob July 11 2009, 17:31:44 UTC
Now I'm kicking myself for not taking networks instead.

The CMU Computer Networks class was worthless if you own the book. You missed nothing.

Reply

soong July 11 2009, 23:39:53 UTC
I think it was a good survey of the topics, but the project part of writing toy crippled TCP was kinda lame. Some time well spent with tcpdump is possibly as useful.

Reply

zml July 13 2009, 17:47:15 UTC
Yeah, I didn't take networks. I picked up TCP on the job, and, after borrowing the book from Adam, learned that the CMU textbook for the subject was basically useless except as an overview. It didn't really cover the hard stuff in any meaningful way.

Reply

r_transpose_p July 13 2009, 23:14:57 UTC
Any recommendations for how to go about learning that stuff? Assume it needs to be done in short chunks...

Reply


Leave a comment

Up