One of the defining characteristics of Launch School is the Assessment process. After completing each course, in order to move on to the next one you must pass a written test, coding interview, and/or build a project. These assessments are not easy and take a lot of preparation.
Take Multiple Passes Through a Course
Launch School courses are long and have a lot of depth. By the time you have completed a course, you may already be beginning to forget what you learned in the beginning of the course. Or you may have completed all of the materials, but realize you are still fuzzy on a lot of the concepts.
This is why it is important to be willing to go through a course again for the second or third time. As someone who was a musician before learning to code, I know that it takes multiple practice sessions to learn a passage of music. Similarly, it’s not enough to read about a concept once and then move on. See Elizabeth’s post on Circular Learning for more perspective.
Utilize Spaced Repetition
Because it takes multiple repetitions to remember something well, it’s good to have a system in place that helps you review exercises and concepts on a regular basis. I use a program called Anki to do this. Whenever I come across a new concept or an exercise that trips me up, I make an Anki card for it. What makes Anki cool is that each time you review a card, you can tell the program if it was difficult or easy for you and Anki will use that response to calculate which day you should review the card next. This method works best if you use Anki on a daily basis.
This is something that I don’t do enough. From talking with other students, I’ve noticed a lot of them have good systems in place for taking notes. Even though our primary work is done on the computer, a number of students have recommended handwriting notes. There is science to back up why handwriting may be helpful.
One student uses different colored pens as he take notes. I imagine that would make note-taking more fun and your notes more memorable. As far as note-taking apps, I’ve heard Quiver recommended.
Explain a Concept Out Loud
One of the skills you need to have for both the written assessments and the coding interviews is to be able to precisely explain concepts and code examples. This is not a skill that comes naturally, so it’s good to be intentional in how you practice. One student told me that he sometimes paces around while talking through concepts, and I’ve found myself doing the same. I’ve also found doing study sessions with other students is a good way to practice. If you don’t have another student to talk to, maybe try a rubber duck.
Write a Blog Post
By blogging you can take notes, explain a concept, and share your learning with others all at the same time. By writing about a concept, you have to explain it in a step by step way, which is good practice. You also discover gaps in your own knowledge while writing, which can assist you in knowing what to study. And by writing about code, just like speaking about it, you are helping yourself remember syntax and concepts. If you’re having trouble getting started with blogging about code, check out How to Blog About Programming While You’re a Student.
Do the Optional Exercises
Build a Project
After completing a course, consider building a small program or project with what you have learned. This tests your ability to put together all of the concepts from the course. And unlike many of the course exercises, you can’t rely on a walkthrough video to help you along, forcing you to solve all of the problems on your own. Victor combined building a project and taking notes together into his impressive HTML and CSS Notes.
If you’re a Launch School student, what have you found helpful in preparing for assessments? If you’re not a Launch School student, but you have experience passing programming tests or coding interviews, your tips are welcome too!