Section 2: Problem Solving and Theory of Computation Flashcards
Chapter 7:
What are the 5 Stages in Software Development?
Analysis, Design, Implementation, Testing, Evaluation.
Chapter 7:
What is the Analysis stage of Software Development about?
Establish the requirements and goals of the project.
Create a Data Model.
End users and alternative solutions are considered.
Conduct research on similar products, audience, and methods.
Chapter 7:
What is the Design stage of Software Development about?
Data Structures specified.
Algorithms, Interfaces, Visuals are designed.
Chapter 7:
What is the Implementation stage of Software Development about?
This is where the Program is written.
Chapter 7:
What is the Testing stage of Software Development about?
The system must be tested for errors.
Chapter 7:
What is the Evaluation stage of Software Development about?
The system is evaluated according to given criteria.
Chapter 7:
What does Exhaustive Search mean?
Every possible combination is tried and tested.
Chapter 7:
What does Divide-and-Conquer mean?
When you are searching through an ordered list, you can go to the midpoint and compare the value to the target and consider the sublist left or right of the middle value accordingly.
Chapter 8:
What is the aim of Structured Programming?
To improve the Clarity and Maintainability of Programs.
Chapter 8:
In Block-Structured Languages, what is a Block?
A section of code consisting of one or more statements.
A block may be a subroutine (function or procedure) where the block can be called by an identifier.
Chapter 8:
What is a Top-down design?
Where you break the task into large chunks, then break the chunks into smaller chunks.
Chapter 8:
What is another name for Structured Programming?
Modular Programming.
Chapter 8:
What are the advantages of Structured Programming?
Individual modules can be tested separately.
Modules can be kept in a module library and reused in other programs.
Large programs can be split into modules that are easier to read, debug, and maintain.
Several Programmers in a team can work on separate modules, thus shortening development time for a large project.
Chapter 8:
What is a Hierarchy Chart?
A tool for representing the structure of a program.
It shows modules and how they connect to each other.
Chapter 8:
What are the limitations of a Hierarchy Chart?
The detail is limited, as the module names and their direct interactions are all that’s shown.
Chapter 9:
What is an Algorithm?
A set of steps used to solve a problem.