Imperative Abstract Data Types as the Foundation of Object-Oriented Programming, High school final essays of Computer science

The relationship between imperative Abstract Data Types (ADTs) and object-oriented programming (OOP). It argues that ADTs, which are a type of data representation customizable with packaging and hiding information, form the basis for OOP's data abstraction concept. The document also explains the trade-offs involved in specifying an ADT and the benefits of using implementation-independent data structures.

Typology: High school final essays

2020/2021

Uploaded on 01/08/2022

jackie-ming
jackie-ming 🇬🇧

8 documents

1 / 7

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Discuss the view that imperative ADTs are a basis for object orientation and,
with justification, state whether you agree.
Almost people known that Object-orientation programming supported the concepts of objects,
which may contain data, within the form fields (attributes), and code, within the sort of
procedures. But the truth once we check out the event process of the event process is that we will
see the emergence of programming structures, firstly applied mathematics, to structural
programming, abstraction. turn data into object-oriented programming. We see the looks of fear
of knowledge abstraction appearing before the other programming. As everyone knows,
structured programming features a lot of weaknesses, therefore the birth of object-oriented
programming is to beat those weaknesses and at an equivalent time incorporate the character of
knowledge abstraction. Data into it, create an entire programming structure. Object-oriented
programming is made on the idea of structured programming and data abstraction. the elemental
change is that an object-oriented program is meant around data that we will work on, instead of
following the function of the program itself. this is often completely natural once we understand
that the goal of the program is to process data. After all, the work that computers perform is
usually called processing. Data and manipulation are linked at a basic level (also called a coffee
level), each of which needs a selected goal, object-oriented programs to explicitly relationship.
this. Object-oriented programming links the info structure to operations, during a way that each
one often believes the planet around them. we frequently associate certain activities with a
particular sort of activity and put our assumptions on relationships.
Data abstraction acts on data also as functional abstraction. When data abstraction, data
structures, and elements are often used without bothering with specific details. for instance,
floating point numbers are abstracted altogether programming languages. we do not got to care
about which exact binary representation for the amount of floating points when assigning a
worth, nor need know the abnormality of binary multiplication when multiplying floating point
values. it's important that floating point numbers work properly and understand. generally, an
This study source was downloaded by 100000767910346 from CourseHero.com on 12-14-2021 02:27:33 GMT -06:00
https://www.coursehero.com/file/99388347/D2-M5D4docx/
pf3
pf4
pf5

Partial preview of the text

Download Imperative Abstract Data Types as the Foundation of Object-Oriented Programming and more High school final essays Computer science in PDF only on Docsity!

Discuss the view that imperative ADTs are a basis for object orientation and,

with justification, state whether you agree.

Almost people known that Object-orientation programming supported the concepts of “objects”, which may contain data, within the form fields (attributes), and code, within the sort of procedures. But the truth once we check out the event process of the event process is that we will see the emergence of programming structures, firstly applied mathematics, to structural programming, abstraction. turn data into object-oriented programming. We see the looks of fear of knowledge abstraction appearing before the other programming. As everyone knows, structured programming features a lot of weaknesses, therefore the birth of object-oriented programming is to beat those weaknesses and at an equivalent time incorporate the character of knowledge abstraction. Data into it, create an entire programming structure. Object-oriented programming is made on the idea of structured programming and data abstraction. the elemental change is that an object-oriented program is meant around data that we will work on, instead of following the function of the program itself. this is often completely natural once we understand that the goal of the program is to process data. After all, the work that computers perform is usually called processing. Data and manipulation are linked at a basic level (also called a coffee level), each of which needs a selected goal, object-oriented programs to explicitly relationship. this. Object-oriented programming links the info structure to operations, during a way that each one often believes the planet around them. we frequently associate certain activities with a particular sort of activity and put our assumptions on relationships. Data abstraction acts on data also as functional abstraction. When data abstraction, data structures, and elements are often used without bothering with specific details. for instance, floating point numbers are abstracted altogether programming languages. we do not got to care about which exact binary representation for the amount of floating points when assigning a worth, nor need know the abnormality of binary multiplication when multiplying floating point values. it's important that floating point numbers work properly and understand. generally, an This study source was downloaded by 100000767910346 from CourseHero.com on 12-14-2021 02:27:33 GMT -06:

ADT may be a sort of data which will be represented during a computer, basically defined thereon type, and may be customized with packaging and hiding information using public keywords, protected and personal in school declarations. for instance, a stack is often treated as an object when processed as an array or linked with push () or pop () customizations and conceal information. From that time on, object-oriented programming achieves abstraction of knowledge using procedural abstraction, while abstract data types depend upon type abstraction. Additionally, objects are focused on functions that make data abstraction, while ADT is organized around operations. Object-oriented programming has the subsequent characteristics:

