Live data from Hacker News

Ask HN: A question for those who went to MIT/Stanford/CMU

news.ycombinator.com

31–40 of 57 posts

Re: Ask HN: A question for those who went to MIT/Stanford/CMU

#31
In my first college adventure, I learned Fortran, Algol-60, Simula,PL/I, APL, BCPL, and five assembly languages (MIX, IBM 1620, PDP-11, IBM 360,Burroughs 5500). We used Knuth AoCP volume I. My first job was programming a proprietary microprocessor with a mostly secret, weird architecture.

In my graduate adventure at Stanford, the course work was in Pascal, our research was in Ada (83), and I learned C, C++ (using Cfront), Prolog, Smalltalk, Lisp, and some formal specification languages. Assembly languages included DEC 10/20, VAX, Data General Eclipse, Sun IV, Cray I, and Sequent. Hennessy and gang were creating MIPS, and the CISC versus RISC debates were everywhere. My first job after Stanford was programming C and assembly language on IBM's brand new, unannounced RISC/System 6000 with a Unix-like OS. My next job was C programming on OS/2 on a very large office system with a homemade object oriented structure using C macros. The next job was a DARPA distributed system using CORBA where I brought in brand new Java to solve our multi platform GUI problem.

New programming languages are mostly boring; a Frankenstein collection of reused parts, badly stitched together. New frameworks are mostly silly.

Thanks to all of the parsing research in the early 1960s,resulting in LEX and YACC, plus books like the Dragon book, and Cooper's Compiler book, and LLVM, many programmers can invent and implement programming languages. But that does not mean that they SHOULD. Programming language design require aesthetics, which are not taught in Computer Science. Knuth's books are titled The ART of Computer Programming for a reason.

Re: Ask HN: A question for those who went to MIT/Stanford/CMU

#32

It's rather simple: A proper CS education, one that has all that "useless" theory that a number of HNers love to deride, equips its bearer to understand how anything in the software world is implemented. You don't have to study as hard to pick up a new technology or stack because you will know roughly what the underlying implementation has to look like and can simply poke around to identify the components and interfa…

This seems a bit like saying a physicist is more capable of understanding how satellites work than an engineer who designs satellites because he knows the underlying theory better. It's kind of true in some sense but doesn't really capture the context or nuance that goes into a non-trivial engineering effort, or the more general case asserted by the topic author.

Re: Ask HN: A question for those who went to MIT/Stanford/CMU

#35

Bigger question to me is - how do we non-Top4 plebs rise to even 70% of their level?

Study some of it yourself https://functionalcs.github.io/curriculum/ though you miss a lot not being in group projects, getting feedback from TAs and profs, ect.

Re: Ask HN: A question for those who went to MIT/Stanford/CMU

#36

Bigger question to me is - how do we non-Top4 plebs rise to even 70% of their level?

Study some of it yourself https://functionalcs.github.io/curriculum/ though you miss a lot not being in group projects, getting feedback from TAs and profs, ect.

I go to a school ranked ~48 by USNews. Concerned that I'll be I'll always be scraping the bottom, salary and respect wise because of it.

Re: Ask HN: A question for those who went to MIT/Stanford/CMU

#37

Earlier quoted context omitted.

Study some of it yourself https://functionalcs.github.io/curriculum/ though you miss a lot not being in group projects, getting feedback from TAs and profs, ect.

I go to a school ranked ~48 by USNews. Concerned that I'll be I'll always be scraping the bottom, salary and respect wise because of it.

CMU/Stanford is full of grad students who went to so-called lesser ranked schools. You could also do the background work and get one of your professors to write a recommendation for you to attend the Oregon Programming Language Summer School or other summer conference where you can learn from these Stanford/CMU/MIT professors and other students. https://www.cs.uoregon.edu/research/summerschool/summer17/sc... a friend of mine did this every summer and hustled a lot of internships out of it working in research at top schools because they remembered his name from the conference and emailed him when looking for interns after they received grant money.

Re: Ask HN: A question for those who went to MIT/Stanford/CMU

#38
post #16

Earlier quoted context omitted.

I would assert that, given that great engineers end up at these top unis, they are able to widen their gap with others by a) accelerating their skills/knowledge by associating with like-minded individuals, and b) being stretched by their respective colleges. My observation is that top colleges tend to lump more work of greater breadth and depth in their students. It's like joining a great sports academy where you dev…

/second, came here to say this too. The top schools give their students much more, harder problem sets, exams, etc. than others. Some grade on a curve too, meaning that if everyone scores between 90-100, they don't all get A's, rather the bottom third gets C's, the mid 90s get B's, and the top third get A's. Creates an extremely competitive environment that pushes folks with raw talent to really work hard to hone it.…

Yes. Competition is a powerful motivator. I recall at CMU one day when they gathered all us ECE students together in an auditorium and said "There are an order of magnitude (base 2) too many of you here - we will have to fail half of you out. Look to your left. Look to your right. Those two students may soon be gone." Swear to God a true story. Any fellow classmates ('88) can vouch for the meeting. Meant that a "C" was a great grade since you got to stay. Was terrible for one's GPA however.

Re: Ask HN: A question for those who went to MIT/Stanford/CMU

#39
post #32

It's rather simple: A proper CS education, one that has all that "useless" theory that a number of HNers love to deride, equips its bearer to understand how anything in the software world is implemented. You don't have to study as hard to pick up a new technology or stack because you will know roughly what the underlying implementation has to look like and can simply poke around to identify the components and interfa…

This seems a bit like saying a physicist is more capable of understanding how satellites work than an engineer who designs satellites because he knows the underlying theory better. It's kind of true in some sense but doesn't really capture the context or nuance that goes into a non-trivial engineering effort, or the more general case asserted by the topic author.

That's not a very good analogy. Most would agree, I think, that the separation between CS, as taught in most programs, and professional software development is far, far smaller than the separation between physics and aerospace engineering.

Re: Ask HN: A question for those who went to MIT/Stanford/CMU

#40
post #28
post #12

Earlier quoted context omitted.

CMU grad here, currently working on a PhD. All I can say is, this description doesn't apply to me. I'm definitely of the "work smart, not hard" persuasion. Persistence, I guess I have; but not an unbounded work ethic, or the focus to work on ten things at a time. Persistence for me means finding a new way to attack a problem, not pushing as hard as possible, John Henry style.

PhD student here, and I'm exactly the same. I procrastinate a lot (not good!), but I've been able to get things done. My current goal is to figure the optimal way to minimize procrastination...

I've recently​ made pretty good gains at minimizing procrastination.

First, I simply eliminated working on anything I didn't really need and/or want to do. I don't need to think about doing stuff I don't plan on doing!

Second, anything that needed to get done, I scheduled it. For simple tasks, I just created morning and evening blocks of time for home and work. The repetitive stuff I do first, and then I work on one off stuff until I don't feel like doing it anymore. It just gets done in the next block. For example, scanning N tax documents is lame, so I scanned maybe a dozen in one block, and just did the rest the rest in the next block. For important things, I schedule a single purpose appointment, and do my best to just make it happen.

Lastly, I bought a wall calendar, and nailed it to... aait for it... my wall. I "x" out every day I feel like I attended to the stuff I said I was gonna do. If I don't feel a "x" has been earned, it is usually for a specific reason, and I try to address that reason. I choose not to care about the "x" streak, days in in a row. I simply use the calendar to gauge whether I'm being as consistent as I'd like to be.

I've gone made pretty good gains on transitioning from Professor Procrastinator to Captain Consistent. Will always be a work in progress :)

Post reply on HN