Advanced Programming - Vocabulary

  • Abstraction: complexity made simple - a general idea or term used to represent much more detailed information, Abstraction is used to remove unnecessary details. For example, after you create a procedure or function and test it, you can call it without having to think about how it works. In levels of the Internet is means that you don't need to worry or understand details about each layer doing its job - you can assume it will work
  • Algorithm: A precise sequence of instructions for processes that can be executed by a computer and are implemented using programming languages
  • ASCII  - American Standard Code for Information Interchange - ASCII is the universally recognized raw text format that any computer can understand - it takes one byte of data to store a single character
  • Binary - a number system that only uses two numbers (0 and 1) - computers operate in binary (this is how information is processed and stored)
  • Bit - a single digit of a binary number - a bit can contain only a 0 or 1
  • Bit rate - (sometimes written bitrate) the number of bits that are conveyed or processed per unit of time. e.g. 8 bits/sec.
  • bps - bits per second - the use of a lowercase b indicates bits
  • Byte - a collection of 8 bits - data storage is measured in Bytes - generally an uppercase B indicates Bytes
    • KB (kilo) = approximately 1,000 bytes (thousands)
    • MB (mega) = approximately 1,000,000 bytes (millions)
    • GB (giga) = approximately 1,000,000,000 bytes (billions)
    • TB (tera) - approximately 1,000,000,000,000 bytes (trillions)
  • code - (v) to write code, or to write instructions for a computer
  • Collision - in cryptography, a collision attack on a cryptographic hash tries to find two inputs producing the same hash value, i.e. a hash collision
  • Compile - to convert a program from souce code to object (machine) code
  • Computer: A computer is a device that accepts data or input, and processes it in some way to automatically produce a result
  • Computer Hardware: the parts of a computer that you can actually touch
    • Motherboard - the main circuit board - it connects all the other parts
    • CPU - the "brain" responsible for interpreting and executing commands from hardware and software
    • RAM - Random Access Memory - the temporary or "working" memory that allows multitasking
    • Hard Drive - the main data storage for a computer - HDD drives have spinning platters while SDD drives use a solid state flash memory
    • Video/Graphic Card - sends images to the screen/monitor
    • Drives - hardware devices that allow data to be read/written on some type of media (examples: optical, zip/thumb)
      *note: optical is often know more commonly as a CD/DVD/BluRayDVD
    • Monitor/Screen - displays the signals from the graphics/video card
    • Peripherals - a device that can connect to the main computer (examples: keyboard, mouse, speakers, printer)
    • Ports - serves as the interface between the computer and a peripheral (examples: USB, Thunderbolt, PS/2, VGA)
  • Constant (or Literal) - a fixed value that cannot be altered during the execution of the program
  • Data Type - All values in a programming language have a "type" - such as a Number, Boolean, or String - that dictates how the computer will interpret it. For example 7+5 is interpreted differently from "7"+"5"
  • Declaration - When you declare a variable, a function, or even a class all you are doing is saying: there is something with this name, and it has this type
  • Denary - another name for a base 10 system (decimal)
  • Dynamically-type language - at runtime, the program figures out the type of all the variables in the program - such as JavaScript, Python, PHP, Ruby
  • Function - A function is a named set of instructions that performs a task and could also return a result.
  • Hash Table - a data structure for storing key/value pairs
  • High level programming language: A programming language with many commands and features designed to make common tasks easier to program. Any high level functionality is encapsulated as combinations of low level commands
  • IDE - integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of a source code editor, build automation tools and a debugger
  • Integer - a data type that can be positive whole numbers, negative whole numbers, or
    zero (but not fractions or decimals)
  • Integer Overflow Error- results when the number of bits is not enough to represent the actual number - one example is a car's odometer rolling over, or what happened when YouTube hit over 2 billion views for Gangam Style forcing the 32 bit counter to be changed to 64 bit - the value cycles from the highest number back to the lowest one available
  • For Loop _ to start the variables are initialized and the condition is evaluated
    If the condition is true, the code in the loop's body runs, variables are updated, and the condition is reevaluated.
    If the condition is false, the loop terminates
  • While Loop - to start the condition is evaluated
    If the condition is true, the code in the loop's body runs, and the condition is reevaluated
    If the condition is false, the loop terminates
  • Do -While Loop - to start the code in the loop's body runs once - then condition is evaluated
    If the condition is true, the code in the loop's body runs again, and the condition is reevaluated.
    If the condition is false, the loop terminates
  • Low level programming language: A programming language that captures only the most primitive operations available to a machine. Anything that a computer can do can be represented with combinations of low level command
  • Metadata: Data that describes other data. For example, a digital image may include metadata that describe the size of the image, number of colors, or resolution
  • Native Data Types - in C these are the data types built into the programming language - such as int, char, float, double
  • Object Code (or Machine Code) - the result of compiling and assembling source code - this is the binary representation of a program that the computer can run
  • Protype - a preliminary sketch or model of something new. In C, it is defining a function name at the top of a program, while the bulk of the code is included later - this notifies the compiler that a function of that name will be showing up later
  • Pseudocode - an informal language used for creating an outline or a rough draft of a program
  • Qualifiers - in C, are keywords that can be added in front of type names to cause changes to the type - for example unsigned int
  • Scope - dictates what portions of the code can "see" or use a variable, typically derived from where the variable was first created.
    • Global Variable - A variable whose scope is "global" to the program, it can be used and updated by any part of the code. Its global scope is typically derived from the variable being declared (created) outside of any function, object, or method.
    • Local Variable - A variable with local scope is one that can only be seen, used and updated by code within the same scope. Typically this means the variable was declared (created) inside a function -- includes function parameter variables.
  • Source Code - a program written in a language that a human can understand - it it the original code of a program before it is compiled and assembled into Object or Machine Code
  • Statically-typed language - requires that every time you declare a variable, that you specify the data type: languages such as C
  • String - A string is a collection of characters in order. In Python the characters are inside a pair of single or double quotes
  • Syntax: a set of rules in programming languages that determines how symbols and special characters are used
  • Unary Operator: takes only one value for its operation. The plus operator (++) increments a given value by one. For instance, to increment the variable x by 1, you could express this as: x++
    The opposite is the minus operator (--) which decreases a given value by one. To decrement the variable x by 1, you could use: x--
  • Variable - a storage container (assigned memory) for data that is capable of holding different values - these may change or update as programs execute