Wednesday 1 April 2015

Week 12: Last Impressions

Hello,

This is going to be my last post for the course CSC148. We just finished our last week, with a brief overview over code efficiency. We looked at some sorting algorithms and compared how they would differ in time when being given a list of length n. When n got large some algorithms would would grow quadratically such as bubble sort. While merge sort grew at nlog(n) speed while n grew.

We looked over Big Oh a lot more in detail in CSC165 last semester, but it was interesting to learn some of the applications of the things we learned in this course to Big Oh. Such as some of the abstract data types we learned. If we were deleting an object from a linked list it would be in in O(1) which would be faster than a normal list. Or if we are searching for number in a binary search tree it would O(log(n)) which would be much faster than a list which would be in O(n).

http://xlinux.nist.gov/dads/Images/bigOGraph.gif
<a graphical, visualization of big oh>

Looking over the rest of the course, I learned a lot and enjoyed this course very much. This course really explained the problem solving and abstract part of computer science rather than CSC108 which was mostly learning about python convention and the tools of programming.

My largest struggles over the course was tracing and learning to write recursion. It took me a while to understand but eventually I got to the hang of setting a base case and understanding how the function should consider different input because it is calling itself, in itself. The fact that I became comfortable with recursion makes me feel pretty confident in continuing computer science and trying to face many other challanges that come my way.

What I really enjoyed from this course is learning the different types of ADT's and applying them to different problems. Trees, binary trees and linked lists can solve particular problems, but the good thing is that they can be applied to many other problems to represent data. Hence the name abstract data types.

I really enjoyed this course and I would strongly recommend it to anyone is interested in computer science. I am sure when I am continuing computer science in the future I will look back to what I learned in this class and it will help me in my future years.


Thanks for reading,
Rod Mazloomi

No comments:

Post a Comment