1/240
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Agile software development
An approach to software development that emphasizes a flexible and ready response to meet a shifting target.
Benchmarking
Running a program on many data sets to be sure its performance falls within required limits
timing the same algorithm on two different machines.
Code library
A collection of thoroughly tested object code for various useful tasks.
Coding
The process of translating the detailed designs into computer code.
Divide-and-conquer
A program design strategy in which tasks are broken down into subtasks
Empirical testing
Designing a special set of test cases and running the program using these test data.
Executable module
The resulting object code after a linker inserts requested code from code libraries.
External documentation
Any materials assembled to clarify the program's design and implementation.
Feasibility study
A step in the software development life cycle that evaluates a proposed project and compares the costs and benefits of various solutions.
Integrated development environment (IDE)
A collection of programs that support software development
Integration testing
After unit testing
Internal documentation
Documentation that is part of the program code itself.
Logic error
An error in the algorithm used to solve a problem.
Object code
Machine language instructions.
Pair programming
Involves two programmers at a single workstation. At any given point in time
Problem specification
A step in the software development life cycle that involves
developing a clear
Procedural language
A program written in a procedural language consists of sequences of statements that manipulate data items.
Program design phase
A step in the software development life cycle that plans the structure of the software to be written.
Program maintenance
The process of adapting an existing software product due to errors
Program verification
Used to prove that if the input data to a program satisfies certain conditions
Regression testing
If anything is changed on an already-tested module
Runtime error
An error that occurs when the program is run using certain sets of data that result in some illegal operation
Semantics
The meaning of correctly written programming statements.
Source code
High-level language instructions.
Syntax error
An error that occurs because a program statement fails to follow the correct
rules of syntax.
Technical documentation
Documentation that enables programmers who later have to modify the program to understand the code.
Third-generation language
Another name for high-level programming language as
opposed to machine language (first generation) or assembly language (second generation).
Top-down decomposition
A program design strategy in which tasks are broken down into subtasks
Syntax
The rules for exactly how programming statements must be written
the grammatical structure of a programming language
Application
(Java) A complete standalone program that resides and runs on a self-contained computer.
External library
A well-written
Functional programming languages
Views every task in terms of functions. In this context
Knowledge base
Facts and rules about a certain domain of interest.
Open source
Software whose source code is freely available and may be used
Recursive
Something that is defined in terms of "smaller versions" of itself.
Computational model
A model constructed using algorithmic procedures implemented as computer programs.
Computational steering
A procedure for using a computational model to improve the design of an actual system by continually resetting model parameters to improve system performance.
Computer graphics
The field of computer science that examines the technical problems of displaying visual images on a computer screen.
Continuous model
A model of a system using mathematical equations that describe system performance as a continuous function of time t.
Discrete event simulation
A computational modeling technique that simulates the behavior of a system only at discrete points in time.
Garbage in
garbage out
Scientific visualization
The use of images and visualization techniques to make scientific data easier to interpret and understand.
Simulation model
Another term for a computational model.
Statistical distribution
This is a mathematical function that describes the probability of a random quantity taking on certain values.
Stochastic components
Parts of a model that display random behavior.
Uniform random number
Every value in the range from a to b has the same chance of occurring.
Analogy
Arguing about a problem by comparing it to a related problem
Consequentialism
A school of thought in ethics that focuses on the consequences of an act to determine if the act is good or bad.
Cyberbullying
Humiliating
Ethics
The study of how to decide if something is morally right or wrong.
Hacktivism
Hacking that is intended as political activism.
Peer-to-peer file sharing
The sharing of files between two equal participants on a network. This is distinct from the client-server model in which the two sides serve very different roles--one side only sending information (the server) and the other side only receiving information (the client).
Computer science
The study of algorithms
Computing agent
The entity (machine
High-level programming language
A programming language that uses both natural language constructs and mathematical notation.
Infinite loop
The repetitive execution of a block of operations that will never end. This is a fatal error when it occurs in an algorithm.
Sequential operation
An algorithmic operation that carries out a single task and then moves on to the next operation in sequence.
Algorithm discovery
The process of finding an algorithmic solution to a given problem. Computation: An algorithmic operation that carries out a single numeric computation and stores the result.
Computation
An algorithmic operation that carries out a single numeric computation and stores the result.
Conditional statements
Operations that ask a question and select the next instruction to carry out based on the answer to that question.
Continuation condition
The true/false condition that will determine when the iteration has been completed.
Control operations
Operations that alter the normal sequential flow of control within an algorithm.
Input
An operation that causes data values from the outside world to be brought into the algorithm.
Iteration
The repetitive execution of a block of operations.
Output
An operation that causes computed values to be sent to the outside world for viewing or saving.
Primitive operation
An operation that can be directly understood by the computing agent executing the algorithm and which does not have to be further clarified or explained.
Pseudocode
A notation used to design algorithms. It uses English constructs
Sorting
The task of putting a list of values into numeric or alphabetical order.
Boolean expression
An expression that can evaluate only to true or false.
Gigabyte
One billion bytes.
Program
an algorithm that is written in a programming language that runs on a computer
Control Structures
a block of programming that determines which part of the program is executed next. There are three types of structures: sequence
Computational Artifact
an object created by a human being that involves the use of computation in some way
Event Driven Programming
a programming approach whereby the program's behavior is controlled by writing code that responds to various events that occur
Hardware
the large and small physical components that make up a computers such as the computer's keyboard or its processor.
Software
the computer programs that make up a computer system such as the mobile apps we will be creating in this course.
Abstraction
one of the seven big ideas of the CS Principles curriculum. An abstraction is a simplified and general representation of some complex object or process. One example --we'll encounter many in this course
Binary Number
a number written in the binary system
Blacklist
in internet terminology
Character
any symbol that requires one byte of storage
Cyberspace
a metaphor for describing the non-physical terrain created by computer systems
Data
data is distinct information that is formatted in a special way. Data exists in a variety of forms
Data Center
are physical or virtual infrastructures used by enterprises to house computer
Data Network
a telecommunications network which allows computers to exchange data
Disk Drive
a randomly addressable and rewritable storage device
Intellectual Property
refers to any property that is created using original thought. Traditional intellectual property include patents
Network
a group of two or more computer systems linked together
Processor
short for microprocessor or CPU
Social Networking
a social structure made of nodes that are generally individuals or organizations. A social network represents relationships and flows between people
Whitelist
a generic name for a list of email address or IP addresses that are considered to be spam free
Analog
a device or system that represents changing values as continuously variable physical quantities
ASCII
a code for representing English characters as numbers
Cloud Computing
comparable to grid computing
Cryptography
the art of protecting information by transforming it into an unreadable format
Digital
any system based on discontinuous data or events. Computers are digital machines because at the basic level they can distinguish between just two values
Digital Signal Processing
(DSP) refers to manipulating analog information
Download
to copy data (usually an entire file) from a main source to a peripheral device
Megabyte
used to describe data storage