CSC 108H (Introduction to Computer Programming) is a first year introductory computer science course at University of Toronto . Though this is not a prerequisite course for the CS post (specialist, major or minor), it is a recommended course for the newbies in programming. This course teaches Python from the very basic and is a very good course to step foot in the field of programming.
The half-year course has 3 Assignments, 2 weekly online homework ( aka prepare and perform ), a midterm and a final exam. Here are some tips on how to do well in CSC108:
1. DO the Prepare and Perform:
Prepare are some online video made by the course instructors and some practice problems which are supposed to be watched and practiced before the lectures. Perform is some tasks that are supposed to be done by the end of each week’s lecture. These are worth only a small percentage of the total grade. So, some people might just slack off or copy answers from friends to get them done. But doing the prepare before the lectures really help understand what is going on in the lectures. This is also a way to make sure you do not fall behind in the class.
2. Ask the TA if you have a question during or after the class:
CSC 108 sections are usually quite large and most of the times are full. The professor is fast in their lectures as well. If you fall behind on a single line of code and cannot fix it then you will fall behind on the rest of the lecture. That is why there are 2 Teaching assistants available during the class to help. Make sure to ask them for help if you ever get stuck on anything.
3. Practice writing code on PAPER:
Though this is a Python course, both of the exams are strictly paper based. Writing code on paper is way more different from writing it on the computer. When writing on a computer you can run the codes and find your errors but that doesn’t work when you start writing on a paper. The exams are quite big chunks for the final grade so better start preparing to write codes with pen and paper!
4. Find a study buddy:
If you can’t understand a concept in the course ask a classmate for help. It always helps to discuss a problem with another class buddy who is walking the same path as you. It also helps with the assignments. Though the assignments are supposed to be done by yourself and it is not advised to share code with a buddy, you can always discuss the methods and that might help clear up some clouds.
5. Office Hours:
Since the first day of orientation students are advised to go to office hours and so it sounds like a cliché. But when you have a huge assignment to do and among those 50 lines if codes you can’t find the single error that keeps coming up, office hours will feel like a blessing! There are office hours all through the day till evening on most of the days. In the office hours, you will get one on one help from a TA or even a professor with your problem.
6. DO NOT miss lectures:
All the lecture topics have their video versions in the Prepare section of the course. But these videos are only to help you get prepared for the lecture. Going to the lecture and doing the work sheets in the class make your understanding of the topic better. As the professor goes through the topics more in details it helps to have a clear idea on the topic.
7. Do all the past papers:
Before the midterm and the final exam, the past papers are posted on the course website. You can also get them from ASSU’s office in the Sidney Smith Building. Make sure to do them and time yourself. These papers really get you ready for the actual tests. They help you to understand the pattern of the question and you will see that the question type is quite repetitive. So, you will be able to come up with strategies on how to approach each type of question.
8. Have Fun!
Python is like Sudoku. Though coding may sound scary and you might find yourself writing hundreds of lines of codes and spending nights to debug them, it is all like solving a puzzle. If you think if each task like a puzzle and try to solve it like that, then it will be so much fun!
Overall it is a very fun course and with the friendly instructors and TAs, it has a nice learning environment too. Most of the students taking this course either want to go for a full on Computer Science major, specialist or minor. Though this is not a prerequisite course for the CS post (specialist, major or minor), it is a recommended course for the newbies in programming. But this course is suitable for non CS majors too. If someone wants to get a taste of CS and coding then they can consider taking this course. Who knows, maybe they might even fall in love with coding!