Last year, I volunteered with the mentoring program run by MIT’s office of minority engineering. I was connected with a sophomore studying computer science.
It was actually my second year with the program, but the first go around went nowhere. Last year, I was determined to take the initiative to make it better by sending regular mails on some topic I thought would be useful to him.
This is the first couple of those:

When I do interviews I always ask the same two questions.

1 write a function that reverses a linked list in place. You should use only a constant amount of extra memory

2 write a function that computes x to the y power. Where y is an into.

That’s it. I’ve only had one person breeze through them. The majority probably only do one.

The second one was taught in 6.001. 6.01?

A friend of mine just switched from Intel to Google. He told me this book is great

Googling, it appears to be available in PDF. Not sure if that’s pirated. Haven’t read it myself

Have a good week

Here’s the second:

When we talked before, I mentioned (I think) that in classes like 6.005 (6.170 in my day), source control is mentioned but not stressed. I feel it’s a critical part of practical programming. To that end, I recommend that you try to do some basic GIT operations on some files. The dotfiles in your unix account would be a good start.

git init

git add .emacs

git add .cshrc

git commit

and so on.

I also recommend these readings:

the first couple chapters of this book:

To augment that:

and if all that isn’t enough, I suggest you become comfortable with the diff and patch commands. They have existed since the beginning of unix time (as in when I was a little kid and before) but I only learned to use them maybe 5 years ago. I wish I hadn’t waited that long.

As it happens, many MIT classes expect students to submit problem sets/projects via a GIT push.
And a third:

As you make your way through MIT towards a career, I think it’s important to think about how you want to impact the world.
here are some of the people that I admire. Most of them are not programmers, but they have carved out a niche with an approach that can be learned from. I agree with everything he’s written. 
this entry is relevant to the stuff I’ve been saying about how I interview: In particular, he has good thoughts on starting your own thing (not that I’d know. I’ve always worked for Intel) I like the way he expects and appreciates excellence. you can learn a lot about designing stuff. The guy from eevblog does a podcast with someone else interviewing people doing cool stuff. It’s EE stuff but he teaches really well, I think. Can help with 6.002 an 6.003 I believe she never went to college.
SimonK and timecop are just hackers doing quadcopter type stuff. They were asked to design some stuff:
Mails to my mentee #1-3

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Miles's thoughts