I just got my results back I am happy to say I passed the exam, receiving an A+! While studying for this exam, I noticed that there were way fewer resources to pull from compared to the RB109 exam so I thought I would share my study techniques to help out my fellow students. They obviously worked well for me, so hopefully they work well for you!
I want to preface this by saying that I felt that I had a decent comprehension of the topics covered in RB120 by the time I finished the course. If you feel that you struggled a bit in comprehending the concepts, you may need to review the concepts more in depth then I did and spend more time studying.
If you’ve read the study guide you know that unlike the RB109 exam, this exam focuses more heavily on open ended questions about concepts covered in the course. There are still many questions that involve dissecting code, so be sure you’re prepared to answer both types of questions.
Now enough with the preface and on to my own studying experience.
Overall, I spent roughly 14 hours studying for the RB129 Written Assessment (compared to 55 hours spent completing RB120). That 14 hours was spent doing the following tasks:
- Reading the study guide
- First, I went through the list of topics in the study guide, found where they were talked about in the curriculum, and took very detailed notes. I paid special attention to the way the concepts were worded. The test, just like the RB109 test, mostly covered topics that were explicitly mentioned in the study guide
- The resource I used the most was Launch School’s OOP with Ruby book.
2. Practiced Explaining Code
- For me, I felt like I understood OOP code and concepts but articulating them is another matter. Launch School pays a lot of attention to the word choice, and for good reason. If you can describe exactly what is happening, then that’s an easy way of proving your comprehension of a subject.
- To improve my articulation of these concepts, I scrolled through the RB120 exercise solutions and practiced explaining exercise solutions in plain English in Typora.
- When explaining the problems in Typora, I used the example problem found in the study guide as a template on how to word my answers. I found this very helpful in getting a feel for describing OOP code.
3. Practicing problems with another student
- I spent a couple hours practicing with another student, Steve. Thankfully for me, Steve had come up with a myriad of practice problems. Thankfully for you, he gave me permission to share these problems, click here.
- Steve’s list covers a LOT of topics, not all of which were mentioned in the test. I didn’t practice all of the problems, but instead focused time on the ones I guessed would be on the test. My advice is to focus mostly on the big picture stuff (i.e., the basics of OOP, the benefits of OOP, the key concepts that make up OO Programs, and how ruby accomplishes different OOP concepts). It’s likely that you’ll pick up understanding of the smaller topics along the way.
- During our study session we went through many of the questions. I would start a timer (to get a good feel on how long the questions took us), then we would both type out our answers to the questions. When we were both done, we would send our answer through Slack and critique each other’s answers.
- I highly recommend partnering up with another student. It’s okay if you don’t know anyone right now, just throw a message like “Does anyone want to practice Written Assessment problems?” in the RB120–139-study-group slack channel and someone will surely reach out to you!
4. Redoing all the quizzes and writing down key information that I thought might appear on the test
- For this, I went through each quiz, hid my answers, guessed what the answer for a question was, then checked the answer. If it was a question about something that I thought might be on the test, I wrote down the question and its answer.
5. Reading other resources and taking notes (check out these links)
6. Making a “cheat sheet” in Excel to use during the test
Since the written exam is open note, I created a easy to parse through collection of topics. My excel sheet had four columns:
- The first with the concept name and/or a question like “Encapsulation” or “What are the benefits of OOP?”
- The second with definitions directly from Launch School source material
- The third with the definition of the concept, but in my own words
- The fourth with a code snippet I came up with to illustrate the concept.
During the test I was able to copy and paste my premade definitions and code snippets to answer many of the questions. Of course I would have to reread them and maybe edit them a bit to make sure they answered the question, but even with that I feel like this saved me a LOT of time.
That’s the end to my study guide! Hopefully this helps you study efficiently and effectively. In addition to these tips, I highly recommend attending a TA-lead study session. Unfortunately I wasn’t able to attend one for RB129, but the ones I attended during RB109 were extremely helpful.