Skip to main content

Algorithm: A step-by-step procedure of precise instructions that performs some calculation or computation.

API, Application Programming Interface: A set of software tools and abstractions that programmers use to perform certain well defined tasks such as displaying a map.

Binary: The number system that uses only 2 digits, 0 and 1.

Binary code: The 1s and 0s that control the computer’s hardware.

"Bit or Binary Digit": The smallest unit of digital data in a computer. A binary digit 0 or 1 that represents an electrical impulse inside the computer.

Built-in procedures: Procedures that are already implemented to perform specific tasks.

Byte: 8 bits equals 1 byte.

Chip: An integrated circuit consisting of millions of tiny electronic components.

Client-server model: A software model where an application, such as email or WWW, is divided into two parts that communicate over a network. The client requests services that are provided by the server. For example, when browsing the web, your computer's browser acts as the client. It asks for and receives content in the form of web pages from servers that reside on the Internet.

Cloud service: Any application service that is provided over the Internet. Examples would include Facebook, Twitter, and App Inventor.

Component: An object or element that can be added to an app, such as a Button or WebViewer, that has certain properties and behaviors.

Computer: A machine that processes information under the control of a program.

Computer program: A sequence of instructions that controls the computer.

Concatenation: The process of joining together two pieces of text -- e.g., "hello" + "world" give "helloworld".

Constant: A constant is a variable whose value does not change during the app's execution. A common programming convention is to name constants in UPPERCASE to distinguish them from true variables. Constants are often used to improve the readability of programs by replacing literal values (e.g, 5, " ") with functionally named constants (RADIUS, SPACE).

CPU: The hardware that carries out the instructions of a computer program.

Crowdsourcing: The process of getting information from a large group of people, often people in an online community.

Data Structure: A structured collection of data. A data structure will usually include certain operations on the data contained in the structure.

Database: An organized collection of data that is stored permanently on a computer that provides methods for storing and retrieving the data.

Defensive Design: Designing the app to anticipate and avoid possible errors the user might make.

Density: Represents how tightly packed the pixels are on a device.

DistanceInterval: The minimum distance in meters that the device must move in order for it to register a change in location. Setting it to 0 effectively sets the Location Sensor to update the device's latitude and longitude every TimerInterval milliseconds.

Event: Something that happens to an app either through the action of the user (e.g., clicking a button, touching the screen, moving the phone) or through some other real world action (e.g., receiving a text message or phone call).

Event handler: A software element that responds to an event, such as the when Button.Click block in App Inventor.

Event loop: Mobile devices are designed to constantly listen for events to occur and then to respond to those events.

Event-driven programming: Writing apps where the control of the app depends on how it responds to various events.

Global Positioning System (GPS): "Satellite-based system that uses synchronized radio signals to enable devices containing GPS receivers to calculate their latitude and longitude.

Google Static Maps API: An API (Application Programming Interface) provided by Google that lets users and programmers specify a particular map through a URL.

GUI: A Graphical User Interface (GUI) is one that contains windows, buttons, and other components that the user can use to interact with an application.

Hardware: The computer's electronic and mechanical components.

Hexadecimal: A number system that is often used to represent colors. The hexadecimal system has 16 digits, 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F. The color white would be represented as (FF,FF,FF) in hexadecimal (or hex for short) instead of (255,255,255) in decimal, or (11111111,11111111,11111111) in binary.

High-level language: A programming language that is easy for humans to read.

HTTPS: Secure HyperText Transfer Protocol. Communications between a client and a server under this protocol are encrypted, meaning the data are garbled so they can't be read by eavesdroppers.

HyperText Markup Language (HTML): The markup language used to encode web pages. Tags enclosed in angle brackets are used to identify and configure various elements in the web page. For example. bold face.

"HyperText Transfer Protocol (HTTP)": The protocol that governs World Wide Web (WWW) transactions.

IDE Integrated Development Environment: A software application that contains the tools needed to design and develop a computer program, in this case of App Inventor, to develop a mobile app.

Increment: The operation of adding a value to a quantity.

Increment Algorithm: An algorithm that increments a variable.

Index: A list item's position in a list. The first item is at index 1, second at index 2, and so on.

Index variable: A variable that serves as reference to an item's position in a list.

Internet Protocol Suite: The collection of protocols used by the Internet.

Internetwork: A network of disparate networks -- i.e, of networks that are governed by different protocols.

Item: An element of a list.

Latitude: Geographical coordinate. Latitude measures distance north and south of the Equator.

Length: The number of items in the list.

List: 1. A data structure that lets you store and manipulate pieces of data within a computer program. 2. A collection of interrelated items ordered by position.

List of Lists: A hierarchical data structure in which a list contains sublists. That is, the elements of the list are themselves lists.

Location Sensor: App Inventor's component for determining and monitoring the device's latitude and longitude.

