computing innovation
-executes a program as a fundamental part of its function -can be physical, non-physical software, or non-physical concepts
algorithm
-step-by-step procedure that solves a problem
-each step must be precise, unambiguous & doable
-can be expressed using only sequence, selection, and repetition
program
-code statements/sequence of instructions that controls a computer -must be loaded into a computer's memory to run -CPU executes it one instruction at a time
control structure
programming language statements that control the flow of a computer program
code segments
collection of program statements
sequence
-series of one or more statements in a computer program
sequence control structure (sequencing)
application of each step of an algorithm in the order the steps are given
selection
process in which a question is asked, and depending on the answer, the program takes one of two courses of action
selection control structure
uses a Boolean condition to determine which 2 parts of an algorithm are used
repetition/iteration
used when a program needs to repeatedly process one or more instructions until some condition is met
repetition control structure
repeating of an algorithm for a specified number of times until a condition is met
input
-data sent to a computer for processing by a program -can be tactile, audible, visual, or text
output
-data sent back by a program to a device -can be tactile, audible, visual, or text
user interface (UI)
computer application in which a user interacts with a program
user events
actions performed by the user
UI components
parts of the user interface (i.e. buttons, labels)
function
-behavior of a program when it is executed -what the code carries out when running
purpose
-the problem a program is intending to solve -the interest the program is pursuing -the reason why the program is being written
event-driven programming
-program activated by events like button clicks -events supply input data to a program, triggering blocks of code in a program that influence its behavior
event handler
block of code that reacts to an event
integrated development environment (IDE)
-software that provides tools for programming (i.e. UI design, code editing) -provides a way to interpret and run the program
hardware
-electronic and mechanical components that execute the instructions of a computer program
software
-computer programs or code that control the hardware
-serves as interface between an individual and their computer
if-else
selection or conditional algorithm in which a program is allowed to make decisions based on a condition
if-else condition
enables an app to ask questions & make decisions
Boolean condition
-true/false condition -named after George Boole (1815-1864)
computer
machine that processes information under control of a program
data
distinct information formatted uniquely (i.e. text on paper, bytes stored in electronic memory)
data center
physical/virtual infrastructures used by enterprises to house computer, server, & networking systems, and components for IT (information technology) needs
data network
telecommunication network in which computers are allowed to exchange data
bit
-binary digit -smallest unit of data -1 or 0
byte
group of 8 bits
network
group of two or more computers linked together
social network
-social structure made of nodes (individuals or organizations)
represents relationships & flows between people, groups, organizations, animals, computers, or other information/knowledge processing entities
general purpose computer
-runs on many different platforms (i.e programs, apps) -includes smartphones and tablets
special purpose computer
-contains a fixed program, only allowing it to run a single set program -Includes calculators, watches, a car’s anti-lock braking system
machine language (binary code)
-programming language that is machine readable (1’s and 0’s) -closer to the machine hardware
high-level language (pseudocode)
-programming language that is readable by humans -blend of english and code
central processing unit (CPU)
-hardware that processes the program’s instructions -carries out the instructions of a computer program
random access memory (RAM)
temporarily stores the computer’s programs and data while the power is on
storage devices
permanently stores data even while the computer is off (i.e. disk drives, flash drives, CDs)
input devices
transfers information into the computer’s memory (i.e. touchscreen, mic)
output devices
transfers information out of the memory (i.e. touchscreen, speaker)
I/O connector
connects input/output devices
motherboard
houses all of the computer’s main electronic components
computer chip (integrated circuit/IC)
-contains millions of electronic circuits -integrates billions of transistors and logic gates
Moore's Law
number of transistors per sq. in. on ICs will roughly double every 2 years since its invention
compiler
software that translates human readable code (source code) into binary code
compilation
-process of translating an entire source into a single binary file -more efficient
interpretation
-process of translating source code into machine language one instruction at a time
-easier to debug
operating system
collection of computer software in which hardware resources are managed & common services are provided to computer programs
applications
program or group of programs designed for end users (i.e. Firefox, Excel, Angry Birds)
memory
physical device used to store information for use in a computer or other digital electronic device (i.e. disk drive, flash drive)
disk drive
randomly addressable & rewritable storage device
Internet
-An international public network of independent & autonomous computer networks -Governed by & uses Internet Protocol Suite (TCP/IP) to communicate -Connects millions of networks through electronic links, wireless links, and networking technologies -Includes inter-linked hypertext documents, applications of the WWW, infrastructure to support email, peer-to-peer networks for file-sharing and telephony
Cloud
-Popular term for the Internet -Facebook, Google, Twitter are often referred to as cloud applications
Transmission Control Protocol/Internet Protocol (TCP/IP)
suite of protocols that determine the behavior of the Internet
protocol
-System of rules that govern the behavior of a system -Internet Protocol is the main protocol that transfers information on networks
World Wide Web (WWW)
-Internet application that stores a collection of documents, images, and resources based on HyperText Transfer Protocol (HTTP) -Accessed through a browser
HyperText Transfer Protocol (HTTP)
rules that govern the WWW application
Tim Berners-Lee
-inventor of the WWW -Felt the WWW brought the Internet to a higher level of abstraction
browser
-program that displays web pages -used to navigate the WWW
distributed applications
-applications that run on a single network (i.e. email, file transfer, instant messaging, telephony) -governed by protocols
Simple Mail Transfer Protocol (SMTP) or Post Office Protocol (POP)
File Transfer Protocol (FTP)
file transfer
Internet Relay Chat (IRC)
instant messaging
Voice Over IP (VoIP)
telephony
open standard
-Standards openly available to the public -Not owned by any corporation -Allows devices, services, and applications to work together across a widespread network of networks -Created and managed through public processes by open international communities (i.e. International Engineering Task Force) -Key for the exponential growth of the Internet
International Engineering Task Force (IETF)
develops and supervises open standards i.e. HTTP (www), SMTP (mail)
abstraction
-general and simplified representation of something -formed by the inclusion of details necessary to make the abstraction useful -reduces complexity, making computer systems easier to use and understand
abstracting
process of removing details and condensing information
data abstraction
generalizes access to a collection of data
procedural abstraction
-process of organizing and encapsulating algorithms in named procedures -can be implored by name
constant
abstraction that represents a single thing (the number 5)
variable
holds many values in a program/represents many things (symbol X)
binary number system
-System that represents data in a computer system based on 1’s and 0’s (base-2) -Used to easily represent the difference between a switch being “on” or “off”/voltage being “high” or “low” in an electronic circuit
base
-the amount of distinct digits or symbols representing numbers in a numerical system
positional number system
system that determines the value of a digit in a number based on its place
overflow error
-Occurs when a computer attempts to handle a number outside of its defined range of numerical values
octal number system
base-8 (0-7)
hexadecimal system
base-16 (0-9 and A-F)
blacklist
list of email addresses or IP addresses for organizations that are known to be spammers.
whitelist
list of email addresses or IP addresses for organizations that are known to be spam free
intellectual property
-property that is the result of creativity -includes patents, copyrights, and trademarks
transistor
-semiconductor device used to amplify or switch electronic signals and electrical power -building block of electronic devices
flip-flop (latch)
-Digital circuit that has two-states, ON or OFF, to store a 1 or 0 -Fundamental unit of computer memory
gate
tiny electronic circuit that performs a basic logic operation
AND gate
-Circuit with 2 inputs and 1 output -Output is TRUE/ON when both inputs are TRUE/ON
OR gate
-Circuit with 2 inputs and 1 output -Output is TRUE/ON when one or both inputs are TRUE/ON
NOT gate
-Circuit with 2 inputs and 1 output -Output is TRUE/ON when its outputs are FALSE/OFF and vice versa
cyberspace
non-physical terrain created by computer systems.