Thursday, January 29, 2015

WEEK 4 - LOL (LOTS OF LEARNING)

It's a bit frightening as well as exciting to think about all the new concepts I've learnt in just one month of this course. Leaving CSC108 I had thought that I had quite the grasp on Python and understood how to use it to it's full extent, but boy was I wrong. This course has pushed me to think about designing code and solving problems at a whole other level. So far, I believe that I'm doing ok but there is room for serious improvement. I think that I've been having a bit of difficulty with recursion, creating special methods (__str__,__init__, etc..), and thinking abstractly.

The biggest difference from this class and 108 is that in 108, it was quite straightforward in terms of what was asked to be accomplished, but in 148, the assignment is very liberal in it's design which is something I need to work on. Being able to take a problem and use the tools at my disposal without having any pattern to follow is something I don't feel as comfortable with, but I'm noticing it's becoming a reoccurring request in the course  and thus I am going to start practicing designing classes and subclasses to work those skills.

I'm also determined to be able to trace recursive functions, and hopefully write them with ease. I'm really struggling with the tracing part at the moment but I have found several interesting reads as well as some practice questions that I am going to begin working on that may hopefully get me a better understanding of the topic and improve my recursion skills.

I'm really excited to continue on with the course as I can't wait to see what we learn next, and work really hard to improve on the areas I'm not as comfortable with. I'd like to hear from other students, what they think a concept they're struggling with, or have difficulty with, in the course is? Are they the same concepts I'm having a hard time with?


Tuesday, January 20, 2015

WEEK 3 - Why should "geeks" write?

I believe that writing is essential for everyone because it is a helpful tool in reflection as well as in learning from our past. Since my time in high school I have begun to keep a daily journal on me at all times as a reference to my daily life.

In a scientific domain, such as computer science, I believe a journal could prove to be an extremely useful tool to use as a reference to past projects as well as to road-blocks that tend to need revisiting several times with several attempts before a solution is found.

When writing a program, we want something to be accomplished, and sometimes this thing can be quite complex. Object oriented programming is thinking about each element of a whole, being your program, as an object. Some programs contain hundreds of objects that vary in importance but the fact is, is that things can become quite complex very quickly. It’s a good idea to have a written record of the objects in your program because then you can easily reference them if you come back to a certain project later on, or if you’re working on a new project that requires you to do something similar to something you’ve already done. Writing can not only help you think about a solution to a problem, but then also becomes a resource later down the road when a new problem arises.

It is also crucial that code-writers posses good writing skills. The most important part of a good program is good explanations and commentary. This is what defines good, from great code. When working on such a large scale, a project can easily become quite confusing and so if you you’re able to properly explain your thinking others can understand and learn from what you’ve done. This is crucial down the road when projects go from one or two people to a whole team working on specific parts of a whole. 

Having a journal of some kind can only be beneficial in the long run and is a great way to capture all those “out-loud” thoughts and look back on them, because sometimes the answer is just under our noses.

If theres any other reason why you think that geeks should write please let me know with a comment below! 


Leo out!