Last
semester, CSC108 closed with learning about what classes are and how and when
to use them. This course started right where the previous course left off,
except now it is more about using classes to represent abstract data types, or
(ADTs). Python is known to provide many data types for objects by default (such
as integers, strings, Boolean values, etc.) but there are not always data types
that satisfy our needs when creating programs. For example, if we wanted an
object to represent a student, we would want to store his name, student number,
list of courses he is taking, etc. We would have to customize this using the
pre-existing default data types and orient them in a way that is easy to
extract and manipulate and use later. This is the way I understand
object-oriented programming to be. The instructor made the content concise and
clear so I definitely appreciate that. Since Python’s syntax is not overly
complicated, this takes out one more variable for me to divert more effort into
understanding the content better. You can always do better. My one gripe is
that the examples shown in lecture were maybe too simple compared to the things
we are asked to do for the first assignment. My group (with Jovan and Lukas)
kind of struggled at first with understanding exactly what the assignment asked
for and how to organize our classes to meet the specifications. However, as we
learned more and more about class declarations and inheritance of classes, we
knew to make subclasses and declaring exceptions on certain methods in
superclasses to make ourselves a nice project. At least that is the hope. In
terms of lectures, as long as I keep doing what I am doing (paying attention in
lectures, reviewing notes after lecture, doing the assigned readings, etc.), I
don’t foresee any problems happening in terms of understanding lectures.
Although this course definitely takes things up a notch in difficulty compared
to CSC148, I enjoy this material because lecture and lab examples include
solving real-world problems and we are now learning how to be good designers
and programmers, which is what I came here for.
I
read some of the slog entries from other students concerning last week’s topic,
which was asking why geeks should write. I was especially intrigued by Ellery’s
slog entry (http://zhexinlai.blogspot.ca/).
She thinks geeks should write because they communicate a lot with non-human
objects and therefore have expertise in handling them. Since non-human objects
cannot verbally communicate and regular people sometimes have trouble dealing
with them, geeks would be doing everyone a service by bridging their gap by
writing. I think Ellery’s idea is awesome. I only thought about this topic from
the geek’s point of view, not how they could help society like she did. Other
slogs had equally intriguing ideas, some in line with mine, some totally
different.