1. 4

I’m noticing that a lot of the (relatively attainable) schools around here see computer science as just another branch of engineering, ignoring some of the added complexities inherent to it. On the other hand, those programs that do acknowledge the analytical nature of computer science tend to offer a more abstract, theoretical, liberal arts–type curriculum that’s less impressive to employers.

Are there any colleges in the Northeast that see computer science as a combination of math and engineering rather than just one or the other?

  1.  

  2. 8

    You say “liberal arts–type curriculum that’s less impressive to employers”, but the statistically top schools (in terms of job placement and salary) for engineers and CS majors are often exactly the programs you’re referring to. For example, my alma mater, Harvey Mudd, is a “liberal arts school” with hefty emphasis on humanities and theoretical classes, but ranks ~3rd in the nation in that category (http://www.payscale.com/college-salary-report/bachelors).

    Beyond that, pretty much seconding everything michaelochurch said. There’s a pretty significant chance you won’t be into the same things in 1 year, let alone 4. There’s even nontrivial odds you won’t even graduate with a CS degree, but rather something else! Be flexible. Don’t insist too much on defining your entire future based on what you’re into this week.

    1. 12

      You’re overthinking this. College is about the broader educational experience and the contacts that you’ll make, not the specific reputation of the department. As an undergraduate, you’re not going to get dinged by employers because your college’s CS program is “too theoretical”.

      That said, I can’t comment on the specifics, other than to say that MIT and Carnegie Mellon both have very strong reputations in CS. Penn and Columbia are reasonably well-regarded, too. Princeton is very strong for math; not sure where it stands in CS. Harvard is a middling CS department (around #20 if I recall correctly) but the name is gold if you decide to become a founder (which is about connections and pedigree, not merit). There are others that I’m probably forgetting, and I question whether it’s useful to evaluate colleges based on a “Haskell weenie” self-identification as opposed to the whole package of the experience (it is, after all, 4 years of your life).

      If you’re serious about computer science, you’ll probably end up wanting to get a graduate degree. A lot can happen in four years, though, so I wouldn’t ignore all alternatives.

      1. 4

        Thank you for your answer. I agree with pretty much everything you said; those are the cognitive biases I tend to have. All the same, I would like to go to a place whose curriculum I enjoy, since I have trouble paying attention to things that don’t interest me (don’t we all). On top of that, I’m not sure how to find a place that I could actually get into. I don’t expect you (or anyone) to have all the answers, but how do you think I would go about finding such a place?

        1. 2

          I doubt that anyone here has a good sense of what schools you can get into. It depends on your high school grades, SATs, recommendations, and high school reputation/prestige. There’s also a huge random factor, and the college admissions game changes every year. Some years, “well rounded” is in; other years, admissions officers want “pointy” students who are really good at one thing. Internet advice (of the kind that you’re going to get here) is not going to be especially useful. In the late 1990s, the way to knock an admissions essay out of the park was to have an “overcoming challenges” sob story; I’m sure that that means nothing now, but it was so in-style in the 1990s that private admissions counselors (not that I knew they existed at that time, much less could afford a fraction of what they cost) were advising rich white kids, who never wanted for anything, to make up stories about eating disorders to “overcome challenges” their way into the Ivy League.

          For an example of how much it changes, I’m 33, and so I went through the process in 2000. I still remember when it was typical to apply to 2-4 schools and you were considered a Class-A Douchebag Striver if you applied to 6. These days, I know that it’s fairly common to send out 5-10 (maybe more?) applications because it’s a lot more competitive.

          I would say that you should assume you have a ~50% chance if your SAT score matches the 75th percentile. That’s an oblique/harsh comparison (since the 75th percentiles at the most selective schools are very high) but remember that (a) at the most selective schools, acceptance probabilities are so low that even strong accepted students would be sub-50% on a re-throw, and (b) there are a lot of legacy kids and kids from prep schools who didn’t have to try as hard, and they’re about a third of the student body, so the correct representation of how hard it is to get in from a middle-class background is somewhere around the 67th percentile. Since the 75th is what gets published, use that as a guideline. But remember that a bunch of other stuff is in the mix (high school GPA, high school reputation, and various bullshit factors that you can’t predict or control).

          For an anecdote that won’t mean much, I had an automatic in at one of “HYP” (I knew a professor… and I attended MOSP so I would have been a strong candidate even without that). But my passion was for writing (I was good at math and CS, but didn’t develop a passion for those subjects until my mid-20s– after I had left math grad school) so I went to a small liberal arts college in Minnesota (Carleton). The education I got was as good as I would have gotten anywhere else, but I’d be lying if I said that I wouldn’t have done better in tech if I had gone to Stanford. That said, I’m probably a more interesting person (and I’m farther along as a writer) because I didn’t go to Stanford (or the one of HYP where I had an in).

          Pedigree matters, for what it’s worth, a lot in VC-funded, get-rich-quick, bullshit tech (and ex-startups like Google and Facebook that started on VC) because of their ageism culture. If you only get 7 years to make a case for yourself, pedigree and first jobs are going to matter immensely. On the other hand, there are careers that involve programming that aren’t as degenerate and that are closer to meritocracy, e.g. high-end game development and graphics, embedded development, and scientific research. In those, where a career is closer to 40 years than 7, pedigree matters a lot less.

          1. [Comment removed by author]

            1. 3

              To get into MIT […] You must make the cut of being judged to be able to do the work of the core science curriculum

              That’s a good point. The Ivies have room for rich legacy idiots, but MIT doesn’t want to water down its core program.

              Of course, if your goal is to be a startup founder, you probably still do better with Harvard because, even though the lower bound is lower, it’s more prestigious. This is independent of the quality of the school: Harvard is, in fact, quite a good school, but that’s not really why it’s prestigious.

              After that, it’s of course good if you’re not from a standard region of the country like the NE, a degree of geographic diversity is desired.

              I’ve heard of people moving to the mountain states when their kids are in the 10th grade. Does that “hack” actually work?

              Of course, the most effective Ivy hack is the traditional, old-style one: one of the “Eight Schools” (prep high schools). Admissions is a completely different (and far easier) game for them. And, when it comes to the kinds of connections that you need if you want to be a founder, prep school probably does more, in that regard, than any college (even Harvard or Stanford).

              There’s a weird inversion when you compare prep school vs. college vs. graduate school… they increase in meritocracy with age but they decrease in the social power and connections that they provide. The more meritocratic something is, the more it will be dominated by the middle class (and by immigrants) and the more repulsive it will be to the sorts of silver spoon douchebags that you need to ingratiate yourself to if you want to be a startup founder.

              Otherwise the usual things apply, but politically the school is not quite a Leftist monoculture, libertarians are accepted, “conservatives” have to pretend to be the latter.

              Do people really get rejected from college just because they’re conservative? I’m pretty far to the left and I still find that disgusting. If nothing else, peoples' ideologies at 17 aren’t especially predictive of who they’ll be in adulthood.

              1. [Comment removed by author]

                1. 1

                  Do people really get rejected from college just because they’re conservative?

                  Yes, it’s been found that being in the leadership of various student organizations like JROTC (surprise) or Future Farmers of America (OK, that’s a surprise) has a strong negative correlation with getting admitted to selective schools.

                  There might just be a slight correlation between being in those groups and having a less impressive academic record. Do you know whether this was corrected-for?

      2. 5

        Here is some rough and unpopular advice but something you might as well get knocked into your head sooner rather than later:

        Very few people care about theoretical computer science, and pure CS is of extremely limited practical utility.

        You’ll have plenty of time to goof around with Haskell and other academic subjects if you choose too–in the meantime, maybe focus on a school that has you do a lot of projects and team stuff. That will serve you a lot better in life than another fancy flavor of monad. Oh, and for all that is good and holy, learn some applied linear algebra.

        Also, what makes you think that CS is some special snowflake compared to other engineering disciplines? What are these “added complexities” that make it more special than, say, mechanical or chemical engineering?

        I think you should broaden your horizons a bit. Like, maybe to include other criteria like “will this school have a good social scene” and “is this school in a part of the country or world outside my comfort zone?”.

        1. [Comment removed by author]

          1. 1

            In my experience, once Real Life starts this might no be so true.

            For a person with a family and kids, sure. But if you are college age, single, and not in college, you’ll definitely have time to do academic stuff if you want. I’m saying this as a person who has done it.

          2. 3

            You’ll have plenty of time to goof around with Haskell and other academic subjects if you choose too–in the meantime, maybe focus on a school that has you do a lot of projects and team stuff. That will serve you a lot better in life than another fancy flavor of monad. Oh, and for all that is good and holy, learn some applied linear algebra.

            That’s the opposite of my experience FWIW. The ML course at university (that most students wrote off as overly academic) is the single thing that’s been most useful in my programming career, by a long way; the Java course by contrast was utterly irrelevant (indeed actively harmful, since it taught an older style of programming that leads to less maintainable code), and the group projects were oriented towards a less realistic style of collaboration (I learnt much more effective modes of collaboration by participating in open-source projects, even though I’ve never worked in a remote-first workplace), and the importance of linear algebra is vastly overrated (particularly in America for some reason?)

            1. 3

              My school (Carleton College) didn’t even offer courses in particular programming languages - they said “that would be training, and we don’t do training, we do education.”

              Other aspects of the Carleton experience have served me well - I’m much more able to speak the language of my clients than many engineers, for example. But at this school, CS was definitely treated as an academic, rather than an engineering, discipline.

              1. 3

                The ML course at university (that most students wrote off as overly academic) is the single thing that’s been most useful in my programming career, by a long way; the Java course by contrast was utterly irrelevant (indeed actively harmful, since it taught an older style of programming that leads to less maintainable code), and the group projects were oriented towards a less realistic style of collaboration (I learnt much more effective modes of collaboration by participating in open-source projects, even though I’ve never worked in a remote-first workplace),

                I agree with all of the above.

                and the importance of linear algebra is vastly overrated (particularly in America for some reason?)

                That I could not disagree more with. Machine learning, high-performance computing, and graphics are inaccessible if you don’t have a strong linear algebra background.

                Linear algebra is not loved by many people, mathematicians or computer scientists, but it’s important. I think of it as like an assembly language for math, physics, and computer science. It’s often painfully low level, and almost no one would want to make it a primary tool or area of research, but it lives under so much else that it’s worth learning as soon as one can.

                1. 2

                  Shrug. I’ve never really had cause to use it; maybe I was better able to understand the machine learning algorithms I worked on in my last job than someone without a linear algebra background, but that was largely a case of “read the spec/paper”. If we’re looking at areas of mathematics to learn I’d say graph theory comes up more often, as does logic and the kind of abstract nonsense (and comfort with manipulating abstractions) that you can learn from either set theory/category theory or from topology - those are the things that have been useful throughout my career and that I’d wish I’d learned more of.

                  You’re right that linear algebra is necessary for the low-level parts of machine learning, traditional HPC, and graphics. But the latter look like ever-shrinking niches to me, and I suspect the former will follow (it looks kind of bubbly); even if it doesn’t, the low-level implementations mostly already exist. Most of all it just doesn’t seem like the kind of mind-expanding subject where you get a lot of advantage from being taught by experts - it’s more a few simple definitions that you pound into yourself, and then a bunch of fiddly tricks for working with them, which is the kind of thing that’s easy enough to teach yourself from a textbook, at least for me.

            2. 3

              I can only report from personal experience, but Johns Hopkins might be a good consideration. They have a very practical CS department, and there are plenty of theory-heavy courses as well. There is nothing Haskell-specific, though. Let me know if you have questions.

              1. 3

                Hi nil,

                University of Massachusetts Amherst (UMass) has a professor that focuses on the theory of computation. Sounds like it might be up your alley.

                Also, Brent Yorgey (of Introduction to Haskell fame) went to William’s College in Massachusetts, and It is possible that they are still teaching his curriculum.

                Hope that helps,

                pab