1. Abstraction: this is often the power of the program to ignore or ignore certain aspects of data that it's performing on directly, which suggests it's the power to specialize in the core elements. Each object can complete internal tasks, report, turn and communicate with other objects without knowing how the thing performs the operation. Abstraction is additionally expressed by the very fact that an initial object may have some common characteristics, like its extension but the first object might not be the tactic to execute. 2. Encapsulation: This property doesn't allow users to vary the state of the thing. Only the object's internal methods allow it to vary its state. Allow the external environment to affect the interior data of an object in any way completely hooked in to the encoder. this is often the reassurance of the integrity of the thing. 3. Polymorphism: Expressed by sending messages. Send a comparable message to the function of an object. the tactic wants to reply to the message will depend upon the thing to which the message is shipped will respond differently. Programmers can define an attribute for a series of objects approximate, but when executed, they use an equivalent name, automatically execute each object consistent with the characteristics of every object without being mistaken. mixed. This study source was downloaded by 100000767910346 from CourseHero.com on 12-14-2021 02:27:33 GMT -06:

The most common condition is an algorithm that uses lookup tables. This means that the answer to some questions for every possible value can be written down. One way to solve this problem is to write down the entire lookup table, which will allow you to find the answer very quickly, but will use a lot of space. Another way is to calculate the answers without writing down anything, using very little space, but it can take a long time. A data structure strives to provide many useful, efficient operations. But there are unavoidable trade-offs:

  1. Time vs. space
  2. One operation more efficient if another less efficient
  3. Generality vs. simplicity vs. performance Space-time or time-memory trade-off: (Anon, 2021) A space-time trade-off can be used with data storage issues. If the data is stored uncompressed, it will take more space but take less time than when the stored data is compressed (because data compression will reduce the capacity it needs, but it takes time to run compression algorithm). Larger code size can be used to increase program speed when using loop decompression. This technique makes the program code longer for each iteration of a loop, but saves the computation time needed to return to the beginning of the loop at the end of each iteration. A space-time trade-off can be used with data storage issues. If the data is stored uncompressed, it will take more space but less time than when the stored data is compressed (because data compression will reduce the capacity it needs, but it takes time to run compression algorithm). Larger code size can be used to increase program speed when using loop decompression. This technique makes the program code longer for each iteration of a loop, but saves the computation time needed to return to the beginning of the loop at the end of each iteration For example, The utility of a given space-time tradeoff is affected by related fixed and variable costs (of, e.g., CPU speed, storage space), and is subject to diminishing returns. The one-pass (or streaming) model. This study source was downloaded by 100000767910346 from CourseHero.com on 12-14-2021 02:27:33 GMT -06:

In this setting, the elements of the input can only be scanned once in a sequential fashion. Allow input to be scanned any number of times and even allowing random access to the input values. Research for this model focuses on either computability (i.e., determining whether or not a particular problem is solvable with a workspace of fixed size) or the design of efficient algorithms whose running time is not much worse (when compared to the case in which no space constraints exist). (Anon, 2021) In conclusion a space-time or time-memory trade-off in computer science is a case where an algorithm or program trades increased space usage with decreased time. Here, space refers to the data storage consumed in performing a given task (RAM, HDD, etc.), and time refers to the time consumed in performing a given task (computation time or response time). If data is stored uncompressed, it takes more space but less time than if the data were stored compressed. Larger code size can be used to increase program speed when using loop unwinding. This technique makes the program code longer for each iteration of a loop but saves the computation time needed for jumping back to the beginning of the loop at the end of each iteration.

Evaluate three benefits of using implementation independent data structures.

Data Structure is storing or organizing of data in efficient ways in computer system. The data structure also known as abstract data types. Nowadays as millions of data is generated on daily basis companies needs an efficient and best way of organizing and storing of data which can done with concept of Data Structure. There are two categories of data structure: Dependent Data Structure : This type of data structure is dependent on programming language that is used to build application or software. There are two dependent data structure Array and Linked List. Independent Data Structure : This type of data structure is independent to any programming language that is used to build application or software. There are many independent data structures like Stack, Queue, Graph, Hash, Tree, Dictionary list and many other data structure types This study source was downloaded by 100000767910346 from CourseHero.com on 12-14-2021 02:27:33 GMT -06:

2- These data structure provides the modularity and these data structure implementation can be separated from the other program and other program call them as per the need and these data structure can be implemented in most effective way. 3- Interchangeability of the implementation of these data structure is another benefit. In this some implementation of the data structure might suite for one software and might for another software another alternative implementation needed. So these implementation can be changed based on the program or software need. Implementation of any algorithm or the data structure is very important in terms of the program performance in terms of the time complexity and space complexity so one data structure might need the separate implementation based on the availability of the memory or the processing power. So, when memory optimization is more important than may be time complexity can be high but space complexity needs to be within the control and vice-versa. So, these implementation independent data structure give the free hand to the developer use their own wisdom and implement it. This study source was downloaded by 100000767910346 from CourseHero.com on 12-14-2021 02:27:33 GMT -06: Powered by TCPDF (www.tcpdf.org) https://www.coursehero.com/file/99388347/D2-M5D4docx/