Shared Flashcard Set

Details

Exam 2
Stuff
81
Computer Science
Undergraduate 1
11/17/2011

Additional Computer Science Flashcards

 


 

Cards

Term
Natural Language
Definition
Human language. To verbose for pseudocode. To rich in interpretationa nd meaning.

Lack of structure.
Term
High-level programming language
Definition
C++, java, python ect. To strict in syntax for pseducode.
Term
Pseudocode
Definition
A set of english language constructs designed to resemble statements in a programming

language but that do not actually run on a computer. Compromise between actual code and natural

language.
Term
The three basic sequential operations
Definition
Computation, input, output
Term
Computation
Definition
Phase which computes answers
Term
Input
Definition
Values obtained from the outside world into cpu / data
Term
Output
Definition
the result from the computing agent, sent to the outside world / info
Term
Variable
Definition
a name storage location that can hold a data value.
Term
Sequential
Definition
Straight line algorithm. Start to finish.
Term
Conditional operations
Definition
"Question-asking" operations of an algorithm.
Term
Iterative operations
Definition
Looping/repetition
Term
Control operations
Definition
Condition and iterative operations. They allow us to alter the normal sequential flow of control in an algorithm.
Term
Loop
Definition
the repetition of a block of instructions.
Term
continuous condition
Definition
the condition evaluated by a loop structure that allows it to decide if it will execute the block of instructions or not. Must eventually set to false by the instructions.
Term
Infinite loop
Definition
If a continuous condition never evalutates to false, the loop will run forever.
Term
Preset loop
Definition
continuous condition is tested before execution
Term
Posttest loop
Definition
Continuous condition is test after the loop, allowing the block of instructions to execute first before conditional testing.
Term
Primitives
Definition
instructions that we assume our computing agent understands and is capable of executing without further explanations or simplifications.
Term
Algorithm discovery
Definition
finding a solution to a givem problem via algorithm.
Term
Sequential Search
Definition
Starting at the beginning and going through a list, one at a time, until the name is found or until the list ends. Used for un-ordered lists.
Term
Index Pointer
Definition
a variable that points to the nth list in a name. Loops can change index pointers to find new variables based on the value of I.
Term
Library
Definition
Collection of useful algorithms that can be used again in the future.
Term
Pattern Matching
Definition
Searching for a special pattern of symbols within a larger collection of information.
Term
Probe
Definition
used in pattern matching to find a certain sequence of symbols.
Term
Abstraction
Definition
the seperation of the high-level view of an enitity or an operation from the low-level details of its implementation.
Term
Top-down design
Definition
Viewing an operation at a high level of abstraction and fleshing out the details of its implementation at a later time.
Term
Algorithm
Definition
A well-ORdered collection of unambiguous and effectively computable operations that, when executed, produces a result and halts in a finite amount of time.
Term
Unambiguous operation
Definition
An operation that can be understood and carried out directly by the computing agent without needing to be further simplified or explained.
Term
UML
Definition
unified modeling language; used in Object-oriented programming development.
Term
The three major control structures
Definition
Sequential, decision, repetition
Term
Problem Analysis
Definition
Output -> input -> process. helps give clues on how to figure out process step.
Term
Relational Expression
Definition
Either zero or one. Non-zero is true, zero is false.
Term
Program Maintenance
Definition
Fixing errors uncovered through repeated use and extends the program to meet new requirements.
Term
Ease of understanding
Definition
Clarity, "ease of handling" - desired charateristic. Makes program maintenance easier.
Term
Elegance
Definition
Algorithmic equivalent of style. More elegance = higher difficulty to understand.
Term
Efficiency
Definition
careful use of resources; memory and time
Term
Benchmark
Definition
Useful for rating one machine against another and for rating how sensitive a particular algorithm is with respect to varions in input on one particular machine.
Term
Analysis of algorithms
Definition
the study of the efficiency of algorithims
Term
Sequential Search
Definition
Starts at the beginning then compares against each element in a list. Used when items are not in order.
Term
Order of Magnitude
Definition
Determines how quickly the values grow as N increases.
Term
Order of Magnitude- Order n
Definition
Anything that varies as a constant times N.
Big-O(n)
Term
Selection Sort
Definition
(On^2 algorithim) Sorts in ascending order. Task of finding the largest number in a list. Calculates the largest so far value and compares to the other numberson the list. If there are n numbers in the list, n-1 comparisons must be done.
Term
Best Case
Definition
In searches, when finding the element on the first comparison/least work
Term
Worst Case
Definition
in searches, when finding the element on the last comparison - or the item isnt in the list at all.
Term
Searching
Definition
Looking through a list for a particular item.
Term
Sorting
Definition
a list of items put into some kind of order.
Term
Order n^2
Definition
big O(n^2) - basic shape of n^2. Will take longer to work the higher N gets.
Term
Program Documentation
Definition
Make clear any assumptions or restrictions about the input size the program was designed to handle.
Term
time/space tradeoff
Definition
trading speed for more memory useage. typical between big-O(n^2) (slow/low space) vs big-O(n) (fast/high space)
Term
Binary Search
Definition
Divides the search area in half after each comparison. - Big-O(lg n)
Term
logarithm of n to the base 2
Definition
number of times a number n can be cut in half and not go below 1. lg n
Term
Polynomially bounded
Definition
the amount of work done increases as N increases./ Work done is no worse than a constant multiple of n^2
Term
Graph
Definition
A collection of nodes and connecting edges.
Term
Hamiltonian circuit
Definition
A path through a graph that begins and ends at the same node and goes through all other nodes exactly once.
Term
Exponential Algorithm
Definition
Big-O(2^n)
Term
Brute Force Algorithm
Definition
An algorithm that beats the problem into submission by trying all possibilities.
Term
Intractable
Definition
solvable, but the solution algorithm all require so much work as to be virtually useless. No polynomially bounded algorithm exists
Term
Approximation Algorithms
Definition
Doesn't solve problems, but gives a close aproximation to solution.
Term
Graph Theory
Definition
Collection of nodes connected by edges. Used in networks, circuit design, coloring maps, routing.
Term
Second-generation language
Definition
Assembly languages. Called second generation to distinguish them from machine languages.
Term
First-Generation languages
Definition
Machine Language.
Term
Low-level Programming
Definition
Close relation to machine language. Assembler.
Term
High-level programming
Definition
C++, java, python ect. More user oriented
Term
Source Program
Definition
English like instructions written by humans.
Term
Object program
Definition
decyphered source program which is translated to machine language.
Term
Assembler
Definition
System software that translates source code into object code
Term
Compiler
Definition
Translator for high level languages.
Term
Comment
Definition
Ignored by the assembler. English language used for making notes about what the program is doing, ect.
Term
Op code mnemonic
Definition
Assembly language allows the programmer to refer to op codes using these symbolic names.
Term
Symbolic Addresses
Definition
English vs number addresses; allowed in assembler vs machine code
Term
Label
Definition
Permament identification for this instruction or data regardless of where it appears.
Term
Program Clarity
Definition
Symbolic lables help programs read more clearly for humans
Term
Maintainability
Definition
No longer need to modify the address field when instructions are added or removed.
Term
Pseudo-op
Definition
Doesn't generate machine language. Instead it invokes a service of the assembler. Generates data...
.data section.
Term
Program Construction
Definition
Pseduo-ops that mark the beginning and end ogtyhere to start and stop translation.
Term
Pass
Definition
the process of examining and processing every assembly language instruction in the program, one instruction at a time.
Term
First pass
Definition
Assembler looks at every instruction, keeping track of the memory address where this instruction will be stored when it is translated and loaded into memory. Symbol table. Bind all symbolic names to address values and to enter those bindings into symbol table.
Term
Binding
Definition
The process of associating a symbolic name with a physical memory address.
Term
Location counter
Definition
Variable used to determine the address of a given instruction or piece of data.
Term
Second pass
Definition
Assembler translates the source code into machine language. When translated, writen to a file called object file or .exe file.
Term
Object program
Definition
translated machine language the Object file contains
Supporting users have an ad free experience!