Understanding Algorithms
- Mar 10, 2017
- 1 min read
Astute computer scientist, mathematician, and professor emeritus from Stanford, Donald Knuth once proclaimed, “An algorithm must be seen to be believed.” These simple yet powerful words have shifted the way I looked at my senior project.
After narrowing the focus of my project to sorting algorithms, I again found myself in an interesting state of perplexity. I began reading several books from the library and realized that most of the content is almost outdated. However, I turned to my computer to find a plethora of resources and have started an online Coursera course. The course is called Algorithms and is taught by two professors from Princeton University. The six week course (I aim to finish much earlier) is an introduction to fundamental data types, algorithms, and data structures with an emphasis on learning the real world application and analysis of Java implementation.
By the end of this course, I will have a solid understanding of each of the following algorithms: union−find, binary search, stacks, queues, bags, insertion sort, selection sort, shellsort, quicksort, 3-way quicksort, mergesort, heapsort, binary heaps, binary search trees, red−black trees, separate-chaining and linear-probing hash tables, Graham scan, and kd-trees. To get to this point I am following the teachers lecture slides as well as the provided book. The book, Algorithms by Robert Sedgewick and Kevin Wayne, has clear explanations and thought provoking programming assignments.
This course has helped me gain control of my project, as I now have a clear path for gaining the essential technical skills required to actually put my plan together.
Thank you for reading and supporting!


Comments