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.