CSCI 230 Quiz 1 Study
asymptotic analysis
Method for evaluating the efficiency of an algorithm or computer program
Why is a software development process implemented?
to improve quality, cost or schedule performances, or all of these things
In polymorphism, types are determined at ______ Compile Time Run Time Both Neither
both
Data Structure often refers to
data sorted in a computer's main memory
What are practitioners of Agile methods like?
diverse and fractious groups, but have drafted a single statement that nearly all agile process models embrace
What are two popular implementations for larger disk-based database application?
hashing and the B-tree
Procedural programming is a list or set of ....
instructions telling a computer what to do step by step and how to perform from the first code to the second code
A solution is said to be efficient if
it solves the problem within the required resource constraints
The RUP defines a project as a series of ________.
iterations
What is the definition of the data type in terms of an ADT?
its logical form
What is the implementation of the data type as a data structure?
its physical form
In object-oriented programing, computer programs are designed by ...
making them out of objects that interact with one another
Where were the first software development processes adapted from?
manufacturing and engineering processes
Each operation associated with the ADT is implemented by:
member function or method
What is a key advantage of object-oriented languages over procedural languages?
objects act as metaphors for the real-world-in other words, objects model the real world
Run-time polymorphism
objects of a derived class may be treated as objects of a base class in places such as method parameters and collections or arrays
Object orientation is an ______ of procedural programming.
outgrowth
What is the distinction between procedural programming and object-oriented?
procedural uses procedures to operate on data structures. Object-oriented bundles the two together
An objects procedures must...
provide access to and modify its fields
A type is:
A collection of values
What is the statement nearly all agile process models embrace?
Agile Manifesto
Data Item
a piece of information or a record whose value is drawn from a type
What were the goals of the SDLC?
"to pursue the development of information systems in a very deliberate, structured, and methodical way, requiring each stage of the life cycle from inception of the idea to delivery of the final system, to be carried out rigidly and sequentially"
An ADT is a form of:
Abstraction
When selecting a Data Structure to solve a problem, you should
1. Analyze your problem to determine the basic operations that must be supported. Examples of basic operations include inserting a data item into the data structure, deleting a data item from the data structure, and finding a specified data item. 2. Quantify the resource constraints for each operation. 3. Select the data structure that best meets these requirements
What are the 6 engineering disciplines?
1. Business modelling 2. Requirements 3. Analysis and design 4. Implementation 5. Test 6. Deployment
What are the 3 supporting disciplines?
1. Configuration and change management 2. Project management 3. Enviornment
What are the main building blocks of the Rational Unified Process?
1. Roles (who) 2. Work Products (what) 3. Tasks (how)
Why was Plan Driven created?
1. Software projects routinely went over budget or failed to deliver anything. 2. Major defects and failures become more common. 3. Software maintenance costs began increasing
When did Plan Driven emerge?
1960s
A data item is:
A member of a type
What is an iteration?
A period of time in which a project tasks are performed
What is an Aggregate Type (Composite Type)?
A type that can be broken down into several pieces of information
What is a Simple Type?
A type that contains no sub parts and can't be broken down
What is a Data Type?
A type together with a collection of operations to manipulate the type
Range Query
A way for users to be able to find all places that match a particular value for attributes such as location or population size
The term "composite type" is a synonym of _____
Aggregate Type
What are the places the software development processes are limped into?
Agile and Plan Driven
Common misunderstandings directed at agile processes include:
Agile is synonymous with Hacking It's a 'silver bullet' Do whatever you want Incompatible with traditional processes universally Applicable
A tool for measuring the efficiency of an algorithm or problem is:
Algorithm Analysis
What is a data structure to an ADT in object oriented languages?
An implementation
What is an object?
An instance of a class
Example of a Simple Data Structure
An integer or floating number stored on the computer
Which of the following statements is correct?
An object is an instance of a class.
Common misunderstandings directed at Plan-driven process include:
Can't respond to change Products cost more Only for large organizations Old-Fashioned Universally Applicable
Inheritance
Classes may be created in hierarchies, and this lets the structure and methods in one class pass down the class hierarchy. By inheriting code, complex behaviors emerge through the reuse of code in a parent class. If a step is added at the bottom of a hierarchy, only the processing and data associated with that unique step must be added, Everything else above that step may be inherited. Reuse is considered a major advantage of object orientation.
What is the Rational Unified Process?
Created in 1996 by the Rational Software Corporation, it isn't a single concrete prescriptive process, but rather an adaptable process framework, intended to be tailored by the development organizations and software project teams that will select the elements of the process that are appropriate for their needs
Which of the following is NOT an OOP principle?
Exception
"Data type" and "data structure" are synonyms. True False
False
It is correct to say that interfaces are abstract data types. True False
False
Which is NOT a topic that OpenDSA focuses on?
How to design and maintain large programs
Metaphor
Humans deal with complexity by assigning a label to an assembly of objects or concepts and then manipulating the label in place of the assembly
What is the Waterfall method?
Initially described in 1970, it was another early software development process adapted from manufacturing and construction processes.
What is the Sparse Matrix?
It refers to a large, 2D array that stores only a relatively few non-zero values. It is often implemented with a linked structure, or possibly using a has table
Which of these is NOT a definition for efficiency in a computer program?
It runs in linear time
An array-based list is an implementation of a(n) ______
List
What forms do Data Types have?
Logical and Physical
Which of the following is NOT an example of a data type? Array List Integer Boolean None of the Above
None of the above
Polymorphism
Object oriented programming lets programmers create procedures for objects whose exact type is not known until run time. For example, a screen cursor may change its shape from an arrow to a line depending on the program mode. The routine to move the cursor on screen in response to mouse movement can be written for "cursor", and polymorphism lets the right version for the given shape be called
Object-oriented programming is a programming paradigm based around _______
Objects
Compile-time polymorphism is known as ______
Overloading
All software development processes are essentially variations on the:
Plan-DO-Check-Act
What are data members?
Variables that define the space required by a data item
Phases of the Waterfall model
Requirements Design Implementation Verification Maintenance
Which of these is NOT one of the three standard steps to follow when selecting a data structure to solve a problem?
Run simulations to quantify the expected running time of the program
Which class type inherits from one or more base classes?
Subclass
A data structure is:
The implementation for an ADT
Where did Agile methods come from?
They grew out of frustration with the rigidity of the p[lan-driven process commonly used in the 90s just as tech boom was heating up.
Abstraction
This denotes the essential characteristics of an object that distinguish it from all other kinds of objects and thus provide crispy defined conceptual boundaries, relative to the perspective of the viewer. This denotes a model, a view, or some other focused representation for an actual item. It's the development of a software object to represent an object we can find in the real world.
In OOP, a class can be inherited. True False
True
Hash Table
Way to search for a record faster than an unsorted array
What does the Agile Manifesto say?
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.
As computers have become more powerful:
We have used that additional computing power to tackle more complex problems
A data structure requires...
a certain amount of space for each data item it stores, a certain amount of time to perform a single basic operation, and a certain amount of programming effort
What do we apply the label "hard drive" to?
a collection of hardware that manipulates data on a particular type of storage device
Procedural programming is.....
a programming paradigm from structured programming, based upon the concept of the procedure call
Data Structure
any data representation and its associated operations.
Encapsulation
refers to the creation of self-contained modules (classes) that bind processing functions to its data members. The data within each class is kept private. Each class defines rules for what is publicly visible and what modifications are allowed.
A solution is said to be efficient if it
requires fewer resources than known alternatives regardless of whether it meets any particular requirements
What resource constraints typically drive the data structure selection?
search, inserting data records, and deleting data records
It is crucial to keep truism in mind when
selecting a data structure to solve a particular problem
compile-time polymorphism
simply method overloading. Overloaded methods have the same method name but different number of arguments or different types of arguments or both.
People write programs to
solve problems
Cost of a Solution
the amount of resources that the solution consumes. It is most often measured in terms of one key resources such as time
What is a software development process?
the division of a software progject into distinct stages or phases of work
What do we apply the label "CPU" to?
the hardware that controls execution of computer instructions
File Structure often refers to
the organization of data on peripheral storage, such as a disk drive or CD
What is an Abstract Data Type (ADT)?
the specification of a data type within some language, its implementation combined with it makes up a class
What is the focus of procedural programming?
to break down a programming task into a collection of variables, data structures, and subroutines
What is the focus of object-oriented programming?
to break down a programming task into objects that expose behavior (methods) and data (fields) using interfaces
Examples of resource constraints
total space available to store the data and the time allowed to perform each subtask