Wednesday, January 28, 2015

Week 4: My Impression of the First Few Weeks

           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. 

Tuesday, January 20, 2015

Week 3: Why Geeks Should Write

According to dictionary.com, a “geek” is best described as a person who displays excessive enthusiasm for and a high level of expertise on a particular subject or activity while being somewhat reclusive and socially awkward. I have noticed from various courses last semester that a considerable number of people display some or all of the defined characteristics of a “geek”, for a lack of a better term (since the term “geek” could have a derogatory connotation). They were highly motivated not only for academic success but for self-exploration and augmentation beyond the minimum requirements, while not necessarily making social interaction their top priority. This is a waste of potential, as good ideas are meant to be shared yet the absence of social interaction makes sharing non-existent.
I understand that sometimes people can be shy or people just do not like talking to others. A great alternative to talking is, of course, writing. It does not require the effort of socialization so that variable is completely taken out. Writings are judged only on the quality of writing and the content. Geeks, who have dedicated themselves to their craft, should be confident about producing good content and anybody can be a solid writer with practice and due diligence. Writings can be distributed far and wide, especially in today’s world with the Internet, so a person from Africa can read and learn from ideas that another person for Australia produced to change or build upon his or her own ideas. Your ideas will also be exposed more, which is a good thing, since more people can benefit from them and provide you with feedback. Writing is a means of interaction with the outside world without the exertion of effort to socialize that geeks could feel.
It would also be prudent for geeks to write for the sake of recording their work.  They sometimes produce ideas at such a pace that old ideas might be forgotten and if not recorded, lost forever. I learned last semester from the slogs in CSC165 that reflection is very important. Towards the end of the semester, I was scrambling to find out what weaknesses I had in CSC165 to shore them up for the final exam. The slog had everything in it because I had been diligent in recording my struggles. Geeks should write down their current exploits so that in the future, they can use the accumulated knowledge to solve problems that they might have struggled in the past. The past could also serve as inspiration for current or future projects.

This is my opinion on why geeks should write, primarily for sharing and recording their ideas. I would love for my fellow CSC148 students to comment on this slog entry to give feedback on my opinion. I will also be reading and commenting other slogs to check out their opinions on the matter.