Section 2 Chapter 7 - Solving Logic Problems Flashcards
The 5 stages of software development
1 - Analysis 2 - Design 3 - Implementation 4 - Testing 5 - Evaluation
Analysis (Stage of software development)
The requirements and goals of the project must be established and a data model created. The needs of the end user are considered and alternative solutions may be suggested.
Design (Stage of software development)
Data structures will be specified. Algorithms, user interfaces, screen designs and reports will be designed.
Implementation (Stage of software development)
The program code is written
Testing (Stage of software development)
The whole system must be tested for the presence of errors, using selected test data covering normal, boundary and erroneous data
Evaluation (Stage of software development)
The system is evaluated according to given criteria
The 2 types of algorithmic puzzle
Specific and general
A specific algorithmic puzzle
Defines an actual instance with a known input e.g “Bob”
A general algorithmic puzzle
Defines an instance with an unknown or general input e.g (n rows and n columns)
Exhaustive Search
Also known as brute force search. Checks every possible input.
Divide-and-conquer search
Eliminate large amounts of search space where you know the target cannot lie. Most notable divide and conquer algorithm is binary search