5 ms·
Ask HN: What universities are good? (Undergrad)
I have been reading an unfortunately large amount of articles here on Hacker News seemingly deterring prospective students like myself from entering a university, especially from the field of Computer Science. They cite large tuition/living costs and "wastes of time" as not worth the potential four year education gained. These articles and blog posts claim that jumping straight into industry is an acceptable and perhaps even favorable alternative.
I refuse to buy into this idea as I crave the challenge that I feel a good computer science program can bring as well as want to experience the good ol' college life. Are there still places out there that offer a diverse undergraduate Computer Science program that goes beyond teaching Java and C++ and focuses on the application of these technologies to create things? Are there schools out there that will let undergrads touch research and tackle the problems that current computer scientists face today? Or is this asking too much of a pre-graduate program?
- Skywing 14y agoI think I now understand why the naivety of a high school student is a good thing. Wish I could go back to those days.
- michaelkscott 14y agoThere are lots that are good. MIT, Stanford, Caltech, Berkeley, CMU, Harvard, Princeton, UCLA, UCSD, Cal Poly, and hundreds more.
- gamechangr 14y agoAny recommendation I couldn't read about in every top twenty list? Or are these really the best for LEARNING (VS JOB POTENTIAL)
- gamechangr 14y agoAny recommendation I couldn't read about in every top twenty list? Or are these really the best for LEARNING (VS JOB POTENTIAL)
- aaronz8 14y agoRemember, there are multiple ways to accomplish things, and some are more suitable for some than others. 1. Some people learn theory first, and from this discover more advanced theory that helps them eventually apply knowledge. 2. Some people learn applications first, and learn theory as necessary. In the software industry, it's very easy to fall into the trap of #2. I mean... it's way more fun to build something that people can use, than read a textbook and hear a professor talk. However, you should keep in mind that if you choose this path, you are starting at the same starting line as everyone else. Learning the theory behind applications gives u the advantage of having a starting line that is ahead of most people. Consider this scenario: You are an incandescent lightbulb assembler. When you first started, you did not make them very well. Some of them didn't light up, some of them were dimmer than others. However, as time went on, you made better and better lightbulbs. Soon, you become the world's best incandescent lightbulb assembler. But, someone invented LEDs. You don't know what's wrong with your bulbs, since there is nothing inherently ~wrong~ about incandescent bulbs. But you know nothing about why it works, only how to assemble it.
- aaronz8 14y agoBut, to respond to the original question... Carnegie Mellon is pretty cool :)
- logn 14y agoJust about any school of any sort with a CS program is good enough. The point of all this writing on college not being worth it is that the expected value of a $200K education is not much higher than a $50K one, or maybe even $10K. >"Are there still places out there that offer a diverse undergraduate Computer Science program that goes beyond teaching Java and C++ and focuses on the application of these technologies to create things?" You won't find much of this taught in the classroom. Seek out schools with strong co-op or intern programs. Many community colleges even have co-op programs. Co-ops are basically forced internships and the college does a lot to get you hired. But it's really not much different than spending your summers interning.
- zerohp 14y agoThe assumption behind all the "college is a waste of time" advice is that you're smart enough, and willing enough to teach yourself. I am like that, and I'll assume you are too. Being smart enough isn't enough, you have to expose yourself to a variety of ideas. I started programming in basic in 3rd grade. I graduated high school in 1996, spent three years in tech support and started programming professionally in 1999. According to my salary I never missed anything by skipping college, but I always felt like I missed out. Two years ago, while working as a telecommuter, I decided to pursue a degree and started taking classes at community college. The math and physics courses opened my mind to ideas that I never really put much thought into. College opened my eyes to ideas that I never would have studied on my own. I quit my job and enrolled at University of Illinois this spring. While I have not yet pursued research, I know that there are many opportunities for undergraduates to research in computer science. Professors typically want junior or senior undergrads because they have enough coursework in the fundamentals to be useful. Right now there is a huge push from the school to get experienced freshman and sophomores into research. They have a funded mentorship program that pays graduate students to work with one or two undergrads on their research. The problem is that they can't get enough underclassmen to apply to the program. Many of the people that post on Hacker News that post a low opinion of the college education were educated in college themselves. Only a very small minority of posters have seen both sides of the coin. I have become a completely different person in the last two years since I started college. This experience has been far more costly for me, at 35, than it is for a typical college-age student. If I add my tuition, fees, and expenses to the opportunity cost, due to lost salary, I am paying $140k a year to go to college. I have no regrets; this has been the best experience of my life. You've probably heard the old saying that youth is wasted on the young. I think college is also wasted on the young. Those that denigrate college were not yet self-aware enough to realize the benefit they gained from that experience.
- gamechangr 14y agoExcellent post. Exactly what I needed to hear. I am a little older than the average university student and have wondered exactly what you posted. The fact that you have "seen both side" is exceptionally helpful.
- logn 14y ago
- SpikeDad 14y agoWhat state? You're not likely to get a good value from an out of state schools considering the cost. What's your GPA? If it's top of the class, then you don't have a problem. Otherwise, you'll need to look in state again. And if cost or GPA isn't an object then michaelkscott comments are the most valid.
- gamechangr 14y agoMissouri. I have looked at Truman State , a pretty good LAC, but I expect to relocate. I am thinking Texas or California for the good and hopefully affordable options. I would go to CC and transfer. Grades a good 3.8 SAT/ACT don't remember (I think I had a 31)
- ig1 14y agoI think your view has been skewed by a relatively small number of anti-university articles, the reason you don't get pro-university articles is that it's the status quo so people don't feel the need to argue for it. The majority of successful professional software developers (if you look at say Google or at YC founders) hold degrees.
- gamechangr 14y agoGood point. I just kept reading very vocal people strongly against it. You're right, the others probably just didn't comment.
- caw 14y agoTake a look at US World News & Reports and their top 10 list. Any of those would be good choices. There was a syndicated article featured on Yahoo a while back about best value colleges, and Georgia Tech was top value (cost vs avg salary when you get out). I know they are in the top 10 for undergrad CS. There are undergraduate research opportunities available, where you basically take research as a class. At GT it's called UROP (Undergraduate Research Opportunities Program). I know a few people who did it for CS, and they offer it in their other programs of study as well. As far as language goes, I think I had 2-3 classes at most in a particular language. Some didn't have a language requirement, it was whatever. In no particular order, I used: C, C++, Cg, Java, Smalltalk, Ruby, Bash, Perl, PHP, HTML/CSS/JS, Matlab, Python, Processing, and SQL (if you count that). I also didn't know how to program before I went to college. As far as paying for colleges go, you may want to check into reciprocal in-state tuition agreements between states. I think most of the time it's for bordering states if your state doesn't have a good program of study. Otherwise, I'd highly recommend work-study, co-op, or internship programs since you'll earn money and get experience as well.
- gamechangr 14y agoI am tried to avoid looking at college rankings, as I know that doesn't really measure learning...just prestige. I have looked at GT and heard from friends that it was hard (in a busy work negative way), but well priced. It's on my list of potentials.
- caw 14y agoAbout the prestige - Why do you think they're considered prestigious? Is it simply word of mouth, or is there something behind it? Not saying you can't find something on the top X list that provides a good learning experience without the prestige. I never really felt that my classes at GT were at busy work. Definitely difficult, until you look back later and ask yourself why you ever struggled with that, it was so easy compared to what you're doing now.
- gamechangr 14y agoGood to hear that you thought the work was useful. GT just went up a few points! I hate to make generalizations with so little data.
- mindcrime 14y agoPretty much any accredited university that has a CS program should be fine. It's not the school, it's the student. If you want to optimize for value, go to a small state school in your home state (assuming US). Then take the initiative to expand your education beyond what you get from your school, based on your interests. There's TONS of free educational material available online, a zillion dead-tree books out there on every topic imaginable, all sorts of great stuff at Coursera, Udacity, etc. There are all sorts of open source projects to participate in, forums to ask / answer questions in, research papers to read, code to study, etc., etc., etc. You can become as good as you want to be, and you don't need to go to Stanford or Harvard to do it. Also, if there is a hackerspace near you, find it and join it. Get involved in all the crazy stuff that's probably going on there. I can't speak for any other hackerspace, but at SplatSpace, the range of projects people are working on is mind-boggling. You have a guy doing a system based on Inductive Logic Programming in Prolog, to generate candidate molecules for new drugs, and then reason out the metabolic interactions and try to proactively find compounds that will be useful. You have several people building and operating 3D printers. There's a guy building a coilgun (OK, that's me). You have a guy working with a researcher at UNC doing "forced evolution" research. Another guy is doing something with an interactive fiction platform. Somebody else just built a Raspberry Pi based tabletop form-factor game cabinet. Somebody recently built a Mantis PCB mill. One guy is working to fully automate his home brewing setup. Seriously, the knowledge, the vibe, everything available at a hackerspace can be awe inspiring. Or is this asking too much of a pre-graduate program? Don't ask it of the program, ask it of yourself. Of course, talk to your professors and see if they can help. I imagine many (most?) will be VERY happy to help a motivated student who wants to go beyond the standard curriculum and do interesting stuff.