About potential success
Many students might approach computer science courses with less confidence because it's their first time coding, they have minimal knowledge about the subject, or they believe themselves to be less mathematically inclined compared to their peers. This is generally not the largest contributing factor. What is much more important, is your mindset.
How you think about the course has a much more direct influence on your performance and grade than prior experience. If you don't pay attention in lectures because they don't interest you, wait until the last minute to start assignments, or only review your course notes the day before the exam, you might be able to scrape by but you're setting yourself up to struggle.
Having said that, any student (who has the pre-requisite courses completed) can succeed in a CS course regardless of their program of study and experiences relative to their peers. If you approach the course with genuine curiosity, ask questions along the way, and give yourself enough time to digest the content, you will do well. If you treat computer science like it's your best subject, there is a good chance that you'll feel good walking out of the exam (or at least knowing exactly what mistake you made and how you would have fixed it).
Study tips from former ISAs
These tips were put together by previous Instructional Support Assistants (ISAs) who have seen various students struggle or succeed depending on their approach in the course.
Due to their experience on the frontline and backend of their supported course, the ISAs have a pretty good grasp about how to keep good study habits for computer science, or any learning opportunity for that matter.
Starting early and staying organized
Spending time on a topic more frequently will allow you to become more familiar and train your memory more efficiently. It can be as simple as reviewing the notes before attending the lecture, or reviewing them right after the lecture. Cramming doesn't help you retain information in the long-term, and you'll thank yourself when taking upper-year courses.
Instead, use a daily planner or a calendar to track your schedule, due dates, and office hours. Having tools or reminders to stay organized will ensure that you stay on top of your workload and that you're not neglecting a course or assessment.
Put yourself in charge, and don't let deadlines be the only thing that dictates your work ethic.
Adapting new strategies and approaches
There may be times when you find yourself stuck. No matter how many times you read through your code or notes it may feel like a problem is impossible.
First, don't let this defeat you! It might just be that you've gotten caught up in one detail while missing the key points. When faced with a complex problem, break it down into smaller, more-manageable pieces. This approach will make the individual parts more digestible, which will make it easier to identify what you're missing or what needs to be changed.
Other times you need to take a step back and reorganize. Looking at the big picture instead of focusing on the details can help recenter your thought process. Clearly identify what the questions are asking for and what your main goals are.
Overall, approach your studies with a growth mindset, acknowledging that you can further your knowledge and learn from failures. This will allow you to embrace the learning process and focus on your progress rather than perfection.
Reaching out for help or support
Whether from professors, peers, or course staff, seeking assistance may help you get over obstacles quicker or give you more ideas that you haven't considered. Asking for help isn't a sign of weakness, but of strength and willingness to learn.
All ISG supported courses will have regular office hours, tutorials, or labs to support students who need additional time to go over concepts, practice more examples, or figure out that last step that they're missing for their assignment. Take advantage of the resources that are provided to you as a student.
Practicing self-care
Unplug and take occasional breaks from your screens to reduce eye strain, prevent headaches, and give your brain a chance to recharge. Further, you should be getting enough sleep, eating healthily, and exercising regularly. Maintaining your physical well-being is also maintaining your mental well-being.
Your mind can become cluttered and filled with errors if you don't take the time to focus on monitoring your health. A program will only work as well as its programmer can.
Staying motivated
Remember that you were selected from hundreds, if not thousands, of applicants to study at the University of Waterloo, known for its excellence in computer science research and study. Remember why you chose to take a computer science course, pursue a degree in a related field, or pursue a career in the discipline.
When in doubt, look back at how far you have come. Don't underplay what you have accomplished thus far even if it seems small in hindsight. You put in the time and deserve to take pride in your efforts. Celebrate your success.
You are a student who is capable of achieving whatever you put your mind to. Being confident in your ability to succeed will make you feel more in control of your progress.