Launch School’s first course can seem like an insurmountable challenge, especially if you are new to programming. The following tips are meant to supplement the helpful collection of study tips written by other students.
1. Set Yourself Up For Success
In the beginning, enthusiasm is high, but that enthusiasm will wane. After hundreds of hours, you may find yourself swimming in a sea of self doubt.
You need to be prepared to push through those tough times with good, consistent study habits. Set yourself up for success with a quiet space and a schedule that allows you to realistically study for at least 15 quality hours per week.
2. Make Your Study Time Count
Consistency is key for success, but don’t just study in order to be consistent. Are you are consistently tired or burnt out when you are studying? If so, you may want to rearrange your schedule in order to better prioritize studying. The best time to study is when you can get into the groove, and for many, that time is bright and early.
3. Find A Friend
When you hit a wall and find yourself asking, “What am I doing? Am I really cut out for this? Is there an easier way?”, just know that there are other students asking themselves the same question. Reach out to other students and find some friends. Throughout 101, I had a Launch School friend and we regularly chatted on Slack, talking each other through the tough times. I don’t know if we would have made it through the course without validating our struggles in that way.
4. Maintain Momentum With Circular Learning
If you are really struggling to understand something, make a note with a link and a description of the content that you need to come back to. Keep your momentum going and come back to it later. Later could be 5 minutes, a day, or weeks depending on what the concept is and its relevance in the course. When you do circulate back, you will be amazed at what you are capable of.
5. Embrace the Struggle
When stuck on a problem, don’t just look at the answer right away. You won’t learn as much that way. A focused struggle, with some diffuse mode magic, leads to deeper understandings. These deeper understandings are revealed by sudden ‘AH HA!’ moments.
6. Find Dead Ends
Many times, the ‘AH HA!’ moment never comes, and that’s okay. The struggle still reveals a valuable piece of information: the thing you can’t figure out. At this point, it’s wise to look at the solution which can teach you that ‘thing.’ This is a valuable skill: identifying what you don’t know and then using outside resources to learn it.
7. Focus On Your Weaknesses
Did you just nail a problem? That’s great. Now forget about it. If you are celebrating what you know, you aren’t learning much. It’s painful, but you need to focus on your weaknesses. Keep track of material that you need to revisit. Then, the painful part, revisit it.
8. Don’t Just Take Notes
Are you going through new material and taking notes along the way? If so, STOP! You are probably wasting time. Note taking is a skill and it must be done with intention.
It’s best to familiarize yourself with the material from a lesson and then go back through, taking notes on important concepts in your own words. This forces you to recall information which is an extremely effective study technique.
Boostnote is great for reference notes that you can add to, change, copy, paste, and study with. Pen and paper is better used as an aid to the learning process, like drawing out abstract concepts that are hard to understand.
9. Simulate The Interview
The small problems are a big part of 101. They are preparing you for the interview. Your first time through them may be a big struggle, which is great for learning.
Once you become more comfortable solving more complex problems, you can begin to use them to prepare for the assessment. At the very least, you should time yourself and pretend like you are in the interview. But, its far more beneficial to simulate an interview with a study partner.
With an interviewer, you must verbalize your thought process. Start with inputs, outputs, and rules, making sure you understand the problem, and asking questions if you don’t. Define your algorithm. Now the easy part: write code. Try things, make mistakes, and fix them. Demonstrate your ability to communicate, code, and debug, not your ability to write a one liner. All you need to do is arrive at a solution. Then, you can refactor.
When you’ve practiced as much as you can stand, you may be ready. You’re coding confidence should be extremely high.
10. Enjoy the Ride
You may find yourself wondering how you are ever going to get through the curriculum if the first course is so challenging and time consuming. But that is not how you should look at it. Forget about forward progress and try to get as much as you possibly can out of this course.
101 is building the foundational concepts of your programming knowledge. This knowledge will be omnipresent for the duration of the curriculum and your programming career. So just calm down, take your time, let it all sink in, and enjoy the ride.