As a result of hijacking a few recitations in MIT's 6.005: Software Construction course to evangelize Scala, I have come into contact with numerous undergraduates. Engaging with these students, I have realized how much more effective I could have been during college were I less focused on my work and more focused on things like showing up on time. I have come up with the following list of things that go a surprisingly long way towards academic success.
- Show up. It goes without saying that you miss a lot of things if you don't show up. There is also a two-way thing. If you don't get face time with an instructor, it does not matter how good you are. They are not going to know who you are, they will probably feel less motivated to answer your questions, and they will probably not write you a recommendation letter. (I am not important enough to have written many recommendation letters so I am extrapolating a bit on the last one.)
- Be on time. During the first few minutes of a lecture/recitation/talk, many important things happen: there might be administrative announcements; there might be high-level motivation; there might be contextualizing facts. If you show up late, it is more difficult to motivate yourself to pay attention and to follow what is going on. You will often miss other things when you spend the whole time trying to catch up.
- Stay awake. The more you are able to absorb directly from the person who is trying to convey information to you, the less unnecessary self-teaching and work you will have to do later. If you are not able to stay awake in lecture, hack your body (get more sleep, drink more coffee, move your body before lecture) until you learn how to stay awake.
- Be present. Focus on being in the classroom rather than surfing the web, doing other homework, or zoning out. Paying attention, not just to the lecture/exercise but also to other students' responses, can save a lot of work. I have noticed that students do a fair amount of unnecessary work because they did not listen to either verbal or written instructions or because they missed the answer to another student's clarifying question. Getting enough sleep helps a lot.
- If in doubt, ask. If you don't understand something, it could probably be explained to you better, either by the instructor or by another student. Asking makes it more likely that you can get this explanation. Also, instructors like to see effort.
- Be curious. It is great to ask "what if" and "why" questions. Instructors love this and they will remember you for it, as long as you are not being obnoxious.
- Find the motivation. Knowing why you (personally) should learn the material will help you with 1-6. Do not be afraid to ask the instructor what the current topics are good for in the real world and what mastering the current content can do for you.
- Don't be lazy. Read instructions. For programming classes: look up syntax and try things out with the compiler/interpreter. Your TA might like to be there for you, but you are better off trying things on your own. You will not always have a TA in the real world.
- Be nice. How smart you are often matters less than how nice you are. For instance, the instructor will be much more likely to answer your questions thoroughly if you are nice.
- Be a commitment minimalist. If you have so many classes and extracurricular activities that you are not able to accomplish 1-9, cut down. Many people have told me that they would have gotten a superior college education had they had done less and focused on it more.
In summary: school is often not about how smart you are, but about how much you are participating as an engaged human being.