Learning Journal Unit 1
Department of Computer Science, University of the People
CS 3303: Data Structures
Dr. Raval Dipakkumar
09 September 2022
Introduction
This learning was quite an exciting introduction to the amazing class of Data structures and
Algorithms. As an introductory week, we discussed and read about the core concepts that we will use
in order to have a firm ground as we ease into the tougher topics of the following weeks. In this paper, I
will discuss the activities I went throughout the week as a daily reflection.
Thursday 01 September 2022
Today, I was excited as this was the first day of the new term. The almost three week break we
had was relieving but I couldn't wait to start the new term today. After reading the syllabus, course
forum and available announcements, I immediately dived into downloading the textbooks and
attempting to download the software required during the learning term. I use Ubuntu as my Operating
System and I was unfortunately unable to download the required software Jelliot on my computer as
the provider's download page only allowed a successful download for the native Windows OS version.
A successful discussion with you (Dr. Raval Dipakkumar) and some fellow students in this class
ensured me that I will be able to use Eclipse instead although I'm aware I won't be able to view the
animations offered by Jelliot.
Friday 02 September 2022
Today, I began reading the first chapter of the textbook by Shaffer (2011). This chapter opened
up by introducing why data structures are important and why they are needed. Although computers are
becoming more powerful each year, allowing them to be able to handle tougher tasks, it is important to
have a developer's mindset that makes the most effective use of the resources available in order to
increase the efficiency of our programs. Major takeoffs from Chapter 1 were the definitions and
explanations given for the terms we will use throughout the course. We later discussed these terms in
the discussion forum. The examples following mostly tried to cement the concept of Abstract Data
Types and abstraction in general. I particularly enjoyed the example that explained abstraction by
using the terms label and metaphor. The example explained how humans use labels to define the
resultant item and hide the complexity of its implementation as in how all the components that make
one storage device to be referred to as a hard drive (Shaffer, 2011, p.10).
Saturday 03 September 2022 & Sunday 04 September 2022
Today, I read the second chapter of the Clifford Shaffer's textbook. Generally the text
introduced the mathematical preliminaries involved in trying to understand data structures and
algorithms. This is when everything started to become hard as I had been warned by a student who took
this class. Over the spread of the two days, I attempted to understand topics such as Sets and Relations,
other notations, factoral functions and permutations, logarithms, summations and reccurances and the
more daunting topic "Recursion". The