Monday, March 24, 2014

5th Six Weeks

     This six weeks we have learned recursion and various methods of sorting lists as well as searching methods. An important concept we have been introduced to is the idea of efficiency, adding an additional element in deciding how to structure programs. Rather than just looking at how to solve a problem, I must also look at how to best and most efficiently solve a problem. Sorting algorithms we have learned include bubble, selection, insertion, and quick sorts. I like quick sort the best because it tended to have the shortest run time out of all the sorts when we tested it in the sorting lab. Between the binary and linear searches we learned I like the binary search much more because it is much faster and better in almost any situation. Recursion is a difficult topic to learn initially, but doing the labs and playing cargo bot helped me learn the concept, although I am still working on understanding it more fully. The thing I had the most trouble understanding when learning recursion was that I have to trust that the program will work. Instead of explicitly solving the problem, I have to establish the base case and through doing recursion allow the program to figure the rest out. It is also difficult to establish when recursion is necessary. After learning recursion, there is a tendency to want to use recursion to solve every problem I am confronted with, but often recursive solutions are not the best ways to do problems. I also started to learn how to combine HTML, Javascript, and CSS into one program in my free time because I was bored on Sunday. I discovered the website jfiddle.net and built a basic calculator using a combination of these three languages, something that took me way too long but I was proud of nonetheless. I found that while codecademy is helpful in learning syntax, when making actual programs it is more helpful to browse through other people's code and see how they did things in their programs, so I consequently spent a lot of time on stackoverflow looking at other people's solutions to issues.

No comments:

Post a Comment