Hacker News new | ask | show | jobs
Ask HN: How did you get avg 95% in University?
13 points by tootlol 5470 days ago
In every year there are always a certain percentage of students who manage to achieve really high marks on CS midterms and exams. How do you study for CS or math exams? I am sure there are many overachievers on HN. Could you please share how you did it? Do you need to have a really solid background before tackling a course or am I doing it wrong?

P.S. I know marks are not everything but I am still curious on how some students manage to do it in a top CS school.

10 comments

In my experience, it's surprisingly easy to get through most classes without doing the recommended / assigned reading for a course. Often, the professor will basically go over the same material in class as was covered by the reading, so if you didn't do the reading you'll get the material in lecture—alternatively, if you do the reading you can get away with not going to class.

If you simply do all the reading for a class (a couple of days before the class session, so it has time to sink in), you'll be much more likely to absorb all the details the professor mentions in the lecture, or that you missed the first time around in the reading. You'll also be ready to ask more informative questions, that will get help you get ahead instead of catching you up.

Other tips (some might seem obvious): keep a notebook where you take notes on the readings and the lectures; review the reading with your notes shortly after the corresponding lecture; go to office hours if you don't understand something or are having trouble with a homework or programming assignment; start homework assignments as soon as they're assigned (especially for larger projects); plan on spending twice as much time as you expect on homework / projects.

If you keep up (or keep ahead) during the course of the semester, you shouldn't have to work too hard to study for the exams. Use whatever study guides (or hints about the contents of the exam) the professor gives you as a guide, and make sure you understand all of it. If you don't understand something, take advantage of office hours to get help.

There is also strategy to taking tests well. Some tips: skip a question if you don't know how to answer it right away and answer it later; show you work or explain your reasoning so that you might get partial credit even if you get the wrong answer; if a question is unclear, go ask the professor for clarification; often times questions later in an exam will give hints as to the right way to approach questions earlier in the exam; get plenty of sleep the night before, and a good breakfast and coffee the morning of; don't worry too much, because worrying won't help you to perform better.

This about covers it.

- Read and highlight the textbook before class.

- Go to class, pay attention, take notes and ask questions.

- Go to TA sections and office hours. Come with questions.

