`lowerCamelCase` is a naming convention where the first letter is lower case, and each subsequent start of a word is upper case.
Defining a function means to teach the computer a new command and explain what it should do when receiving that command.
Calling a function actually gives the command, so the computer will run the code for that function.
Programs that "Read like a story" have good decomposition and make the code easy to follow.
Breaking down (decomposing) your code is splitting it into more functions.
Indentation is the visual structure of how your code is laid out. It uses tabs to organize code into a hierarchy.
Top down design is a method for breaking our program down into smaller parts.
The way your code is written is the style. It covers the aspects of the code that goes beyond whether or not it just works.
Assumptions we make about what must be true before the function is called.
SuperKarel is like Karel but already knows how to turnRight() and turnAround()
A control structure lets us change the flow of the code.
An if statement lets you ask a question to the program and only run code if the answer is true.
Control structure that lets us run either one section of code or another depending on a test.
A problem when using a while loop where you forget one action at the beginning or the end.
A person or device that makes calculations, stores data, and executes instructions according to a program.
The physical components of a computer
Programs that can be run on a computer
The primary software that runs applications and manages all the hardware, memory and other software on a computer.
Most commonly used on a desktop or laptop computer and can perform many tasks without an internet connection.
An operating system used on mobile devices, such as a mobile phone or tablet.
Used on specialized computers that take in requests and send back a response (mail server, web server, etc).
Will only perform one type of task and are used in machines such as an ATM or a GPS system.
An operating system that is permanently etched into a hardware device such as a keyboard or a video card.
an instrument designed to measure electric current, voltage, and usually resistance, typically over several ranges of value.
Resistance is a measure of the opposition to current flow in an electrical circuit
quantitative expression of the potential difference in charge between two points in an electrical field
An electric current is a stream of charged particles, such as electrons or ions, moving through an electrical circuit.
The transfer of energy in an electrical circuit.
The amount of electrical power used over a time period.
Current is directly proportional to voltage.
Logical operator that ANDs two boolean values. Written as `&&`. `a && b` will be true if both `a` and `b` are true.
Logical operator that ORs two boolean values. Written as `||`. `a || b` will be true if `a` or `b` is true.
Used to make logical associations between boolean values.
Logical gates are physical circuits that implement logical operators.
Allows adding an image to a web page. It is self-closing. The attributes of an `<img>` tag include `src`, which specifies where to get the image from (the url for an image ), and `width` and `height` attributes, which specify the size of the image in pixels.
Way to organize information with a simple structure that is easy to read and write on a webpage. There are ordered and unordered HTML lists.
Defines an unordered list in HTML.
defines a list item inside an HMTL list.
Tables display information in a grid.
Allows adding several different types of styles to HTML elements.
Cascading Style Sheets. The language for designing web pages and adding style.
Defines which HTML elements a CSS rule applies to.
`class` is an attribute we can add to HTML tags in order to style a specific group of elements.
`id` is an attribute we can add to an HTML tag to style that specific element.
Managing complexity by "abstracting away" information and detail, in order to focus on the relevant concepts.
Digital information generally comprises data that is created by, or prepared for, electronic systems and devices such as computers, screens, calculators, communication devices and so on, and can be stored on those devices or in the Cloud
A number system defines how we represent numbers. It defines which digits we can use, and what value each position (place value) in a number has.
The number base of a number system defines how many digits are in the number system, and the base of the exponent for each place value in a number.
The number system we use in out everyday lives. It has 10 digits, 0-9.
Number system that has 2 digits, 0 and 1. This is how computers represent numbers at the base level.
ASCII is the standard protocol for encoding text information as bits. The ASCII table assigns a unique binary number to every text character.
An image can be represented as a grid of values. Each value encodes the color at that position in the image.
Images are made up of pixels, which are essentially a grid of values. Each value, or pixel, encodes the color at that position in the image.
The hexadecimal number system is the Base 16 number system. It is a number system that only uses 16 digits (0 1 2 3 4 5 6 7 8 9 A B C D E F)
Number system that has 16 digits 1 - 9 and A - F.
The RGB encoding scheme allows us to encode colors as numeric data. It defines the amount of Red, Green, and Blue light in a pixel. Each color channel can have a value between 0 and 255.
The process of encoding information, using fewer bits than the original representation. We can use algorithms to compress the data to use less bits for storage and then decompress it when we want to view it again.
Lossless Compression involves no loss of information. If data have been "losslessly" compressed, the original data can be recovered exactly from the compressed data after a compress/expand cycle.
Throwing away some of the data to save space. We can throw away a lot of data without any noticeable difference from the original.
Bit means "binary digit". A bit is a single digit in a binary number. A bit can either be 0 or 1.
A law that grants the creator of an original work exclusive rights to its use, distribution, and sale
Objects in the public domain are not subject to copyright laws, and thus may be freely used by the general public.
Stands for Uniform Resource Locator. You are locating a resource that exists somewhere on the internet.
An HTTP request is made by a client, to a named host, which is located on a server. The aim of the request is to access a resource on the server.
An HTTP response is made by a server to a client. The aim of the response is to provide the client with the resource it requested.
A philosophy of making information and knowledge open and accessible to all people. A network of networks built on open, agreed upon protocols.
A widely agreed upon set of rules that standardize communication between machines.
A group of two or more computer systems linked together.
The amount of data (in bits) that can be sent in a fixed amount of time.
The capacity of data transfer in a system. Measured by bitrate.
The latency of a system is the time it takes for a bit to travel from sender to receiver. Fiber optic cables have low latency.
An electronic device which is required for communication between devices.
A computing device is a physical artifact that can run a program.
Input devices are computing devices that are used to take in information from a user or another device.
Output devices are computing devices that are used to send computer data to the user.
Storage devices are computing devices that remember information.
A computing system is a group of computing devices and programs working together for a common purpose.
A computer network is a group of interconnected computing devices capable of sending or receiving data.
A protocol that defines the structure of an Internet address and assigns a unique address to every device on the Internet.
A new 128 bit version of the Internet Protocol.
Used to translate domain names into IP addresses.
The process of sending data between two computers on the internet. The data is sent through routers that determine the route.
When multiple paths exist between two points. This improves reliability and makes the internet fault tolerable. Makes the routing system scalable.
Packets are the units of data that are sent over the network.
HyperText Transfer Protocol is a protocol that standardizes the language for talking to web servers to send and receive web pages, or HyperText information (HTML pages).
Allows for sending MULTIPLE packets between two computers. TCP checks that all packets arrived and can be put back in the proper order. The metadata must include a destination IP address, a from IP address, the message size and the packet order number.
Pretending to be a DNS name resolver. Feed your computer the wrong IP address for a given website, and your browser now goes to a false website.
Distributed Denial of Service attack. Spam a web server with so many requests so close together that it crashes. Sometimes spitting out valuable information as it crashes.
Protocols for encrypting/decrypting information. Most cybersecurity breaches happen due to human error, not software bugs.
Identity theft, stealing money, stealing private information, controlling private computers.
Public key encryption is a type of asymmetric key encryption. There’s one key that encrypts the information and there is a different key that decrypts the information.
Confirms the identity and authenticity of a website.
The usage of deceptive emails and websites to maliciously gather personal information
Examples of servers include web servers, mail servers, and file servers. Each of these servers provide resources to client devices. Most servers have a one-to-many relationship with clients, meaning a single server can provide multiple resources to multiple clients at one time.
sequential programming refers to programs that are executed sequentially – once through, from start to finish, without other processing executing.
Completes multiple tasks at a time, simultaneously.
Association for Computing Machinery: organization for computing professionals to provide guidance related to ethics and responsibilities.
Cloud computing is the on demand availability of computer system resources, especially data storage and computing power, without direct active management by the user.
The Internet of Things (IoT) is the network of physical devices, vehicles, home appliances, and other items embedded with electronics, software, sensors, actuators, and connectivity which enables these things to connect and exchange data.
Ransomware is a type cyber attack that threatens to publish the victim's data or block access to it unless a ransom is paid.
Protection of computer systems, networks, and data from digital attacks.
The CIA Triad is a widely-accepted security measure that should be guaranteed in every secure system. It stands for Confidentiality, Integrity, and Availability.
The protection of information from people who are not authorized to view it.
Aims at ensuring that information is protected from unauthorized or unintentional alteration.
The assurance that systems and data are accessible by authorized users when and where needed.
Used to log in to a computer, comprised of a username, password, personalized settings and set permissions.
Has full access and full control to manage other users, set permissions and change computer settings and programs.
Authorization given to user accounts that grants them certain privileges and enables them to access specific folders and files.
The main, controlling account responsible for providing security updates, antivirus software and setting permissions for anyone on the same network.
An agreed upon set of rules and permissions.
Specifying access rights and permissions for each user.
Proving the identity of the user.
Using charts, graphs, or images to visualize complex data.
a set of data that describes and gives information about other data.
Visualizations can be misleading by skewing the axes or labels, or leaving out relevant data.
Not starting the y-axis at zero.
A connection between two things.
Information (numbers, words, measurements, observations, etc) that is in a computer-readable form.
Using charts, graphs, or images to visualize complex data.
Visualizations can be misleading by skewing the axes or labels, or leaving out relevant data.
Data extraction is the act or process of retrieving data out of data sources for further data processing or data storage.
Processes commands to a computer program in the form of lines of text.
Processes commands to a computer program in the form of lines of text.
A list of specific routing destinations; essentially a map for the router.
A software used to track changes during the development of code and software
A collection of related webpages, usually registered under the same domain name
The connection between one HTML page to another HTML page