Frequently Asked Questions

Toggle between C and C++ to instantly translate all code examples, syntax guides, and worksheet solutions across the site.

Studying for this course

How do you suggest I study for this course? Make sure that you do the following every week:
  1. Read the assigned material (from the Course Notes page) and make sure you understand it. Go to office hours and ask questions if you have difficulty understanding something.
  2. Work on the weekly practice exercises over the weekend. Make it your goal to understand these exercises in whatever way you can (thinking and trying hard, asking your friends, going to office hours, etc.)
  3. Reaching out for help. At the beginning of the following week, make it your goal to resolve any issues you faced while studying the previous week's material and when working on the practice exercises.
This requires good time management. If you manage to follow the read (during the week), solve (over the weekend), ask (at the beginning of the following week) cycle, you should be in good shape!
My classmate already knows a lot of programming. I feel I'm already behind! Don't worry. You are normal, and they are the exception.
Keep in mind that this course is designed for students like you. Therefore, focus on learning the material according to the schedule set in this course, and don't be let down by others who might be ahead of you, not because they are better, but because they have seen this material somewhere else.
Your measure for success should not be whether you are better/faster than others in learning, but should be whether you are meeting the course goals or not.
I already know a lot of programming. This course is too easy for me. Great! This is good news, not bad news. This means that you can get good grades in the course and work more on improving your skills in programming. Here are a few notes.
  • Check the Resources page. There are a ton of things for you there to improve your programming skills.
  • Help others. Students might ask questions on social media groups. Your expertise is needed in answering student questions.
  • Be respectful of others. It can be easy to (unintentionally) put others off by making them feel inferior. Be conscious about how you answer and ask questions during lectures, or when students seek your help!
I understand the lectures and examples, but I struggle to solve new problems on my own. Understanding a solution someone else wrote is very different from creating one from scratch. Here is how to bridge that gap:
  • Practice Active Recall: When reviewing examples, look at the problem statement, close the notes, and try to write the solution entirely on your own. If you get stuck, peek only for a hint.
  • Embrace the Struggle: Getting stuck on a new question is actually the most important part of learning. That moment of struggle is when your brain is building the connections needed to solve future problems. Don't rush to the answer key immediately.
  • Think then act: It creates a lot of pressure to stare at a blank screen! If you feel stuck, step away from the keyboard and grab a pen and paper. Trace the logic for the simplest case possible first. Once the simple flow makes sense to you, then you can worry about the edge cases.