One of the most unique aspects of Epicodus is our teaching style. The school uses the flipped classroom model, which means that we don't have lectures or lightning talks. Students are pair programming for the entire time that they are in the classroom. Our teachers walk around the classroom and help when needed, but we really encourage our students to learn from each other and ask their peers for help before going to a teacher.

Asking for help can be difficult, so we always share the following suggestions with our students before they start class:

  1. Do your own research. Go through all of the steps on the debugging lessons before asking for help. Re-read/watch the relevant lessons on the site. Search online to see if you can find anybody else who had the same problem you did.
  2. Have your problem as close to being fixed as you know how. Often, when something isn't going right, you try a lot of different things to see what works, including things you think won't work but want to try out. Before you ask someone for help, get you project back to the state that you think is the closest to working.
  3. Demonstrate the problem. It can be tempting to show the person helping you the problematic code and explain all the things you tried, but without the context of seeing what's going wrong, it will be hard to understand what you're talking about. Demonstrate the bug, show the part of the program you can't figure out how to make work, and pull up the error message.
  4. Narrow down the problem. Show which part of the code you think is the culprit. Explain why you think your code in the present state should work, and any ideas you have about why it doesn't.
  5. Share your hypotheses. Often, you'll have some ideas about what's going wrong based on your understanding and clues from your research. Share these with the person helping you, as they may not be immediately obvious.