• Home
  • University of the People
  • Data Structures (proctored course) CS 3303
  • Algorithm Analysis

Algorithm Analysis

Algorithm Analysis Department of Computer Science, University of the People CS 3303: Data Structures Dr. Raval Dipakkumar 15 September 2022 Introduction This learning was quite an exciting introduction to Algorithm Analysis. We discussed and read about concepts and terms used in algorithm analysis over the second chapter of the textbook by Shaffer In this paper, I will discuss the activities I went throughout the week as a daily reflection. Friday 09 September 2022 Today, I began reading the third chapter of the textbook as instructed by the learning guide. At first I had a hard time picking up the initial concepts required so I gave it a pause and went for the optional lecture embedded in the learning guide by Dr. Talipa. I understand video lectures better than just reading. The lecture by Dr. Talipa helped a lot to set the ground for me to resume back to the textbook. Right after the lecture though, I went over to YouTube to learn some concepts of Algorithm Analysis from other sources. Saturday 10 September 2022 Today, I began reading the third chapter of the textbook by Shaffer (2011). This chapter opened up by introducing the concepts of Asymptotic analysis. Although computers are becoming more powerful each year, allowing them to be able to handle tougher tasks, is important to analyze whether an approach to algorithm design is the best for the job required. As such, every computer scientist should be able to test an algorithm before translating to computer programs to test it's overall efficiency. We looked into the concepts of growth rate in the context of cost of implementing a certain algorithm as its input grows. Following from that, I read about best, worst and average cases, which are the different ways in which we test algorithms. As a rule of thumb, the efficiency of a program/algorithm should be tested using the worst case so that we have an understanding of the most not perform over that test time. Sunday 11 September 2022 Today, I continued with the rest of the chapter. I went on to read more about Asymptotic Analysis, Big O notation, upper and lower bounds. We were required later in the discussion forum to use these concepts/tools to analyze a piece of code that swaps stuff. I also read about the running time of an algorithm and how to calculate it. Most of the examples given included a for-loop so that we understand it. Monday 12 September 2022 After reading all the concepts of the chapter on the weekend, although some of these concepts were hard to understand quite clearly, I was assured that I could now attempt my assignment for the discussion forum. For the discussion forum, I was able to write and complete the assignment during the day. I submitted my assignment on Tuesday for peer assessment. Tuesday 13 September 2022 Today, I was able to post the my submission to the forum. I also read and commented on posts by my fellow peers. I