Getting stuck while programming? Here’s how I overcame it

Karis Tobias
3 min readJul 26, 2023

Below are some of study techniques I used as I was working through Launch School’s Prep and Core curriculum courses. I hope you find these reflections helpful, particularly if you are still looking for a study technique that works for you.

Say you can’t comprehend something, like a concept or an exercise. First thing is that you have to admit to yourself that you don’t know. Something I grappled with from time to time in Prep and Core was my own pride of trying to figure out an exercise without looking at the solution. Once I admitted to myself “I don’t know”, it allowed me to move forward and look at the solution.

For overcoming struggle with exercises, especially when I was preparing for the 119 interview, whenever I spotted a really good solution — I collected it and saved it for later. Before I knew it, I started collecting good solutions and would break them down in irb (or node) and began to appreciate how each line was strung together and how elegant they were. Problems over time started to appear more familiar to me. I would soon be able to look at a problem and examine it a bit before I realised — “oh this is a ‘recursion’ problem” or “this is an ‘iteration’ problem” etc. Because I collected and broke down so many different types of solutions, I could get creative with solving that problem and might have had two or more different ways to solve it.

For overcoming the struggle with programming concepts, once I realised I didn’t fully understand what a concept meant, I felt the need to look at it from a different angle. Sometimes when a definition would escape me, I might have looked up documentation or a reputable text book to see someone else’s take on it. Although this may have been overkill, I felt I understood things more deeply and didn’t just know concepts on a surface level.

A strategy for mastering programming fundamentals at Launch School

Note: Make sure you look at the study guide before you begin preparing for an assessment! Below reflects my own personal way of mastering fundamentals for assessments. While this strategy worked for me, it may not work for everyone. Examples are written in Ruby as my first assessment was in Ruby.

I used the chunking strategy explained in Barbara Oakley’s “Learning how to Learn” course that you’ll come across in Launch School’s prep courses:

Each chunk represents a programming concept. Launch School’s study guide will help you identify all the concepts you need to know. eg some fundamental examples are:

  • truthiness, variables as pointers, pass by reference/pass by value etc.

For each programming fundamental, locate all the rules for it in the material. eg for truthiness:

  • In Ruby, everything is truthy except for false and nil

For every rule, locate 1–2 code snippets that exemplifies the rule:

my_var = nil

if my_var
puts "it's truthy!"
else
puts "it's falsy!"
end

# output: it's falsy!
my_var = 5

if my_var
puts "it's truthy!"
else
puts "it's falsy!"
end

# output: it's truthy!

Then you can chunk the fundamental, all of its rules and examples together:

Chunking programming fundamentals
  • Use the Launch School study guide to help you summarize and identify the fundamental at play, what the code is doing and how it demonstrates a particular rule in programming
  • Also don’t be afraid to pull apart your examples and play with them in irb/node.
  • Use a highlighter plugin to help underline text in assignments. Make sure to use different colors to represent different things. eg. for concepts highlight in red, rules in blue, and examples in yellow. It helps speed up note taking when preparing for assessments.

--

--