Expanded Definitions of Data Structures

To: Prof. Ellis
From: Hamzat Olowu
Date: 10/27/2021
Subject: Expanded Definition Term: Data Structure

Introduction

The objective of this document is to accentuate one of the most important term for programmers and software engineers. This term is Data Structures, the focus of this paper will be on the etymology of the term, then it will discuss the term and its uses in different backgrounds under computer science. This paper will also focus on the way the term is used depending on the context of the articles or books in which the term has been used. The official definitions of the term will be provided first, term’s etymology will be provided after which the context of the words will be discussed. At the end another definition will be provided which will come from understanding the term’s etymology, definition, and the context in which it’s used.

Definition

 The term data structure according to the oxford English dictionary means “Computing the form in which a collection of data is organized, typically allowing for efficient access or manipulation of the data.” [1] According to this definition we know this term is coined for the computer science field, which makes this a unique term. If we look at the term’s etymology, the term was first used in 1960 in a sentence from the IRE Transactions on Space Electronics and Telemetry which states “The decoding program also includes provision for recognizing the time and data structure when partially camouflaged by noise.” [1] The sentence provides a better understanding of the term and shows that the term is being used in a computer science environment. The second time the term was used officially was in 1973 in a book called Introduction to computer science which was what set the standard for later uses of the word. Data structure can also be defined as “The logical or mathematical model of a particular organization of data.” [2] This definition is essentially the same as the first definition but it’s defining the term based on logic and math.             For computer science students the term data structure is made known from either a mathematics course or computer science course called data structures and algorithm. This shows how deeply entrenched in computer science the term is, other definitions for this term still haven’t escaped from the scope of computer science. According to a definition from the Britannica encyclopedia, data structure is a “way in which data are stored for efficient search and retrieval.” [3] The definition from the oxford English dictionary and the Britannica encyclopedia both have different wordings but the same meaning, one says, “efficient access” and the other says “efficient search and retrieval” which attest to the same meaning, further corroborating the fact that the term has the same meaning across different definitions, and it is most suitable to be used in a computer science environment.

Context

Perceiving the essence of the term entails more than just the definition of the term. The context of in which the word or term is used needs to be discussed to come to any kind of conclusion about the term. For this document, the focus is on data structures and in what context it is used. Based on what has been discussed in the previous paragraph data structure is a term that is mainly used in computer science settings, so the context of the word would hold a fair amount of computer science mixed within. This is seen in the book called Python Data Structures and Algorithms which states “A good understanding of data structures and algorithms cannot be overemphasized. It is an important arsenal to have in being able to understand new problems and find elegant solutions to them.” [4, P.1] The book was stating the importance data structures and its counterpart which is algorithm. The book teaches the different types of data structures and algorithms which uses them using a programming language called python. The term data structure in this book is an important concept that is being taught to students interested in computer science. Looking at how the term is being used in context from a different type of source might explain more about the term itself. A different type of source is an article and the one that was chosen for the sake of this writing is by Rhoda M. Gilinsky, a freelance writer who wrote about Teachers Learning Computer Methods: “Students with previous academic preparation in computer science or who want supplementary preparation can also select from more advanced courses, such as Information Structures and Algorithms, Computer Architecture and Programming Languages.” [5] The use of the term here is different as we did not detect the term data structure in the sentence instead term information structure was spotted. In this context, information structure is replacing data structure as data and information can be used interchangeably. The usage of the term in both contexts truly demonstrates the interpretation of the term data structure.

Working Definition

After the juxtaposition of the term’s usage in different context, another definition can be derived from the information provided in the last two paragraphs. Using this knowledge data structure can be defined as any layout information/data is stored. Whilst the definition is in essence equivalent to the ones provided by the sources of this document, it is less specialized. The difference between this definition and the others is that it is presented with generalized wordings which allows for the word to be used in almost any other settings rather than only in computer science.

References

