4 ms·
Ask HN: What does a major in CS entail?
I'm a high school student thinking about majoring in Computer Science when I go to college, but I want to learn more about it first. What sort of courses do you have to take? Is majoring in CS at all useful, or should I choose something else and study it in my free time? Is the major's value highly dependent upon the teacher/college/student environment? Thanks for any information you're able to offer.
- joeycfan 17y agoyou dig deep into small areas of math. Take electrical engineering instead.
- dunstad 17y agoThanks for the advice, but could you be more specific? What sort of small areas, and why do you prefer electrical engineering?
- Derferman 17y agoAs a CS major at Berkeley, this is not the case. As the above poster said, the curriculum varies widely depending on the college.
- dunstad 17y agoWould you mind describing your course load or some of your assignments? Mainly what I'm looking for is a frame of reference to steer me toward or away from this as a major.
- jhancock 17y agoYou really should study the curriculum for a particular school. Last I looked, CS programs vary widely. Find a school you like and can afford and see if the program looks like it suits you. Also, there is whole lot more to college than just your degree program. If you post several potential schools here, you may get detailed feedback from those that went through the programs.
- DanielStraight 17y agoRight, it's all about where you go.
- dunstad 17y agoGood idea. I was thinking about Missouri S&T, SEMO, and UMSL, but any other unusually good (or bad) programs people know about would be nice to hear of as well.
- tjr 17y agoIf you're looking at the St. Louis area, you might also consider Washington University.
- arebop 17y agoI was at Truman for undergrad and WUSTL for MS. I think Truman's undergrad curriculum is fine and the profs care about teaching more than anything else. I'm glad I took courses in philosophy, art history, literature, anthropology and so on; Truman is probably a better place to do that compared to MS&T. But, if you wind up wanting to be a CS researcher (PhD), then it would be good to get involved with prestigious research as an undergrad. Also, undergraduate students at WUSTL can enroll in graduate courses to increase the breadth and depth of their CS education. I wish I'd discovered before midway through junior year that I'd like to be a CS researcher. Also, I believe most jobs for which a CS degree is nominally required have very little to do with CS, and I wish I'd known earlier that the differences among programming jobs were not superficial. Program goodness is not an objective, scalar quantity. The smallest part of the value I think is in the curriculum. Truman's was much the same as WUSTL's and from what I've seen in the course catalogs they both seem similar to CMU's and Stanford's. I will admit that the Webster University curriculum seems rather different. Another component of value is teaching skill. I have no idea how you'd assess that ahead of time, unfortunately. Famous profs are not always skillful teachers. I've had really excellent profs at both Truman and WUSTL. More at WUSTL than at Truman, but then WUSTL's a bigger department. I've had terrible profs at both Truman and WUSTL. Your fellow students can make a big difference. Not only is it much easier to be hired by someone you know, but while you're in school together you can inspire each other to work on great projects. I think that doing the overnight visit circuit coordinated by each admissions office was helpful for sampling each school's culture. I didn't know it until after I'd been at university for a few semesters, but the best indicators of my love of CS were: (1) I enjoyed the number theory topics in my 6th grade math class (2) proofs in geometry were fun (3) proofs in calculus class reawakened my dormant interest in math classes and (4) I had an addiction to programming that endured from grade school through high school and to today. Look up the degree requirements at a couple of schools, Google for the course web sites, and browse the lecture notes and homeworks to map out the foundations of CS. Take a look at Communications of the ACM and IEEE Computer to find out if the frontier of the CS field interests you. Do the overnight visits and hang out with some current students; talk to them about what they like about CS and see if you feel the same way. Good luck.
- known 17y agoIn the current economic scenario, I'd recommend CS + MBA
- sweis 17y agoThe curriculum will vary by university. I remember taking these classes for an undergrad CS degree: - Structure and interpretation of computer programs - Data structures - Machine structures - Digital circuit design - Operating systems - Programming languages and compilers - Algorithms - Randomized algorithms - Parallel algorithms - Computability and complexity - Databases - Computer and network security - Discrete math - Linear algebra - Number theory - Numerical analysis I'd pick a school that was good in several areas, then take the entry-level CS courses. If you like them, stick with it. If not, switch to another major. Someone already mentioned this, but a lot of course material is online. For example, here are some from MIT: http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/index.htm http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Compute...