This article is a sequel to my first blog post on RTC — 3*(CSC 171), published on August 7th, 2018.
This Fall of 2018, I am going to be taking CSC 171: Introduction to Computer Science for the third time. In my last blog post, I wrote about my process of learning to take CSC 171 for the third time. In this article, I will focus on the adjusted approach and strategies that I will implement to make a successful Fall 2018 semester!
1) No more blind copying notes from the lecture slides!
It was hard to not blindly copy everything from the lecture slides when the slides are projected on the screen – but the lecture slides are posted online after lecture! So that means that it would be much better to listen to what the Professor has to say and jot down some important notes that will help me recall back what the Professor said in class rather than just furiously copying all the notes from the slides and feel guilty when the Professor moves on to the next slide and I am still not done copying that slide and I did not listen to what the Professor said because I was too busy copying down the notes. (Believe it or not, I was one of the people who constantly copied the notes from the slides… )
2) Re-reading and re-organizing notes
Yes – this process seems redundant but it really helps in remembering information and will force me to go back to my notes that from lecture. Because my Professor posts the lecture slides after the class, I would also look at the slides and add important information from the slides to my notes. I like to keep my notes in a notebook because it will be easier for me to organize the notes and I will be able to have flip through the notes in chronological order when I study for a test.
3) More Practice-It!
“Practice makes perfect!” Aileen is my friend who also majors in CS and was my TA for CSC 171. She recommended that I use Practice-It
< https://practiceit.cs.washington.edu/ > for additional practice problems in addition to my lab practice sets and projects. Practice-It are short but challenging problems that tackles different CS concepts and has definitely helped me in solidifying my programming skills! The con of Practice-It is that it does not provide instant feedback so you will have to consult your Teaching Assistant or your Professor or your friends for help! But that will be good since you will be able to have the opportunity to bring in problems to solve rather than just asking for an explanation to a concept – which leads to my next approach!
4) Practice set over concept explanation!
Yes – we all can probably agree that an explanation to a concept is important, but more importantly, HOW do we implement the concept learned? Computer Science is a lot about creating something using your ‘hands-on’ programming skills. After a concept explanation, you will understand the theory of Computer Science more – but what about implementing that concept? Practice sets will do it! Trying to tackle practice sets related to the concept that you are trying to understand will help you understand the concept even better! Oftentimes, a lot more questions would arise when you tackle a practice problem since it was designed to make you ask more questions and learn from it!
5) YouTube videos
I like to use YouTube for learning as well! I am more of a kinesthetic learner when it comes to programming – it would be much easier for me to watch a demonstration than listening to someone explain to me the concept. Given that, I like to use YouTube as a resource to watch how others tackle a concept or a problem set.
6) Take better advantage of school resources
Schools often have study groups, study sessions, study halls, tutoring, Professor and Teaching Assistant (TA) office hours. I only took advantage of office hours and tutoring, but later on realized that a lot of my friends who did well in this CS class, used a study group to help keep each other accountable by handing in assignments and studying together for tests or doing a debugging party (a fancier way of saying trying to make the code work properly)!
7) Study with the right group of people
It surprised me how helpful it would be to study with the right group of people. By ‘right’ group of people, I mean people who have the common goals as you – to succeed in the class and can be responsible enough to hold each other accountable! Study groups are effective as long as it does not turn into a socializing group!
8) Completing the lab set by myself before going to my lab session.
Before, I always started my lab sets when I went to my lab sessions. Which meant that a lot of the time I would be reading the instructions rather than taking the time to ask my TAs questions about the labs. Completing the lab at least once before the lab sessions will definitely help accelerate the process of completing and understanding my lab as I would have already know what the instructions for the lab are.
9) Side projects/Pet projects
Class assignments and projects come first, but after that how do you find the joy in Computer Science? I find my joy in creating my own personal projects – they might not be the most brilliant project (it does not have to!), but they definitely do help in enhancing your programming skills and provide you with something to talk about.
10) Believing in myself!
Last but not least, believing in my own abilities is important. Sometimes is just a matter of your confidence.
In conclusion of this article, I want to thank all my friends who have helped me in the most difficult times – you all know who you are! 🙂 I also want to thank RTC for the support and love! This article just lists the approach that I will take after observing my own study patterns and my own preferences – please feel free to come up with your own and use any other approach that works best for YOU! In the end, it depends on what approach or strategy that you prefer the most! Good luck to all of us going through challenges! We got this!
Carolina Lion He, 2019 RTC Member
Rewriting the Code, Empowering College Women in Tech