111 terms

Chapter 12 - Computer Programming

A high-level programming language developed by the U.S. Department of Defense and originally intended for military applications. 679
Agile methodology
An approach to software development that produces programs in an incremental way allowing specification to evolve at each iteration. 681
An abstract or general procedure for solving a problem, typically expressed as pseudocode, structured English, or a flowchart. 689
(Application Program[ming] Interface) A set of application programs or operating system functions that can be utilized by a program. 687
The acronym for A Programming Language, a high-level scientific programming language used to manipulate tables of numbers. 679
In the context of Prolog programming, an argument describes a predicate and is enclosed in parentheses in a Prolog fact. 714
Assembly language
A low-level computer programming language that uses simple commands and is translated into machine language by an assembler. 677
In the context of programming, a condition that you accept to be true, which often places limits on the scope of the programming problem. 680
Attack tree
A hierarchical diagram of potential threats to a system used as one tool in creating more secure software. 726
(Beginners All-purpose Symbolic Instruction Code) A simple high-level programming language that was popularized by Microsoft in the 1970s. 679
Buffer overflow
A condition that can be exploited by hackers in which data overflows its intended memory space to affect other variables; also called buffer overrun. 723
A compiled procedural language that provides both high-level commands and low-level access to hardware. 679
A derivative of C++ programming language developed by Microsoft. 679
An object-oriented version of the C programming language. 679
In object-oriented terminology, a group with specific characteristics to which an object belongs. 702
Class attribute
In the context of object-oriented programming, a class attribute defines a characteristic for the members of a class. Similar to a field in a database. 703
Class hierarchy
Like a hierarchical diagram, a class hierarchy is a set of related superclasses and subclasses defined within the object-oriented paradigm. 704
(COmmon Business-Oriented Language) A high-level programming language used for transaction processing on mainframe computers. 679
In the context of computer programming, code can be used as a noun to refer to the set of instructions that form a program, or as a verb that refers to the process of writing a program. 674
Prewritten objects or modules that programmers can customize and add to their own programs. 687
Computer programming
The process of designing, coding, and testing computer programs. 675
In the context of programming, a constant represents an unchanging value. In contrast, the data held in a variable can change. 680
In the context of graphical user interfaces, a control is a screen-based object whose behavior can be specified by a programmer. 683
Control structures
Instructions that specify the sequence in which a program is to be executed: sequence, selection, and repetition controls. 695
(Combined Programming Language) A programming language developed in the 1960s for scientific and commercial applications. 679
A programming utility that helps programmers test and correct a computer program. 685
Decision table
A tabular method for listing rules and specifying the outcomes for various combinations of rules. 714
Declarative paradigm
An approach to the programming process in which a programmer writes a program by specifying a set of statements and rules that define the conditions for solving a problem. 713
Defensive programming
An approach to programming that attempts to identify possible threats and proactively create code to avoid them; also called secure programming. 726
An object-oriented programming language with syntax similar to C. 679
An object-oriented technique in which the internal details of an object are "hidden" in order to simplify their use and reuse. 712
In the context of programming, an action or change in state, such as a mouse click, that requires a response from the computer. 684
Event-driven paradigm
An approach to programming in which a programmer creates programs that continually check for, and respond to, program events, such as mouse clicks. 685
Event-handling code
The program segment that instructs the computer how to react to events, such as mouse clicks. 684
In the context of Prolog programming, a fact is a statement incorporated into a program that provides basic information for solving a problem. 713
Fifth-generation languages
Either declarative languages, such as Prolog, or programming languages that allow programmers to use graphical or visual tools to construct programs. 678
First-generation languages
Machine languages that were available for programming the earliest computers. 677
In software engineering, a graphical representation of the way a computer should progress from one instruction to the next when it performs a task. 692
Form design grid
A visual programming tool that allows programmers to drag and drop controls to form the user interface for a program. 683
Formal methods
Mathematically-based techniques for specifying and developing reliable and robust software or hardware. 725
(FORmula TRANslator) The oldest high-level computer programming language still in use for scientific, mathematical, and engineering programs. 679
Fourth-generation languages
Programming and query languages, such as SQL and RPG, that more closely resemble human languages than did third-generation languages. 678
In spreadsheet software, a built-in formula for making a calculation. In programming, a section of code that manipulates data, but is not included in the main sequential execution path of a program. 696
Functional paradigm
An approach to programming that emphasizes the use of expressions called "functions." 713
In the context of Prolog programming, a query that searches for an answer based on a set of Prolog facts and rules. 715
A functional programming language. (See functional paradigm.) 679
High-level language
A programming language that allows a programmer to write instructions using human-like language. 676
(Integrated Development Environment) A set of programming tools, typically including editor, compiler, and debugger, packaged into an application for creating programs. 686
In object-oriented terminology, a method for defining new classes of objects based on the characteristics of existing classes. 704
A programming term that refers to the process of assigning a value to a variable. 717
In the context of computer programming, a section of code that is repeated; also called a loop. 698
A platform-independent, object-oriented, high-level programming language based on C++, typically used to produce interactive Web applications. 679
(1) A word or term used as the basis for a Web page search. (2) A command word provided by a programming language. 676
Known information
In a problem statement, information supplied to the computer to help it solve a problem. 680
(LISt Processor) A declarative programming language that excels at handling complex data structures, artificial intelligence projects, and very complex programs. 679
Logic error
A run-time error in the logic or design of a computer program. 685
The section of program code that is repeated because of a repetition control structure; also called an iteration. 698
Low-level language
A programming language that requires a programmer to write instructions for specific hardware elements such as the computer processor, registers, and RAM locations. 676
In the context of object-oriented programming, input that is collected and sent to an object. 706
In the context of object-oriented programming, any action that an object can perform. 705
Multiparadigm languages
A programming language that supports more than one paradigm, such as object-oriented and procedural paradigms. 679
In an object database or OO programming language, a discrete piece of code describing a person, place, thing, event, or type of information. 702
Object-oriented paradigm
An approach to programming that focuses on the manipulation of objects rather than on the generation of procedure-based code. 702
A delimiting variable used to modify a command, e.g., /ON modifies the DIR command so it displays files in order by name. 676
Particle renderer
Graphics software that generates special effects for explosions, flares, fog, and smoke. 687
A high-level, procedural programming language developed to help computer programming students learn the structured approach to programming. 679
Pathfinder algorithms
Program code used to control the routes characters take as they move through the virtual world of a computer game. 687
(Programming Language 1) A business and scientific programming language developed by IBM in 1964. 679
In the context of object-oriented programming, the ability to redefine a method for a subclass. Also called overloading. 707
In a Prolog fact, such as likes(John, Mary), the predicate "likes" describes the relationship between the arguments in parentheses, such as (John, Mary). 714
Predictive methodology
The traditional approach to software development in which detailed specifications are created before coding begins. 681
Private attribute
An attribute for an object, class, or record that can be accessed only from the program routine in which it is defined. 703
Problem statement
In software engineering, a concise summary of elements that must be manipulated in order to achieve a result or goal. 680
Procedural language
Any programming language used to create programs composed of a series of statements that tell the computer how to perform a specific task. 689
Procedural paradigm
An approach to programming in which a programmer defines the steps for solving a problem. 689
In the context of computer programming, a section of code that performs activities but is not included in the main sequential execution path of a program. 696
Program editor
A programming tool, similar to a word processor, but that provides specialized editing and formatting features to streamline the programming process. 682
Programming language
- 676
Programming paradigm
A programming methodology or approach, as in the object-oriented paradigm. 679
A declarative programming language used to develop expert systems modeled after human thinking. 679
The characteristics of an object in a program. 683
A notational system for algorithms that combines English and a programming language. 692
Public attribute
An attribute for an object, class, or record that can be accessed from any routine in a program. 703
A modern OO version of the BASIC programming language that works cross platform on Windows, Macs, and Linux. 679
Explanatory comments inserted into lines of code in a computer program. 686
Repetition control structure
A component of a computer program that repeats one or more instructions until a certain condition is met (also called loop or iteration). 698
(Report Program Generator) A programming language used to generate business reports. 679
In the context of Prolog programming, a rule is a general statement about the relationship between facts. 713
Runtime error
An error that occurs when a computer program is run. 685
A dialect of LISP, used for computer research and teaching. 679
A simple-to-use visual programming language based on Smalltalk/Squeak and used to teach programming. 679
(Software Development Kit) A collection of language-specific programming tools. 686
Second-generation languages
Assembly languages that followed machine languages. 677
Selection control structure
A component of a computer program that tells a computer what to do, depending on whether a condition is true or false (also called decision structure or branch). 697
Sequence control structure
A programming construct that alters the order in which instructions are executed. 695
Sequential execution
The computer execution of program instructions performed in the sequence established by a programmer. 695
Signed code
see prec. 727
(SIMUlation LAnguage) Believed to be the first object-oriented programming language. 679
A classic object-oriented programming language. 679
Structured English
Vocabulary and syntax used by systems analysts to concisely and unambiguously explain the logic of a process. It is limited to words defined in a data dictionary and to specific logical terms such as IF...THEN. 692
In object-oriented programming, a subclass is derived from a superclass and inherits its attributes and methods. 704
A section of code that performs activities or manipulates data but is not included in the main sequential execution path of a program. 696
In object-oriented programming, a superclass can provide attributes and methods for subclasses. 704
In the context of programming languages, syntax refers to the grammar rules that create valid program statements. 676
Syntax error
An error that results when an instruction does not follow the syntax rules, or grammar, of the programming language. 685
Third-generation languages
Programming languages, such as FORTRAN, BASIC, and COBOL, that followed assembly languages and provided English-like keywords. 677
Threat modeling
A component of defensive programming that helps programmers identify ways in which their programs might be compromised; also called risk analysis. 725
A named storage location that is capable of holding data, which can be modified during program execution. 680
(Visual Development Environment) Programming tools that allow programmers to build substantial parts of computer programs by pointing and clicking, rather than entering code. 683
Visual Basic
An event-driven programming environment in which the programmer uses forms to lay out the screen components of a program; components are defined by properties and Basic program code. 679
In the context of programming, a method of verifying that an algorithm functions properly when using realistic test data. 694