I am a junior and have a 4.0. I was also the valedictorian of my high school. I'm not saying this to brag; I'm just showing validity to my post. Firstly, I always attend class. There has been about two or three classes/labs I have missed in two years. One was when I was applying for a job, and another was for a lab when I had already completed the assignment.
Secondly, I always do my homework. It makes keeping up with the professor much easier. It also makes studying for tests much quicker. If you don't understand something in the homework, get help from a friend or go to the professor's office hours.
Make sure to eat well (at least don't eat tons of junk foods), get at least 6-7 (I prefer 8) hours of sleep per day, and try to exercise some throughout the week. If your body is not in good condition, your mind won't function well either.
Start studying at least a few days before the test (3 or 4 is good... just study about 30 mins. or a couple of hours a day, depending on difficulty/amount of material). When you study, I like either silence or calm, quiet music. The point is to be able to focus as much as possible on the material. If you find your mind wandering to music or other distractions, get away from them or turn the music off. You MUST be focused on what you are studying.
I usually just study the study guides teachers give for the test, then notes. If I don't understand something in my notes, I look in the textbook. If I still don't understand, I may try something online.
Also, don't spend the same amount of time studying each topic. Just skim over and work an example or two of topics that you know well. Spend more time on the topics you don't understand. This will make your studying time more efficient.
That's most of what I can think of now. If you have any questions, send me a private message. Hope this helps you get better grades!
-------
Make your next 20 hours earn you $300!
Free eBook shows you how!