1/207
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, which are broken down into sub-subtasks, and so on, until each piece is small enough to code comfortably. These pieces work together to accomplish the total job.
Empirical testing
Designing a special set of test cases and running the program using these test data.
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, such as debuggers, editors, toolkits, and libraries, that lets programmers perform several tasks within the shell of a single application.
Internal documentation
Documentation that is part of the program code itself.
Logic error
An error in the algorithm that causes unintended results; results are different than what the programmer had wanted
Object code
Machine language instructions.
Pair programming
Involves two programmers at a single workstation. At any given point in time, one is writing code and the other is actively observing, watching for possible errors
but also thinking about the overall approach.
Problem specification
A step in the software development life cycle that involves
developing a clear, concise, and unambiguous statement of the exact problem the software
is to solve.
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, new system requirements, or changing user needs.
Program verification
Used to prove that if the input data to a program satisfies certain conditions, then, after the program has been run on these data, the output data satisfies certain other conditions.
Runtime error
An error that occurs when the program is run using certain sets of data that result in some illegal operation, such as dividing by zero.
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, which are broken down into sub-subtasks, and so on, until each piece is small enough to code comfortably. These pieces work together to accomplish the total job.
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, efficient, and thoroughly tested code module that is separately compiled and then drawn on by any program that wishes to use its capabilities.
Functional programming languages
Views every task in terms of functions. In this context, function means something like a mathematical function—a recipe for taking an argument (or possibly several arguments) and doing something with them to compute a single value.
Knowledge base
Facts and rules about a certain domain of interest.
Open source
Software whose source code is freely available and may be used, distributed, or modified by anyone.
Recursive
Something that is defined in terms of "smaller versions" of itself.
Computational model
A model constructed using algorithmic procedures implemented as computer programs.
Computer graphics
The field of computer science that examines the technical problems of displaying visual images on a computer screen.
Garbage in, garbage out
The term for the fact that the output coming out of a computer model is only as accurate as the assumption used to build the model.
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.
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, which you claim is very similar in terms of its ethical implications and consequences.
Cyberbullying
Humiliating, taunting, threatening or invading someone's privacy using the Internet, Web, or other type of electronic technology.
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, including their mathematical properties, hardware and linguistic realizations, and their applications.
Computing agent
The entity (machine, robot, person, or thing) that executes the steps of an algorithm.
High-level programming language
A programming language that uses both natural language constructs and mathematical notation. This kind of language is the easiest for humans to read and understand.
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
An algorithmic operation that carries out a single task and then moves on to the next operation in sequence. Also a type of search where you search for an item in a list by starting with the first item and looking at each subsequent item in order.
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.
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. Ex: if statements
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.
Pseudocode
A notation used to design algorithms. It uses English constructs, mathematical notation and an informal algorithmic structure designed to look like a high-level programming language.
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, selection, and repetition.
Computational Artifact
an object created by a human being that involves the use of computation in some way, for example a mobile app or a web page.
Event Driven Programming
a programming approach whereby the program's behavior is controlled by writing code that responds to various events that occur, such as Button clicks.
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, including abstractions used in computer programming -- would be a Google map.
Binary Number
a number written in the binary system, a system that uses only two digits, 0s and 1s.
Blacklist
in internet terminology, a generic term for a list of email addresses or IP addresses that are origination with known spammers
Character
any symbol that requires one byte (8 bits) 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, like text on paper or bytes stored in electronic memory
Data Center
are physical or virtual infrastructures used by enterprises to house computer, server and networking systems and components for the company's IT (information technology) needs
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, copyrights, and trademarks.
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, groups, organizations, animals, computers, or other information/knowledge processing entities
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 ex. sound waves
ASCII
a code for representing English characters as numbers, with each letter assigned a number from 0 to 127
Cloud Computing
comparable to grid computing, cloud computing relies on sharing resources rather than having local servers handle applications.
Cryptography
the art of protecting information by transforming it into an unreadable format, called cipher text
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, 0 and 1.
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, 1,048,576 bytes (abbreviated MB)
Megapixel
one million pixels, used in reference to the resolution of a graphics device
Modeling
process of representing a real-world object of phenomenon as a set of mathematical equations.
Raster
the rectangular area of a display screen actually being used to display images
Render
refers to the process of adding realism to a computer graphics by adding 3-D qualities, such as shadows and variations in color and shade.
Spam
spam is electronic junk mail or junk newsgroup postings
Steganography
the art and science of hiding information by embedding messages within other, seemingly harmless messages
Upload
to transmit data from a computer to a bulletin board service, mainframe, or network.
Bit
Single unit of information on a computer represent as a 0 or 1
Bit Rate
The number of bits that are conveyed or processed per unit of time
Latency
The time it takes for a signal to arrive
Bandwidth
Transmission capacity, measured by bit rate
Fiberoptics
Method of transmitting data that utilizes light