Longitude: Geographical coordinate. Longitude measures distance east and west of the Prime Meridian, which passes through Greenwich England.

Low-level language: A programming language that is easy for a computer to read.

Machine language: A language designed for a specific CPU.

Model: An abstract representation of reality that usually leaves out certain details of the object it represents.

Motherboard: Houses the computer's main electronic components.

Operating System: Software, such as the Android or iOS operating systems, that intermediate the interaction between mobile apps and the underlying hardware.

Package an app: Compile the app into an APK file.

Parameter: A parameter is a local variable that is used in a procedure definition to store data that is passed to the procedure. For example, for the Static Maps API, the variable size specifies the dimensions of the map that the service will provide.

Parameter/value pair: URL queries use the parameter=value format for specifying the details of the client's request. For example, zoom=17 specifies a certain zoom level in the map.

Pixel: A pixel or picture element is a small square of light on a computer display that represents a piece of an image. Typically the pixel's light is made from a combination of red, green and blue lights.

Procedural Abstraction: The process of defining and using procedures to encapsulate and hide the details and complexity of a certain task.

Procedure: A named collection of code that performs some specific task. Once defined, a procedure can be called or invoked to perform its task. Organizing programs into procedures is a fundamental principle of software development and virtually all programming languages provide a way for the programmer to define procedures.

Program: A sequence of instructions that controls a computer.

Property: An attribute of a component, such as its width or height, that determines how it looks or behaves. Different components have different types of properties. For example, non-visible components cannot have a width and height.

Property Setter (UI): A block that is used to set the value of a component property. For example, we set the value of the ButtonAddMe.Enabled property to true.

Protocol: A set of rules that govern the behavior of a particular system.

Pseudocode: A notation used by programmers to describe algorithms. Pseudocode uses a mix of English-like terminology and formal programming language constructs such as if/else. So it is easier to read and does not have strict syntax rules the way programming languages do.

Query: A specific request of the server. The server will interpret the query and return a response. The response will either be the resource that was requested or some kind of error message if something went wrong.

RAM: Stores the computer's programs and data temporarily while power is on.

Refactoring software: The process of revising code to improve its structure or readability without affecting its behavior.

Rendering: The process of generating an image from a model.

Resolution: The dimensions by which you measure the number of pixels on a screen, typically represented as a width x height, e.g., 1920 x 1080 or 640 x 480.

RGB: A triplet that represents a pixel's color. R represents the amount of red light, G the amount of green light, and B the amount of blue light in the pixel. White would be (255,255,255). Black would be (0,0,0). Red would be (255,0,0) and so on.

Router: A special-purpose computer that serves as a gateway between disparate networks, translating from one protocol to another.

Scheme: A particular format for a URI. For example, the mailto scheme, which identifies an email message. Or the http scheme identifies a Web page.

"Simple Mail Transfer Protocol (SMTP)": The protocol that governs the behavior of electronic mail transactions on the Internet.

Simple sequence algorithm: A sequence of simple arithmetic statements with no branching or looping.

Software: The programs that control a computer.

Source code: High-level language code.

Splash View: The splash view or splash screen usually refers to the first page or screen or the introduction page or introduction screen of a web site or a mobile app.

String: A type of data that is composed of a sequence of characters.

TCP/IP: Transmission Control Protocol/Internet Protocol. The two most important protocols of the Internet Protocol Suite.

The Internet: An internet where the routers connecting the networks are based on the Internet Protocol Suite.

TimerInterval: The timer interval property that determines how often in milliseconds the Location Sensor will check for updates, i.e., check for changes in location. The default value is 60,000 milliseconds -- i.e., every minute.

Uniform Resource Locator (URL): A string that provides a Web address, such as http://mobile-csp.org/index.html, where http gives the protocol, in this case a request for a web page, mobile-csp gives the domain name of a server on the web, and index.html gives the name of a particular web page.

Universal Resource Identifiers (URI): A string of text that is used to identify a resource on the Internet or WWW.

User Interface (UI): Those elements of an app that the user interacts with, including visible, audible, and touchable elements.

Value or Property Value: The actual value that the property is set to. For example, a component's width property can be set to fill parent, or its visible property can be set to False. Property values can be set in the Designer and, as we shall see later, by using blocks in the Blocks Editor.

Variable scope: A variable's scope determines the context in which the variable can be used. Variables can have global scope or local scope.

Virtual Screen: A virtual screen looks and behaves like an actual screen but it is implemented in App Inventor by using an Arrangement, either a Horizontal or a Vertical arrangement. Using the arrangement's visibility property it is possible to hide and show the arrangement when necessary, making it appear as if you are opening and closing separate screens. In App Inventor, multiple screens have multiple workspace so components and global variables cannot be shared among screens. This problem doesn't arise with virtual screens.

Wifi Router: A wireless computing networking device that allows wireless connection to the Internet.

WWW: An application running on the Internet that uses the HyperText Transfer (HTTP) protocol.