Some basic software vocabulary with links to wikipedia.

[TOC]

Ideas

  • abstraction
    • the process of removing details from something in order to obtain a more general representation

Programs

  • program

    • A program is a collection of program statements that performs a specific task when run by a computer. A program is often referred to as software.
    • Wikipedia - Computer Program
  • program behavior

    • Program behavior is how a program functions during execution and is often described by how a user interacts with it.
  • program input

    • Program input is data sent to a computer for processing by a program. Input can come in a variety of forms, such as tactile, audio, visual, or text.
  • program output

    • Program output is any data sent from a program to a device. Program output can come in a variety of forms, such as tactile, audio, visual, or text.
  • program documentation

    • Program documentation is a written description of the function of a code segment, event, procedure, or program and how it was developed.
    • Wikipedia - Software Documentation
  • modularity

    • The subdivision of a computer program into separate subprograms

Code

  • comments

  • code segment

    • A code segment refers to a collection of program statements that are part of a program.
  • code statement

  • expression

  • variable

    • A variable is an abstraction inside a program that can hold a value. Each variable has associated data storage that represents one value at a time, but that value can be a list or other collection that in turn contains multiple values.
  • procedure

  • parameter

  • argument

    • Arguments specify the values of the parameters when a procedure is called.
  • event

  • library

    • a collection of functions that can be added to the code
  • Application Program Interface (API)

    • a description of what each function in the library does and how to use it

Development

  • iterative development process

  • incremental development process

    • An incremental development process is one that breaks the problem into smaller pieces and makes sure each piece works before adding it to the whole.
  • testing

    • Testing uses defined inputs to ensure that an algorithm or program is producing the expected outcomes. Programmers use the results from testing to revise their algorithms or programs.
    • Wikipedia - software testing
  • Minimum Viable Product (MVP)

    • a version of a product with just enough features to be usable by early customers who can then provide feedback for future product development.
    • Wikipedia - minimum viable product

Errors

  • syntax error

    • A syntax error mistake in the program where the rules of the programming language are not followed.
    • Wikipedia - Syntax error
  • runtime error

  • logic error

    • A logical error is a mistake in the algorithm or program that causes it to behave incorrectly or unexpectedly.
    • Wikipedia - Logic error

Variables

scope

  • global variable

    • Global variables are defined outside of any function and can be used anywhere in a program.
    • Overusing global variables quickly leads to unclear, unmanageable, and buggy code
    • Use globals as little as possible.
    • Wikipedia - Global Variable
  • local variables

    • like function parameters. These variables can only be used in the functions that they are defined in.
    • Do not use a local with the same name as a global. This can be confusing and should be avoided.
    • Wikipedia - Local Variable

lists

  • index

    • An index is a common method for referencing the elements in a list or string using natural numbers.
  • element

    • An element is an individual value in a list that is assigned a unique index.
  • initialize / construct

    • Create and set the initial elements in the list.

General

  • Multi-factor Authentication
    • A user is granted access only after successfully presenting two or more pieces of evidence (or factors) to an authentication mechanism: knowledge (something only the user knows), possession (something only the user has), or inherence (something only the user is).
    • Includes: two factor authentication (2FA)
    • Wikipedia - Multi-factor Authentication

Algorithms

  • sequencing
    • The order that the steps of an algorithm are given.
  • selection
    • The use of a boolean condition to determine which of two parts of an algorithm is used (Ex. conditionals)
  • iteration
    • When a part of an algorithm is repeated, either for a certain number of times or until a condition is met. (Ex. for loops)

Types

Strings

  • string
    • A string is an ordered sequence of characters.
  • substring
    • A substring is a string that is a part of an existing string.

Boolean Comparisons

(x < y) is x less than y? (x <= y) is x less than or equal to y? (x == y) is x equal to y? (x != y) is x not equal to y? (x > y) is x greater than y? (x >= y) is x greater than or equal to y?

  • Inclusive or

    • either of the or conditions
  • Exclusive or

    • only a single one of the or conditions
  • compound conditional

    • use and, or, and not
  • nested conditionals

    • nesting if statements inside other if statements

Python

tip: make sure that the file extension is .py

int() - converts value to integer str() - converts value to string

College Board Syntax Cheat Sheet

IF(condition)
{
  conditional body
}
IF(condition)
{
  first conditional body
}ELSE
{
  second conditional body
}
PROCEDURE procName(parameter1, parameter2, …)
{
  procedure body
  RETURN(expression)
}

result ← procName(arg1, arg2, …)

To test if a is equal to b: a = b To test if a is not equal to b: a ≠ b To test if a is greater than b: a > b To test if a is less than b: a < b To test if a is greater than or equal to b: a ≥ b To test if a is less than or equal to b: a ≤ b

AND instead of ands
OR instead of or
NOT instead of not
operators can use both boolean value True, False and boolean expressions
INPUT()

random(low, hi)
RANDOM(a, b) 

Unlike some programming languages, both Python and the programming language used on the AP Exam have no limit on how large a number can be, as long as the computer's memory can store it.