Before I begin writing my second slog for CSC148, I would like to take this moment to take a deep breath and embrace the fact that we are already in the fourth week of classes. How time goes by is unbelievable. I remember the first week of class when I entered medical science building and I was not sure how this course will be, what it will be about, etc. As I mentioned in my previous slog that I had taken CSC108 last semester so I was hoping that an introductory course on Python would ease the transition into CSC148. I sat right at the front of the class so I can focus and understand the material. To my surprise, at the end of the class I felt clueless about what Professor Danny taught. Now don't get me wrong, Prof. Danny isn't a bad prof. In fact, he is really helpful and the way he teaches someone with no background of Python will also begin to understand it.
Before getting into the material we learnt in class and my struggles with it, lets shed some light on how week 1 to week 3 went. I can definitely say that on average these 3 weeks were an uphill battle for me. Week 1 began with a lot of confusion about the material. This is mainly because we started of with the topic of Classes, which we barely touched upon in CSC108. Since I had minimum to no background in computer science, it was like getting introduced to a completely new topic. Although it was somewhat assumed that students are prepared for this course based on CSC108, at that time I felt that nothing I learnt of in the introductory course was being used in CSC148. Note that I said "AT THAT TIME". Reason behind this is by week 2 I was beginning to understand and get a hold on the topic of classes. I used the time between the two lectures to go over material taught in class and just reading over the chapter notes provided on the course website. I also, feel the CSC108 textbook is a good reference to read over when in doubt or when stuck. Although I was starting to understand what a Class is and how to create a class and what methods it requires, I wasn't 100% confident that I can do this on my own. It wasn't until labs began in week 2, when I actually started to get a feel for it. Like they say
"PRACTICE MAKES A MAN PERFECT"
Before the lab, I went over the material and I'll be honest with you I was more lost than ever. Taking one step at a time and finishing the lab material as much as I could based on my understanding, I have to say it was a good base for me. After working on the handout during the lab with my partner and discussing with the TA and fellow students, I understood a lot more than what I went in with. I understood what the __init__ method does as well. Basically I went into the lab with just the following:
class RaceRegistry(object):
""" A system for organizing a 5K running race"
After the lab, I had this much:
LEGAL_SPEED = ['under 20', 'under 30', 'under 40', '40 and over']
class RaceRegistry(email, speed_category):
""" A system for organizing a 5K running race
Attributes:
- email address: list of strings of email address
- Speed Category: string. < 20, < 30, < 40, and >= 40
"""
def __init__(self):
register = {}
Other than the lab component, during week 2 we also worked on __str__, __repr__, and __eq__ methods. I have to be honest here, I didn't understand the point of these methods then and I still do not understand it. During this week's lecture, Prof. Danny went over these methods briefly in terms of our assignment 1 and I understand the definition of them but still clueless about what the point is of having them there if there is even one.
While all this was going on, I was also working on Assignment 1 with a partner. Now I have to say, what the assignment did for my understanding is not even close to what the lecture and the labs have. Like I said before, PRACTICE MAKES A MAN PERFECT!! and it sure did for me. The only thing that threw me off was the subclass and how it is inherited from the superclass. Luckily my partner is in the earlier lectures of Danny so she explained that part to me. This is why, during week 3, subclasses seemed like review and it cleared up more for me.
Looking back at the 3 week period that passed in this course, I must say there was a lot of material covered but it sure just got better and better for me over time. I am honestly looking forward to what else is in store for me from this course. One thing is for sure, this is just the beginning and I know things just get harder and harder but I am confident now that I can tackle the course material as long as I keep working at it.
Thank you all for reading my posts. I know its quiet lengthy but I hope from my experience you can take a few advice for yourself and it'll help you in the future. Feel free to pass a comment to me as I love getting feedback on how I am doing specially since I am new to computer science and to writing slogs.