3 ms·
I'm utterly terrified of any CS curriculum that allows a student to graduate having taken only one year (three quarter-long classes) that require programming. W
by larsberg 17y ago
I'm utterly terrified of any CS curriculum that allows a student to graduate having taken only one year (three quarter-long classes) that require programming. What are those students going to do when they graduate? Manage? I guess it's Stanford, so they can always just join a startup...
- jorgeortiz85 17y agoHuh? If your track is something like Systems or Graphics you're going to be taking A LOT of programming. But even if your track is something like Human-Computer Interaction (HCI), you still have to take CS106A, CS106B, CS107, CS110 (all programming classes), plus at least one of (CS 108, 124, 140, 142, 221, 229, or 249A) which are all classes that have programming assignments. In all likelihood you would also take a programming class for your Track B requirement. This is in addition to at least 4 math classes, 4 science classes, and 2 engineering classes, which may not involve programming but are certainly good foundations for any programmer to have. Source: http://ughb.stanford.edu/OSA/handbook/handbookfiles/ps09.html http://ughb.stanford.edu/OSA/handbook/handbookfiles/ps09.htm...
- mlinsey 17y agoTo summarize what Jorge is saying, that's three programming classes which are part of the core, ie classes that all CS students must take, regardless of which track they choose. After the core, each track has its own requirements, and even the more coding-light tracks require many additional programming classes.
- akeefer 17y agoThe point of a top-tier university education in CS is much more the theoretical side of things (lambda calculus, graphics theory, np-completeness, algorithms, discrete math, etc.), which most people are less likely or able to pick up on their own. Programming as a skill requires constant practice for years, just like writing, and isn't something you can teach as easily in a 10- or 15-week course. I would say that especially at higher-end universities, there's also an assumption that you'll figure out the programming part on your own. The rather brutal CS 248 class at Stanford, for example, requires you (or at least used to) write a 3D game using OpenGL, while the class itself is solely concerned with graphics theory, techniques, and algorithms: it doesn't cover OpenGL in the least, and the students are expected to learn it, along with whatever other technologies they need to write the game (input, sound, etc.) on their own. That means that, yes, you can graduate with a BSCS without being a good programmer. You can also get an MS or Ph.D. in CS without being a great programmer. As a general rule, theoretical computer science and programming are very different skills, and knowledge of one aspect does not confer knowledge of the other. From all the interviewing I've done over the years, I think I can safely say that those rules apply to graduates of pretty much any college, not just Stanford.
- endtime 17y ago>The rather brutal CS 248 class at Stanford, for example, requires you (or at least used to) write a 3D game using OpenGL, while the class itself is solely concerned with graphics theory, techniques, and algorithms: it doesn't cover OpenGL in the least, and the students are expected to learn it, along with whatever other technologies they need to write the game (input, sound, etc.) on their own. I'm in the "new" 248 right now. We got to reimplement OpenGL in the first two projects (in summary: rasterization, texture mapping/filtering, and point light Phong shading (with per-fragment normals, which I believe is more than OpenGL does)). The third project involves using OpenGL to render a .3ds scene, while implementing bump mapping, shadows, reflection maps, and probably other stuff I'm forgetting. Oh, and we still have to make a nontrivial game for the final project, though we are allowed to use OGRE for it. Point is, it's a lot of programming.