Computer Science 223 Discussion Questions

Alhir, Pages 39-56

Discussion questions submitted for pages 39-56 of Alhir:

Problem-solving Paradigms

  1. Should different paradigms be used depending on the language, or can a functional paradigm apply to a object oriented language?
  2. When is the function-driven paradigm or the data-driven paradigm more useful than the object oriented paradigm? -Jim Finnessy
  3. I remember discussing 4 programming language paradigms, of which 2 (object-oriented and functional) seem to map well into the 3 problem solving paradigms the text discusses. How would the other two map into this?
  4. If the object-oriented paradigm empowers organizations to gain an advantage, what reasons are there to use the other two paradigms? Patrick Dowd
  5. In class we discussed that object oriented focused on data rather than functions, so how does object-oriented differ from data-oriented? -Jim Finnessy
  6. The object-oriented paradigm seems to have comparative advantage over both the function-driven and object-oriented paradigms. In what particular cases would it be beneficial to use either the function-driven or the object-oriented paradigms? ~yasir.
  7. What is an example of a programming language that uses the data driven paradigm. (Sam Vanderhyden)
  8. What are the disadvantages, if any, of taking the object-oriented approach in a software development project? ~yasir.
  9. if you mix procedural concepts with OO paradigms, is that like matter and anti-matter, or do they work well together?
  10. I understand both function-orientation and object-orientation, but I can't quite call to mind a good example of data-driven programming. What exactly might this look like?
  11. Which of the three paradigms described on pages 44-48 would derive the best solution for the scheduling problem? Elias Vafiadis
  12. Is the author's view biased? It seems that he favors object-oriented paradigm so much and he says "communications among stakeholders are more natural", but I think that func.-driven and data-driven paradigm can be interpreted as having "natural" communication system among stakeholders. What does he mean by "natural"? --Hisako
  13. In class it was suggested that data-orientation and function-orientation used to serve the needs of programmers very well. The reading suggests that an object-oriented paradigm is most convenient for businesses (and by extension it is probably good for an educational environment, since we share many of the same conditions such as time constraints and many coders), but are there situations under which other paradigms are still more effective? For example, if there were very few or only one programmer, might a language that allows precise micro-management (such as C) be more efficient? (Nick)

Elements of Problem Solving

  1. What are the behavioral characteristics and how they differ from the structural ones? Dessislava Dimova
  2. There are an abundance of diagrams dealing with behavioral and structural characteristics. What are these showing? Steven Fenigstein
  3. How do you go about determining exactly which attributes are necessary to consider at various levels of abstraction?
  4. If we were confronted with a "real world problem" that is heavily data-intensive, what sacrifices do we make by adopting an object-oriented approach instead of a data-driven paradigm? - George Yeboah
  5. What are some examples of abstraction, encapsulation, and organization in the world? Steven Fenigstein
  6. How are abstraction, encapsulation and organisation encoporated in object orientated design? Are there relations and tradeoffs between them? Taha
  7. Could you give an example each of persistent and transient objects? (Raz Magar)
  8. How can the level of detail focus on the essential characteristics of a subject (page 50) without knowing how it is realized? Patrick Dowd
  9. The abstraction process discussed on page 49 begins with "identifting the subject." This one step is not particularly well explained, and it seems to me that it would be the most important part of the process. What are some good techniques for insuring that the proper subject is chosen from which to abstract. josh
  10. What are examples of intrinsic and extrinsic characteristics? --Khong
  11. What is meant by conceptual entities in the "real world" domain? Examples? (Sam Vanderhyden)
  12. There is an emphasis on business-focused solutions rather than tech-focused solutions. Is oo used in research labs and academic activities often?
  13. What are examples of persistent objects and transient objects? Taha
  14. Explain the difference between associations and aggregation and how they are related to compositions and generalizations? Anthony
  15. What is the difference between transient and persistent objects?

The Object-Oriented Problem-Solving Paradigm

  1. How is "Abstraction" employed in an object-oriented programming language such as Java? George Yeboah
  2. Should objects that belong to the same class have greater interdependence than objects that belong to different classes? Dessislava Dimova
  3. In object orientation does it make sense to have the same object be a member of two different classes? Elias Vafiadis
  4. Can you go over the difference between Input Parameters, Return Parameters, and Output parameters? -Jonathan Kensler
  5. How exactly do different types of identities when comparing two objects differ from each other? i.e. how do pure identity, shallow equality, and deep equality differ from each other? -Jonathan Kensler
  6. How does OOP differ in implementation oriented programming languages, such as C++ and JAVA, from other programming languages? -Peter Likarish
  7. What does it mean to say an operation can be applied to a class rather than the object of the class? Anthony
  8. How do you implement dynamic classes?
  9. If types "are descriptions of objects or a set of objects..." as Alhir states, how can the attributes and operations be class attributes or class operations? -Peter Likarish
  10. How do you implement dynamic classes? And could you explain the difference, if there is any, between 'protected' and 'private'? (Raz Magar)

Miscellaneous Questions

  1. On pp.47, Alhir says that "communications may be hindered by being biased toward realization concepts" as the characteristic of the function-driven and data-driven paradigm. Could you please explain this? --Hisako
  2. One of the stated goals of object oriented design is to focus on "real-world contepts rather than realization constructs." This implies either processing power has gotten so cheap that efficiency is irrelavent, or compilers have become so good that the translation process is as good as if realization constructs were considered in the implementation phase. Whith the move from machine code to say, C, the latter seems to be true. However, with the move to the object oriented programming language, Java, programs take a massive performance hit-- Requiring both more resources and more time to execute equivelent instructions. Is this a fault of the compilers and run time environment, or is this a sign that object oriented design does not translate well to implementations on existing machines. josh vickery
  3. What is meant by intrinsic packaging mechanisms (p. 48)? --Khong
  4. Reusability is obviously a priority...but how compatible are oo works with functional and data-driven works?


This document is available on the World Wide Web as

http://www.walker.cs.grinnell.edu/courses/223.sp02/read-alhir1-3a.html

created February 4, 2002
last revised February 4, 2002
Valid HTML 3.2!
For more information, please contact Henry M. Walker at walker@cs.grinnell.edu.