How to Study

Learning how to code is like learning any skill, you need to practice frequently and in a systematic way. It’s like learning to play a musical instrument, or getting better at a sport, or learning how to drive and cook. You need to do it yourself, and you need to practice it on a daily basis.

What do you need to succeed in this class?

A willingness to:

  • try and fail
  • get frustrated and bored
  • be curious about how things work

Come to office hours prepared

You should come to office hours to get help when you are stuck, but you should try to work the assignment out on your own before seeking help.

You should not come to office hours to have the TA explain what to do.

Once you get help, and understand why you were stuck, you should solve the problem/assignment again on your own once you get back from office hours.

Practice every day

In addition to the assignments you submit to gradescope, I also make available practice problems so you have plenty of programming problems to practice. And you should solve this on your own, multiple times.

Coding is not about memorization – it’s about knowing how to think computationally. You will only learn how to do that by practicing.

Practicing is not having your friend/AI tell you how to solve a problem. If you want to be a piano player, you have to play the piano yourself.

Use a calendar and block out 45-60 minutes a day to practice your coding skills.

The university expectation is that you will spend 2-3 hours on out-of-class work for every 1 credit unit – so you are expected to spend 8-12 hours working on homework and studying for CSC 110 in addition to attending lectures, actively engaging in in-class-activities, and coming to your weekly lab session.

Solve assignments, quizzes, exams, and practice problems again and again on paper and time yourself.

Take breaks often

Do not expect to put in 10 hours of work on one day to get your code to work. That’s not how coding works. You often need to allow your brain to process things across multiple days. Working at a problem for 5+ hours straight will get you frustrated, and you won’t be able to see where the bug is.

If you are feeling frustrated, take a break, walk away from the problem for a few hours. Ideally, go back to the problem after getting some sleep.

That is why it is important to start working on assignments early on.

What is the role of the TAs?

  • The TAs are not responsible for debugging your code extensively with you, they are to give you some direction if you get stuck.
  • The TAs can go over concepts covered in class if you have specific questions. It is okay for you to ask TAs: “Can you explain the different between a for loop to get the indices in a list and a for loop to get the items from a list?” – It is not okay for you to ask TAs to go over an entire lecture with you. They are not private tutors.