Machine language: the language made up of binary coded instructions that are used directly by
Virtual Computer: A hypothetical machine designed to illustrate important features of a real
Pep/8: A virtual machine designed by Stanley Warford
1. Program counter: which contains the address of the next instruction
2. Instruction register: contains a copy of the instruction being executed
3. The accumulator: register that holds data and results in operations
Number of available bits determines the size of he numbers we work with
Unary instructions: don’t have an operand specifier, and are only 1 byte long rather than
Hand Simulation: Steps of fetch-execute cycle
1. Fetch the next instruction
2. Decode the instruction
3. Get data
4. Execute the instruction
Loader: Piece of software that takes a machine language program and places it into memory
Assembly Language: mnemonic codes (in place of binary) represents each of the machine
language instructions for a particular computer.
Assembler: A program that translates an assembly language program in machine code
Assembler directives: instructions to the translating program
Comment: Explanatory text for the human reader
Program in Assembly Languages Input Assembler Output Program in Machine Code
Pseudocode: A language designed to express algorithms
Algorithm: A plan or outline of a solution
Boolean Expression: An expression that when evaluated is either true or false
Test plan: A document that specifies how a program is to be tested
Code Coverage testing: Testing a program based on covering all the statements in the code
Data coverage testing: Testing a program based on the possible input values, treating the code
as a black box Test plan Implementation: Using the test cases specified in a test plan to verify that a program
outputs the predicted results.
1. Analysis and specification phase: know what problem needs to be solved
2. Algorithm Development: Make steps to solve the problem and follow them
3. Implementation: Translate the general solution into a programming language and have
the computer follow the instructions
4. Maintenance: Use the program and modify it to meet requirements
Count controlled loop: loop that repeats a process a specified number of times.
Nested structure: One control structure is embedded within another.
Abstract Step: An algorithmic step for which some details remain unspecified
Concrete step: A step for which the details are fully specified
Array: Collection of homogeneous items in which individual items are accessed by their place
within the collection. The place within the collection is called an index.
Records: Named a heterogeneous group of items in which individual items are accessed by
Heterogeneous: the elements in the collection are not the same.
Binary Search: looking for an item in an already sorted list by eliminating large portions of the
data on each comparison
Bubble Sort: Is a selection sort that uses a different scheme for finding the minimum value by
swapping the pairs of elements whenever the bottom element of the pair is smaller than the one
above. This way the smallest element “bubbles up” to the top of the array.
Recursion: the ability of an algorithm to call itself (repetition)
1. Base case: expresses the solution
2. General Case: solves an even smaller version of the original problem
Give a section of code a name then use it as a statement in another part.
When the name is encountered, the processing in the other part halts while the named
It finishes the processing resumes with the statement just below where the name
occurred Calling Unit: the place where the name of the code appears
Quick sort: Splits larger lists into smaller lists because it is faster and ea