1/84
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Program
Consists of instructions executing one at a time.
Input
A program gets data, perhaps from a file, keyboard, touchscreen, network, etc.
Process
A programs performs computations on that data, such as adding two values like x + y.
Output
A programs puts that data somewhere, such as to a file, screen, network, etc.
Computational thinking
Creating a sequence of instructions to solve a problem.
Algorithm
A sequence of instructions that solves a problem.
Statement
Carries out some action and executing one at a time.
String literal
Consists of text (characters) within double quotes, as in "Go #57!".
Cursor
Indicates where the next output item will be placed in the output.
Newline
A special two-character sequence \n whose appearance in an output string literal causes the cursor to move to the next output line. The newline exists invisibly in the output.
Comment
Text added to a program, read by humans to understand the code, but ignored by the program when executed.
Whitespace
Refers to blank spaces (space and tab characters) between items within a statement, and to newlines. Whitespace helps improve readability for humans, but for execution purposes is mostly ignored.
Pseudocode
Text that resembles a program in a real programming language but is simplified to aid human understanding.
Assignment statement
Assigns a variable with a value, such as x = 5. An assignment statement's left side must be a variable. The right side is an expression.Examples: x = 5, y = a, or z = w + 2.
=
In programming, = is an assignment of a left-side variable with a right-side value. It does not represent equality like in mathematics.
Variable declaration
Declares a new variable, specifying the variable's name and type.
Identifier
A name created by a programmer for an item like a variable or function. An identifier must: be a sequence of letters (a-z, A-Z), underscores (_), and digits (0-9), AND start with a letter or underscore.
Reserved word or keyword
A word that is part of the language, like integer, Get, or Put. A programmer cannot use a reserved word as an identifier.
Lower camel case
Abuts multiple words, capitalizing each word except the first, such as numApples.
Underscore separated
Words are lowercase and separated by an underscore, such as num_apples.
Expression
A combination of items, like variables, literals, operators, and parentheses, that evaluates to a value. Example: 2 * (x+1)
Literal
A specific value in code, like 2.
Operator
A symbol that performs a built-in calculation, like the operator + which performs addition.
Unary minus
The subtraction sign (-) used as a negative.
Note about integer literal
Commas are not allowed, so 1,333,555 must be written as 1333555.
Incremental development
The process of writing, compiling, and testing a small amount of code, then writing, compiling, and testing a small amount more (an incremental amount), and so on.
Floating-point number
A real number, like 98.6, 0.0001, or -666.667.
Floating-point literal
A number with a fractional part, even if that fraction is 0, such as 1.0, 0.0, or 99.573.
Function
A list of statements executed by invoking the function's name, with such invoking known as a function call.
Type conversion
A conversion of one data type to another, such as an integer to a float.
Implicit conversion
When a program automatically performs several common conversions between integer and float types (as well as others).
Type cast
Converts a value of one type to another type.
String
A sequence of characters, like "Hello".
Boolean
Refers to a quantity that has only two possible values, true or false.
Array
An ordered list of items of a given data type, like an array of integers or an array of floats. Array indices start from 0, not 1.
Constant
A named value item that holds a value that cannot change.
Element
Each item in an array.
Index
In an array, each element's location number.
Scalar variable
A single-item (non-array) variable.
Branch
A sequence of statements only executed under a certain condition.
Nested branches
A branch's statements can include any valid statements, including another if-else branch.
Equality operator
Checks whether two operand's values are the same (==) or different (=!). Note that equality is ==, not just =.
Relational operator
Checks how one operand's value relates to another, like being greater than.
Logical operator
Treats operands as being true or false, and evaluates to true or false. Logical operators include and, or, not.
Epsilon
The difference threshold indicating that floating-point numbers are equal.
if-else statement
An if expression with the true branch's sub-statements, followed by an else part with any false branch sub-statements.
if statement
An if expression followed by sub-statements, with no else part.
if-elseif statement
Starts with an if expression, followed by elseif expressions, and ending with else; when a program reaches the statement, exactly one of those branches will execute. When the else branch has no statements, the else part is omitted.
Loop
A program construct that repeatedly executes the loop's statements (known as the loop body) while the loop's expression is true; when false, execution proceeds past the loop. Each time through a loop's statements is called an iteration.
Infinite loop
A loop that never stops iterating. A common error is to accidentally create an infinite loop, often by forgetting to update a variable in the body, or by creating a loop expression whose evaluation to false isn't always reachable.
Sentinel value
A special value indicating the end of a list, such as a list of positive integers ending with 0, as in 1 0 1 6 3 0.
While loop
A loop that repeatedly executes the loop body while the loop's expression evaluates to true.
For loop
A loop consisting of a loop variable initialization, a loop expression, and a loop variable update that typically describes iterating for a specific number of times.
Nested loop
A loop that appears in the body of another loop. The nested loops are commonly referred to as the inner loop and outer loop.
Do-while loop
A loop that first executes the loop body's statements, then checks the loop condition. Compared to a while loop, a do-while loop is useful when the loop should iterate at least once.
Function definition
Consists of the new function's name and a block of statements. The function's name can be any valid identifier.
Function call
An invocation of a function's name, causing the function's statements to execute.
Parameter
A function input specified in a function definition. Example: A pizza area function might have diameter as an input.
Argument
A value provided to a function's parameter during a function call. Example: A pizza area function might be called as PrintPizzaArea(12.0).
Modular development
The process of dividing a program into separate modules that can be developed and tested separately and then integrated into a single program.
Function stub
A function definition whose statements have not yet been written.
Return statement
Returns the specified value and immediately exits the function.
Algorithm time efficiency
The number of calculations required to solve a problem. For the same problem, some algorithms may be much more time efficient than others.
Systems development life cycle (SDLC)
Analysis phase, design phase, implementation phase, and testing phase.
Analysis phase
Defines a program's goals.
Design phase
Defines specifics of how to build a program.
Implementation phase
Involves writing the program.
Testing phase
Checks that the program correctly meets the goal.
Waterfall approach
A program can be built by carrying out the SDLC phases in sequence. The term waterfall is used because, just like a boat going down river doesn't come back, no earlier phase is come back to.
Agile approach (spiral approach)
In contrast, a program can be built by doing small amounts of each SDLC phases in sequence, and then repeating.
Universal Modeling Language (UML)
A modeling language for software design that uses different types of diagrams to visualize the structure and behavior of programs. UML consists of several structural and behavioral diagrams.
Structural diagram
Visualizes static elements of software, such as the types of variables and functions used in the program.
Behavioral diagram
Visualizes dynamic behavior of software, such as the flow of an algorithm.
Activity diagram
A flowchart used to describe the flow of an activity or set of activities.
Use case diagram
A behavioral diagram used to visually model how a user interacts with a software program. Actions from users and the accompanying actions in software, as well as connections between different components of the software, are illustrated in a use case diagram. Use case diagrams are often used to specify behavioral requirements of programs.
Class diagram
A structural diagram that can be used to visually model the classes of a computer program, including member variables and functions. A class is a code blueprint for creating an object that is composed of data members and functions (sometimes called methods) that operate on those data members.
Sequence diagram
A behavioral diagram that shows interaction between software components and indicates the order of events. These diagrams are commonly used to illustrate the sequence of events needed to handle a particular scenario in software.
Compiled language
First converted by a tool (compiler) into machine code, which can run on a particular machine. Examples include C, C++, and Java.
Interpreted language (scripting language)
A language that is run one statement at a time by another program called an interpreter. Examples include Python, Javascript, C#, and MATLAB.
Statically typed
Each variable's type must be declared and cannot change while the program runs. (Static means unchanging). C, C++, and Java are popular examples.
Dynamically typed
A variable's type may change while a program executes, usually based on what is assigned to the variable. (Dynamic means changing). Python is a popular example.
Object
In a program, an object consists of some internal data items plus operations that can be performed on that data.
Object-oriented language
Supports decomposing a program into objects. C++, Java, Python, and C# provide extensive object-oriented support. In fact, the ++ in C++ suggests C++ is better than C, due in large part to supporting objects. C does not. MATLAB and Javascript provide some support.
Markup language
Allows a developer to describe a document's content, desired formatting, or other features. A popular markup language is HTML. HTML allows a developer to describe the text, links, images, and other features of a web page. While some people refer to "HTML programming", a markup language is not executed statement-by-statement like a programming language, and an HTML file is not a program. Rather, a web browser reads an HTML file and renders the corresponding web page. An HTML file surround text by different tags to yield different formatting.
Library
A set of pre-written functions (and other terms) that carry out common tasks that a programmer can use to improve productivity. After including a library with a program, a programmer can make use of the library's functions. A library's functions typically all relate to the same purpose, like computing statistics, or like displaying graphics. A programmer may include several libraries in a single program.