Frequently Asked Questions

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 Schedule page) and make sure you understand it. Go to office hours or ask on Ed 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, using GenAI, asking your friends, asking on Ed, going to office hours, etc.)
  3. Test yourself using the weekly self-assessment quizzes. Use this as an honest way to know whether you are fine with the week's material or not. Refrain from using GenAI or your friends here. Otherwise, the assessment will not be indicative of your understanding of the material.
  4. 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 and self-assessment quizzes.
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!
What is the difference between Practice Exercises and Self-Assessments? Both are exercises due at the end of every week, and both are meant for you to learn. I.e., they are not meant to test you. However:
  • Practice Exercises are meant to give you a stronger understanding of the material.
  • Self-Assessments help you see which parts of the material you are still not comfortable with, so that you could address them in time.
Formal assessment of your skills will be in the two class quizzes, the midterm exam, and the final exam.
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 the course discussion forum (Ed). Your expertise is needed in answering student questions! We'll be offering (small) extra credit for students who are active on Ed in a positive way.
  • 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!

Course Management

Can I move to another section? Yes, if you can do that officially through the deanship of admission and registration. Otherwise, No (see the policies page).
I don't want to move permanently to another section, but I need to attend one or two lectures in another section. Your attendance will be recorded in the section you are officially signed up for. However, if you know you are going to miss your section's lecture but want to make them lecture up with another section (so that you don't miss the material), you can reach out to the instructor of the section you want to attend and ask them if you can attend. See the Staff page to know which instructors teach which sections.

ยท Last updated: