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