- Do the homework with time (ie not an hour before it's due).

- Start studying for exams 2-3 weeks before the exam date.

But most importantly, you really have to want to get A's. Motivation is key. While your friends are out partying and getting drunk you need to be in the library. Sounds terrible, but that's the point. There is a tradeoff. I just graduated with a B+ average. I know I could have done better, but having a social life was important to me. (Also working for Techmeme took up a considerable amount of my time).

lol. You sound like a professor. Sadly, that is the way to (hopefully) get high marks and waste a great deal of time. There are lots of ways, many of which are completely legitimate and many which are questionable.

Case and point freshman year when you are joining fraternities. Pick one that has a few A+ students in your degree path. All (well most) fraternities keep old notes, quizes, papers, and tests on hand for new brothers. That and if there are brothers who are good students in your degree path, you'll have help at almost any time of day. Sure other people do it too, but frats are a sure bet.

That's just one method. There are plenty of others that work as well.

I've just read through the replies here and I thought that maybe I'd throw in my two cents. First off, I do not have a 95% average. In fact, I failed 3 out of 5 courses last semester. I had piled Calculus I, Linear Algebra I, and Microeconomics into the same semester and apparently I wasn't ready to take all of those at one time.

Realizing that my GPA was so bad (1.63 as of now) got me pretty depressed. I started Googling how I could fix my GPA and how I could become a better student. I came across a site called StudyHacks (http://calnewport.com/blog/) that had a lot of great articles that were enjoyable to read. I'm going to go to the library in the next week or so and get Cal's book "How to Become a Straight-A Student" (I'd do it now, but I'm reading The Pragmatic Programmer) and I hope that the book will make things more clear.

In the coming year there are a few changes I want to make. The biggest once, contrary to what others on here have said, is that I want to become organized. I've always been the type of person to enjoy what I'll call "organized chaos". There is a place for everything, and that place is wherever it happens to be. That has to change.

The next thing I want to change is that I'm actually going to work on my problem sets. It's been mentioned that problem sets are usually only worth 10 or 15 percent of your final mark. What I find is that while they aren't worth much, not doing your problem sets will affect your test grades in a negative way. Not only are problem sets a grade, they are the best practice that you can get.

The last thing that I want to do is to get involved around my university. We have a CS society that, I'm sad to say, doesn't do much more than drink (not that drinking is a bad thing). I want to get involved with the society, generate new members, and help get the society more active. I have a few ideas that I'm going to bring up with some of the society "executives" that I hope they will like as much as I do.

Obviously I don't have a 95% average, so take everything I say with a grain of salt. I hope it will work for me though. And I think that is the biggest thing there is to consider. Just because something worked for someone else, doesn't mean that it will work for you. Try out different things and see what you like.

Greatest day of college was the day I stopped giving a crap about grades. Remember you're there to learn not get good grades. It opens everything up, you don't worry about taking difficult classes that will challenge you or overloading on credits. Took classes in every engineering field, economics, business, history, whatever I "wanted" to learn. Seriously it was the greatest realization I had up to that point in my life, never even opened a report card during my senior year or grad school. If you have a solid foundation to build off of learning new things becomes really easy later in life.

Still don't flunk, a B is fine, usually you can get 80% of the results with 20% the effort. Focus on what's valuable to you and forget about the rest.

I have stated that marks are not everything. I am just curious on how a (high) moderately intelligent student could do it, because some exams are impossible to get 100%; it seems like hack to me.
Step back from the problem, focus on developing your analytical/problem solving abilities. Any engineering, math, or science problem is just logical reasoning. Don't focus on the subject matter so much, focus on the process. Then you can solve anything
I handed in 50% of the homework and got 100% on the exams. Most courses I took had 10% of the final grade based on homework.

And no, I didn't study; but I did read the textbooks cover-to-cover before the first day of lectures, so I already had a firm grasp on the material before it was presented to the class.

could you be a little more specific about how you read entire textbooks cover-to-cover in the first day? Edit: Googling you up shows that you were a prodigy. Perhaps you knew everything already but just needed to review a little? Is that what you mean?
He said "before the first day", not "on the first day". Oftentimes the textbooks are announced and available for purchase about 2 weeks before the class actually begins, to give the students that order them online time to receive them.

It's not actually that hard. If you have 14 days and your textbook is 700 pages long, that's 50 pages a day, which is eminently possible, particularly if you don't have classes to go to.

Occasionally, I pulled a trick where I went to the first class, grabbed the syllabus, bought the textbook, read the textbook cover-to-cover during the "shopping period" where we could change our classes, dropped the class, and then returned the textbook for a full refund. All the material, 1/6th the time, and none of the money.

Actually, now that I'm employed and have an income, I do basically the same thing: buy the textbook online, read it, and don't bother taking the course. 1/6th the time, 1/50th the money (~$100 instead of ~$5000), and I learn just as much.

Why bother signing up for the class in the beginning? A quick Google search would result in good textbook recommendations.
This was 2003, when many fewer universities put their syllabi up on the public web (MIT OCW had been announced just a few months before, and most places still used private Blackboard pages if they used anything at all). It was still possible to get textbook recommendations if you knew where to look - I got many of them off the C2 Wiki a year or so later - but it was not immediately obvious that one could simply Google and the answers would magically appear.
Despite having a firm grasp on course material before it was presented in class, I found most of my lectures very useful, because they provided me with a different perspective on things.
He (original poster) dropped the class before attending any of the lectures.
I often learned things by reading the textbooks. Usually this took the form of the textbook pointing out an interesting question and me figuring out the answer before I reached the page following where it was explained; but knowing the right questions to ask is often much harder than figuring out what the answers are.

As has already been pointed out, I started reading before the first day of classes -- I would usually have most of my textbooks 2-3 weeks before classes started.

Why did you hand in only 50% of the assignments? Were you saving time to do other things?
Not exactly. I was doing lots of other things, yes, and in hindsight many of them were far more useful than the homework assignments I skipped; but the lack of assignment-completion was more from laziness and a lack of motivation to do boring assignments than from a deliberate decision.
What other things do you think would be more useful and help in the long run?
My current GPA is 3.95 (Purdue CS - not sure if it is top-ranked or not) and I try hard to maintain it. I focus a lot on grades because back in high-school, an accident in grade 10 destroyed my grades and closed a lot of education opportunities (I was restricted to the bed, couldn't go to participate in contests, exams, classmates attended top quality after-school sessions for math and science and I could do none of that - I had very shitty internet - a session would never last long enough to download Vim let alone Linux) When it was time to apply for college, my high school GPA was enough to deny me entry into schools I had dreamed of attending. That humiliation has stuck with me forever. This is one thing in my control, I try my best not to screw things up.
So how did you do it?
The same way everyone else does it:

1. Attend class irrespective of the time. 2. Turn in all assignments. 3. Start ahead of time on projects 4. Regularly go to office hours.

What happens when you feel bogged down by assignments? Do you just hand in an incomplete or completely skip it? Could you break down your typical schedule for a week?
Its seem the comments here are all along the lines of pay attention, do assignments, take notes etc. But how do you keep up with the intensity of doing all this? Is it like weight lifting where at first it feels really uncomfortable, but once you get use to it, it's easy? Also, how do you avoid being bogged down by hard CS assignments (40 hours)? What would a 95% person do in this situation? For example, my cs friend who got 96 told me that he just doesn't sleep and he gets help when he needs it and also he tried to leverage off power of programming language or reusable code. Are there any other hacks?
I've actually come to find that all-nights never help. I do terrible work when I'm tired compared to when I'm not and I'm a zombie the next day. The biggest thing you could do I suppose is just start something the day it's assigned. When you have more assignments, rank them based on difficulty, value (grade wise, projects should be important), and the time you expect the assignment to take.
Top hacks: 1) Buy books, learn material before class starts. Then review each section before each class, with notes and questions. You know you are doing it right when everything is boringly obvious by the time you officially get to it. 2) Practice doing problems as fast as possible. During exams, do all problems quickly, keep doing passes through all the questions to fix mistakes until time is up. 3) Explain what you learn to others. This is where you actually start understanding.
Did you find success with this approach? Is it enough to get 95%?
Every time I did these I got 98% or higher. I only got worse grades when I didn't have time to do all these things because of how many classes I was taking simultaneously.
How do you manage your assignments? Do you ever feel bogged down by them?
Start doing them as soon as you get them. Never spend too long on any one assignment or question. If one question is taking too long, ask for help as soon as you can. Practice getting and giving help, these are crucial skills. If necessary, cut your losses (but always turn in your best current attempt for every problem, never miss anything).
At the end of the day, if you have a strong understanding of fundamentals (basic calculus, number theory, C), the rest is just creative applications (eg algorithms, where the motivations for most of the introductory algorithms are easily deduced)

And if you organize your knowledge as such, you can power through 10 CS classes in a semester on top of 4 other required classes

Here you done it? If you have could you be more detailed?
Yeah, and we probably should take this discussion to email. What's your address?
jovekq(at)hotmail.com please reply to this comment when you want to communicate through email.
I went to college, but was able to get 89% average with about 20 hours a week of homework/studying etc. The girl who beat me, as far as average goes got 99% but spent 60 hours a week on homework/studying.

I was able to tutor 10 students and build two serious web apps in that extra 40 hours a week, who do you think came out on top?

which school did you go to and what were the web apps?
You sacrifice a social life.