In the last blog post, we talked about some ways to ease the discouragement and worry you might be facing as you head into final exam and project season.
So let’s assume that you’re going to continue with your plans to finish out the course, and hopefully pass. Here are a few tips to help you with your studying.
- Go through your class notes and assignments and list all code methods/functions that you find. The general trend in computer science classes is that if you’ve seen a method, class, or data type in the assignments, tests, or recommended practice problems, they’re fair game for the exams. This tip might sound obvious, but it can really help you to narrow down your to-do list of study topics when you’re panic and pressed for time.For example, if you’re studying Java or C++, you might have come across strings quite often. There’s a lot you can do with strings, as a glance at the official class documentation will show you, but you don’t have to know everything about strings. Don’t get overwhelmed; make sure you understand the usages that were presented to you throughout the semester, do some practice examples focusing on those points, and you should be pretty well covered.I do recommend that you actually take notes and make some kind of list for the items in this tip, so that you have a reference you can use at a glance, rather than having to continuously return to your old assignments and class materials. Then if you have a few minutes throughout the day, maybe you’re waiting for your next lecture to start or you’re at the bus stop, you can glance over this list and do a quick refresher.
- “Tag” the information you learn. As you’re reviewing your materials, take good notes, using the following approach. Whenever you learn something new or review something, ask yourself these two questions: what is this helping me to accomplish, and how is this fact/concept relevant? Write down the information, and along with your answers to these questions. You can “categorize” the information as you learn it.So for example, if you’re learning about a basic Java program, and the text tells you about a function like System.out.println, what does that help you to actually do? It is a way to display output to the screen, right? You might write it down in your notes, classify it as “A way to display output,” and include any relevant information such as syntax, an example of usage, etc. You might even consider making a spreadsheet.Usually, there are several methods for displaying output, so you can also write down why you might choose one method over another. Most textbooks will explain the differences, but if we can’t find the answer, write down the question, maybe in another column in the spreadsheet I suggested, and then do a Google search or ask an instructor to help you understand. Now you can add that information to your notes.
This approach helps you create a handy study tool that you can easily review. Your information is handy and organized. When you have need to actually apply what you’ve learned to writing a program or solving a problem, you know what tools you can use for the situation, because you’ve categorized the information.
I’ll be doing a longer post about this approach at some point, so subscribe to the blog if you want to know when that’s posted and available.
- Review your assignments and identify the areas and concepts that caused the most confusion and biggest loss of points. In order to put together an effective study plan, you need to identify the topics that caused you the most confusion. In your previous exams and assignments, where did you lose the most points? Can you identify which major concepts that, if you were to master them, would give you the biggest boost?Those areas are where your focus should be. You’d be surprised at how many students don’t take time to do this step, but it can save you so much time and help you to be much more efficient.As part of your study plan, identify the problems and questions you had trouble with, and some related practice problems (hopefully you have a textbook or other resource that has questions and problems related to each topic). You also look at old exams from previous semesters for related problems. I suggest writing out a list of the problems you choose for each topic, clearly identifying the source for each question, as well as relevant reference materials. I have put together a spreadsheet with a sample study plan, which you might consider using. Find it here.
- Make a detailed study plan and schedule. Use the information you gathered regarding your problem areas, reference materials, and practice problems. You should figure out how much time you have before your exam, and plan a study schedule. I suggest tackling the biggest problem areas first, which gives you more time to work through it and get help, if you need it. You can also schedule a “retention review” session a few days later (or maybe several scattered sessions), to make sure you remembered the information; it’s like a last “sanity check” for yourself before the exam. Make sure you include time to do one last help session with your tutor or professor, if you need it. You might not want to schedule only one retention review for a particularly difficult topic, right before the exam, because what if you find you still have major confusion during that session? You don’t want a situation where it’s the night before the exam, your retention review didn’t go well, and now you’re panicking because there’s no time to visit the tutor before the exam!
- If you’re procrastinating or having trouble getting started, try the Pomodoro technique. Getting yourself to settle in for a long study session can be hard, but can you force yourself to spend just 25 minutes working? The idea behind the Pomodoro technique is to break work into small bursts, followed by smaller breaks. Basically, set a timer for 25 minutes, do work until the timer goes off, take a 5-minute break, then rinse and repeat. The method is explained here.Sometimes 25 minutes still seems daunting. In cases like that, I like to do “mini” Pomodoros. Basically, try 15 minutes instead of 25. As you get more comfortable, you can scale back up to 25 minutes.The point is, sometimes getting started is the hardest part. If you can spur yourself on to start for even 5 minutes, then you have a much greater shot at overcoming that initial resistance.
- Make time for breaks and sleep. We talked about this in the last post, too much stress will only hinder your success. Most people have difficulty focusing for over 90 minutes, so any time spent studying past that without a break leads to diminishing returns. Stay energized, positive, and calm by stepping back when you need to, doing something fun, getting proper rest, nutrition and hydration. Just a friendly reminder!
Ok, so those are some of my top computer science study tips. Even if you’re taking the rest of this weekend to enjoy Thanksgiving vacation, you can use these tips to hit the ground running when you’re ready to get back to studying!
Become a More Confident Programmer
I’ve compiled a short ebook guide of tips on how to learn programming, improve your problem-solving skills, and become a better, more confident programmer. If you are interested you can download Confident Programmer Study Tips here.
Feel free to share this content, or leave any questions in the comments section below!