Finally we reach the end of the course.
After almost 4 months, the course is finally reaching its end. I came into the course with scepticism, worried that it might be too hard but surprisingly it wasn't. It did not interfere with my other courses and on top of it all it was pretty fun and interesting. I've only just entered into the computer science field and I'm already looking forward to taking other courses.
To any new students thinking of taking a computer science course, I really recommend csc104. The course will help you to take your first step into the field and help you in determining if computer science is really your thing. If you are taking the course my advice would be first to just relax and have fun. The course is really easy, and its great for those with no prior knowledge of computer science. One main thing, which is different for everyone, is a person's capability to grasp the information. For example each person has different level of difficulty with math, some find it hard to understand the concepts while others may grasp the info the first time. For me I was easily able to grasp everything after seeing it just once, which may be linked to my ability to understand concepts in math with ease. So for those who also easily understand the material taught in lectures, my advice would be just to simply do a weekly review, more specifically the weekly labs given. Just by practicing with the weekly labs and past exams, I was easily able ace this course. In my opinion nothing more is needed. However if you are having difficulties in understanding the material, then of course you'll have to work a bit more harder. After a lecture is done and you are confused on something just go back to your notes and play around with the given functions. For example as seen in my other blogs I go around playing with the functions given in lecture to make my own images or animation. Also not to mention STEP, use the step function A LOT. It was very helpful for me when I was first starting out, it greatly increased my way of understanding. I feel like all of this will be quite helpful in allowing you to ace the course however if there is still some confusion, go to the office hours. The professors and TAs are very nice and very helpful in providing different explanations which then might click something inside you. Everyone has a different way of understanding things so getting explanations from different point of views may be helpful.
The course requires you to constantly design new functions, or provide their definitions therefore you need to be very adept at that. Here is my advice in designing a function in 3 easy steps. First, the main one is think out what you want your function to do. Put the output and input value in a documentation check-expect. Next step is a bit trickier, decide how you want your function to carry out its task. Figure out which functions you want to use in its definition. Then make a design check-expect. Third and finally is to put all that information together, pick out a name for the function and a placeholder and write a function definition. One thing to note is that all of these steps require an extensive knowledge in the different functions taught in the course. You should know a function's name, what it does, what values it requires etc. If after all that, your check-expects fail then step your function and see where exactly the problem lies. Well since each function is different the best way to get your mind around designing functions would be to practice. I was bad at first however when studying for the first term test I was forced to face my weakness and after practice it became easy.
When you take the course, the best thing you could do is make friends in your class. Make friends who can then later help you understand something you are having difficulty in. However if you feel you are fine without friends just know that your life would be much easier when doing projects. Te two projects given in the course can be tricky and having a group partner can help you find mistakes you might have missed if you worked alone, also in my opinion its just faster. Everyone contributes to different sections of the assignment and you can be done much faster. Other than that, and I cannot stress this enough, every time you come across a function add that to a list of all functions you've learned because knowing your functions is the main thing in this course.
All in all, I really enjoyed this course and I hope other future students who take this course enjoy it just as much.