Wednesday 4 December 2013

Sorting Algorithms

This is the last week of your CSC148 SLOG.  As well as any other
entries this week, you should write on sorting algorithms selection
sort, quick sort, merge sort, and efficiency.

There are infinite many different types sorting algorithms one can write. Sorting algroithms come in handy when you have a large list of numbers or words and you want them to  be sorted from greatest to smallest or smallest to greates and in the case of words they can be sorted alphabeticallly.  The selection sort is when you look at the minimum value  in the list and you switch it with the current positon you are at. An example would be [1,5,6,2] the first sort would be [1,2,6,5] and the next one would  be [1,2,5,6]. The selection sort algorithm has an efficiency of 0(n^2) which is okay for lists that aren't super huge but wont be effective with large lists. The idea of quick sort is to choose a pivot point in the list and compare it to every value in the list. If it is less than the pivot then it moved to before the pivot and all values that are larger than the pivot is moved to after the pivot. And continue to do this recursively in each sub section of the list. Quick sort has an efficiency of O(nlogn) which is less efficient than selection sort. Finally Merge sort is when you divide the list into halves and sort each half then merge the results together. Merge sort has the same efficiency as quick sort

Monday 25 November 2013

The Last Stretch

We are hitting the last stretch of the course so far and I have to admit that I miss the excersize. I think we need more practice problems on the last few weeks lectures to be able to fully grasp the material. The reason why I did well on the tests was because of all the practice I got from the assignments and excersize.

Sunday 17 November 2013

Term Test Deux

I really appreciated how the term test codes were so similar to the excersize and the assignment. I felt it was very fair and I liked how the codes for the second and third question could be written in a single line. I think it's pretty awesome that at this point of the course you could write a code that would have taken several lines in the past but now it can be written in a single line if its  given some thought

Monday 11 November 2013

Sorting things out...sort of

It's really interesting to see how these new sorting algorithms using the knowledge built up through out the year makes it much easier to understand. One of the reasons why I love programming is because of how practical it is  and how you can write a code to make things easier for you

Thursday 7 November 2013

The Assignment

I am so happy that the assignment is over. I worked on that thing for two weeks straight and finally finished it the night it was due. That assignment took every bit of brain power I had left after midterms. But I am happy to finally finish it .I see now we are getting into the last chunk of the course , with the ending of excersize and assignments. I've noticed that we aren't learning any new topics but building on what we learned in the course previously. Which I appreciate because this strengthens my understanding of the previous topics and keeps us constantly on top of our studies

Tuesday 29 October 2013

Swamped.....

This week I've  had my handsful so far with this assignement. I've been stuck on the first part for a couple of days now and I think I'm  almost there with figuring it out. I have no idea when I'll even get time to look at the excersize, hopefully it won't be too hard. On a lighter point, I'm enjoying my programming journey so far. Every class I keep getting blown away at how perfect programming is for lazy people. Its literally like the most amazing thing for people who are too lazy to actually analyze large groups of data. I'm excited to see what I learn in the coming last stretch of the course.

Monday 21 October 2013

Oh My Where Has The Time Gone

I've been in this course for about a 6-7 weeks so far and I can absolutely say that Ive become a way better programmer. Everything from recursion to tree lists to abstract data types has really opened my eyes to what i can do as a programmer .Object Orientated programming has literally become my best friend. It makes programming so much EASIER and made me ponder and understand that many of the common methods used in python like "str" are actually in fact classes.

Recursion is an amazing way of making a function more visible and easier to prove but on the flip side if you have a large and complex function the call stack might get overwhelmed and even crash or slow down. Thankfully in this course we haven't tackled problems this difficult yet but I do appreciate how recursion simplifies and shortens your code.