The 5 Great Realities...
Hunter A. Pitelka, 2011
I had the great pleasure, while at Carnegie Mellon, to have found a class
that I really connected to and found a great passion in teaching. 15-213,
Introduction to Computer Systems, was founded on the theme that "abstraction
is great, but don't forget reality." On the first day of class, we introduce
the 5 "Great Realities" of computer systems. Through teaching over many
semesters, I've come to realize that the great realities are not just about
computer systems, but apply to life as well.
The 5 "Great Realities"
Int's aren't Integers and Float's aren't Reals
Always question your surroundings. Don't passively accept that,
just because somebody tells you something, it's true. Question the
decisions of your leaders, and encourage your followers to question yours.
You've got to know Assembly
You need to understand the level below what you do. When you
make a decision, your actions will affect more than just yourself. Think
about how your actions will be interpreted and received by others. Knowing
assembly helps you debug problems in C, and knowing how to do the work of
your team will help you realize how your decisions impact them.
Memory Matters
There are three points in life when we are given a blank slate:
when we are born, when we go to college, and when we graduate from college.
More than anything, malloclab taught me that when we have the blank slate on
the heap, we get to decide what gets written there, and how it gets
interpreted. We get to decide what kind of person we are, and we get to
decide how people view us. We're about to be handed that third blank slate,
what will you be writing?
There's more to performance than asymptotic complexity
Life isn't all about your GPA, or how much you'll be making next
year. It's about the trip. It's about what you actually do along the way,
the experiences that you have, the friends you make, and the ones you lose.
Being a TA has made college an amazing trip for me. My diploma and GPA
don't say anything about the countless hours I spent banging my head against
Autolab, coordinating AB Tech events, or spending time with friends. Those
experiences have defined my college journey, not the diploma I am receiving
at the end.
Computers do more than execute programs
And we do more than write them. An individual person is
amazing; their abilities, their qualities, and even their negative
attributes define who they are. I'm extremely grateful that being a Teaching
Assistant has given me the opportunity to meet so many of these great people
and to get to know them on a level that no professor gets to have. There
are so many amazing people at this school who will go on to do great things
with their lives, their story is so much more than the lab assignments and
exams that plagued them through college.
15-213 was a very special course to me because although the topics are very
technical, they really have deeper meanings. The specific topics we teach
in the course really won't matter tomorrow, but problem solving and critical
thinking skills that you learn will guide the rest of your life. Taking
classes didn't teach me these lessons, but being a teacher and working with
students taught me the 5 Great Realities of life.