• Home
  • University of the People
  • Data Structures (proctored course) CS 3303
  • Data Structures (proctored course) CS 3303 Learning Journal Unit 1

Data Structures (proctored course) CS 3303 Learning Journal Unit 1

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