Saturday 29 March 2014

Sorting efficiency

When a person begins learning programming the primary goal is to understand how to accomplish a certain task. That is the goal in most disciplines actually. Create a list with certain variables, sort a certain dictionary, or modify a string are all projects that are not that difficult to learn. In 148 I feel like we push through a certain threshold where simple actions stop being such a huge challenge and instead we begin focusing on form.
Run time is the way efficiency manifests itself most directly. Before dealing with more complicated functions we must learn to see how to build simple things correctly so they don't take too much time. In this action we go from simply writers of code to understanding the underlying mechanisms in computer science. In that way 148 is that much more significant than 108.
When we look at efficiency we use the example of sorting. From the basic bubble sort to merge sort we begin to understand that it is not simply enough to solve a problem but we need to find the one that is most practical, will do it fastest, and is not overly complicated. To find the perfect one we must combine all those factors and make the right decision.
So far out of all classes in my university career I find computer science the most intriguing. Now not only do we need to solve a problem we need to chose a case which is most practical and applicable.


Thursday 23 January 2014

Heya how are you guys doing?
This week in class.... Object-oriented programming! It is quite intriguing actually. It's interesting how we learn that Python is an object oriented language but in reality we have nothing to compare it to (no other languages). I guess we just sort of take it for granted and add this 'classification' to python. I keep asking people who are taking 207 or 209 "What's it like?" or "How does Java compare to Python?". I think now that I know the basic background to a single language I am really curious how others are built.

To be completely bluntly honest I didn't come to class this week. It was really cold and at times I find it hard to absorb lecture material presented by Dustin. But it's okay, because I went over the class notes and read up a little on Wikkepedia. It seems that OOP is simply the most efficient way of working. All the languages that I heard of before like Java, C++, Ruby... are said to be object oriented. I mean it makes sense to connect every single instance that we work with and define it as an object. Sort of like real life. Everything with what you routinely deal with in real life can be assigned a certain classification.

In other news I scored a tree planting job in British Columbia. Mad pumped... But the thing is I kind of wanted to take a PEY after third year and that means I need some real world experience. That means I really should try and find a bioinformatics lab job in Toronto: that would be really sick. I also just bought a 300 dollar chinese carbon fibre frame out of which I am hoping to build a fixie. Riding that to my lab job this summer would be the coolest thing ever.
Hurray for keepind a diary for class grades! Always wanted an excuse to start a diary