[1]    “Data Structures,” in Oxford English Dictionary, 3rd ed. Oxford, UK: Oxford Univ. Press, Mar. 2012, data n, c2. [Online]. Available: https://www.oed.com

[2]    R. S. N. and S. P. Suman, “The Role of Data Structures in Multiple Disciplines of Computer Science A Review,” The Role of Data Structures in Multiple Disciplines of Computer Science A Review – IJSER Journal Publication, Jul-2013. [Online]. Available: https://www.ijser.org/researchpaper/The-Role-of-Data-Structures-in-Multiple-Disciplines-of-Computer-Science-A-Review.pdf

[3]   “Data structure.” In Britannica Academic Encyclopædia, 12 Apr. 2017, [Online]. Available: academic-eb-com.citytech.ezproxy.cuny.edu/levels/collegiate/article/data-structure/472173

[4]     B. Baka, Python data structures and algorithms: Improve the performance and speed of your applications. Birmingham, UK: Packt Publishing Limited, 2017. [Online]. Available: ProQuest Ebook Central.

[5]    R. M. Gilinsky, “TEACHERS LEARNING COMPUTER METHODS,” The New York Times, Jun. 3, 1984. [Online]. Available: https://www.nytimes.com/1984/06/03/nyregion/teachers-learning-computer-methods.html?searchResultPosition=5

Subject:           500-Word Summary of Article About Object-oriented Programming (OOP)

To: Prof. Ellis
From: Hamzat Olowu
Date: Oct. 6, 2021
Subject: 500-Word Summary of Article About Object-oriented Programming (OOP)

The following is a 500-word summary of a peer-reviewed article about object-oriented programming (OOP) and its role in computing. The authors discussed the traditional procedural approach and how OOP made it obsolete. According to Hinsch et al., “Applications today do not offer the consistency and flexibility needed to make the computing environment more productive for end-users.” [1, p. 1]

The complexity of programming projects led to the popularity of the Object-oriented programming (OOP) approach, this is because the approach breaks down a complex problem into smaller and simpler chunks of problems that are isolated and then solved. This approach to problem solving led to OOP being much easier to read and understand. OOP was such a unique and refreshing concept that it quickly rose to fame after it was devised, the invention of C++ and Object Pascal made the concept break into the technical community and more articles have been written that surrounds the OOP approach.

Applications without OOP concepts are not as consistent and as flexible as the ones made with OOP concept, this is making programming more difficult because technologies keep expanding and the traditional approach to problem solving and programming can’t keep up. There are many benefits that OOP has to offer, not only for programmers but for the users as well, these benefits include manipulating objects easily on a desktop, system-level services that does not need the user’s knowledge to run, and control of apps with scripts. For developers, using OOP will allow them to improve productivity and development of applications that needs a graphical interface will become easier.

There are three different groups that will be affected in different ways by the advent of object-oriented programming. The first is the power user, although a power user will not recognize the programming concepts, they will still realize that problems are easier to solve, and their jobs is easier. The second is the general business programmer, who will have a better time when developing graphical based application and database applications, because they will be developing these applications with ease unlike before. Systems-level developer are the ones that fully understands the full capabilities of OOP, using the OOP and its tool they will create the most innovative and complex applications, through which they will contribute the most to the expansion of the computing industry.

Before OOP approach was the traditional procedural approach which are too linear in nature to be used when there is interaction with the user or other programs. Traditional programming can get repetitive when trying to accomplish the same task but on different objects like delete character, delete word, and delete paragraph. This was one of the disadvantages the OOP solved. The primary approach to OOP is to enclose data into what is known as classes, which are a group of objects sharing the same methods and information. Classes can have subclasses that inherits data and methods from the parent classes, this concept is called Inheritance. This makes it possible to reuse software codes which simplifies integration of other applications which also increases productivity while decreasing programming time.

Reference: [1]       Hinsch, Kathryn, et al, (1990). “Object-oriented programming: its role in computing,” Library Software Review, vol. 9, no. 1, pp. 18+, Jan.-Feb. 1990. Gale Academic OneFile.