- Read Tutorial
- Watch Guide Video
On average I typically am going through over a dozen books at the same time and around 4-5 various online courses because the deeper I get into development the more I realize how much more I really need to understand. With that in mind I think the topic of cramming vs consistent study habits should be beneficial since the way that we study is just as important as the volume of how much we study.
Most of us have been in the situation where we put off studying for too long and before we know it an exam is upon us that we have to cram for. If you can remember back to the last time that you crammed for an exam or project, how much of what you studied can you remember today? If you’re like me, probably not much.
While I was in college I was very bad at this and ended up cramming for many of my midterms and finals, with mixed results from a grade perspective. However once I got to computer science graduate school at Texas Tech I ran into a problem – cramming didn’t work at all. Software development concepts build upon themselves, so what was taught in the Fall semester would be the foundation for even more complex topics that would be discussed in the Spring. In the Fall I would learn about logic programming and in the Spring I’d have a course where I had to build a production application using the Prolog programming language.
Using cramming as a study technique resulted in me having very poor retention of what I was learning, which meant I had to go back and re-learn the topics that I had already forgotten from the previous semester. I don’t have to tell you how stressful this made my academic life, not to mention the fact that I was working as a full time developer at the same time. So I knew that something had to change and I put together a system for helping me retain what I learned each day through a consistent study pattern.
Much like a function in programming, my system for consistent study takes in a few parameters:
- Scheduling
- Fighting procrastination
For scheduling I created a todo list, segmented by day, for what I needed to study, this included academic papers, books, and watching online lectures, I put these in a drag and drop todo list on Basecamp. After I studied a particular item I would drag it up to the next day’s todo list so I would have a visual cue that I was done for that day.
For me, I would procrastinate studying because staring at the list of the books I had to read was intimidating and this was mainly due to the fact that I didn’t set any practical goals for studying. If you stare at a Discrete Mathematics textbook and tell yourself to “study” it’s natural to want to put it off, however if you set small goals you’re less likely to put it off. With that in mind I’ll put a note, such as read 3 pages of my Information Retrieval textbook, and 3 pages doesn’t sound nearly as scary as the vague “just study” mindset.
The interesting result in making small, manageable goals for studying is that not only does it help curb procrastination, but typically I will also read much more than the 3 pages. There have been plenty of times where I set of goal of a few pages of a book and ended up reading a few chapters.
With all of this being said there are times where I plan deep work study sessions. In one of these sessions I will set aside 2-3 hours of time to sit down, without distractions, and work through a complex topic. However I always limit the time to no more than 2-3 hours per day and I will usually not study any other topics on these days since I’m usually mentally drained by the end of them. I already have a post planned where I’ll go into detail on how I structure a deep work session, so stay tuned for that in the next few weeks.
I hope that this guide has been helpful and will help you develop your own system for studying so that you can retain when you learn and be able to use it when it matters most.