An algorithm is a set of steps or rules to follow to solve a particular problem.
Traditionally the very first program you write when learning a programming language, a program that prints "Hello world" to the user.
Displaying text on the screen
Declaring a variable is defining it for the first time.
Initializing a variable is giving it an initial value.
Adding two strings together using the "+" operator.
A variable with text as the value
A variable with a whole number as the value
A variable with a decimal number as the value
A function that prints a prompt and retrieves text from the user.
The process of converting the value of one data type (integer, string, float, etc.) to another data type is called type conversion.
Also called floats, floating point numbers represent real numbers and are written with a decimal point dividing the integer and fractional parts.
Arithmetic operators include + addition, - subtraction, * multiplication, / division, and % modulus. These operators are used to perform basic mathematical tasks.
A coordinate system uses numbers as coordinates to place objects in a geometric space.
The variables that are attached to the object.
An event is an action (such as clicking the mouse or pressing a key on the keyboard) that a program detects and uses as input.
A function passed as a parameter to another function in order to be called later.
A True or False value
Used to make logical associations between boolean values.
Used to make comparisons between values.
An if statement lets you ask a question to the program and only run code if the answer is true.
Executes code only if all conditions are false
sequential programming refers to programs that are executed sequentially – once through, from start to finish, without other processing executing.
Non-sequential Programming refers to a programming paradigm where programs can have multiple tasks being completed at once or out of sequential order.
A for loop lets us repeat code a **fixed number of times.**
A for loop lets us repeat code a **fixed number of times.**
Not actually random, but appears to be random
Lets us repeat code as long as something is true.
A function is like a command that you get to invent and name. It allows us to break our program into smaller parts, making the program easier to understand.
Pieces of information you can give to functions when you define them. When the function is called the arguments are the data you pass into the function's parameters. Parameter is the variable in the declaration of the function. Argument is the actual value of this variable that gets passed to the function.
Exits a function, optionally passing back an expression to the caller. A `return` statement with no arguments is the same as `return None`.
Print Displaying text on the screen.
a namespace is the collection of variable names that exist at a certain point in your code.
A variable that is restricted to use in a certain scope of a program
Runtime errors in a program. by default, they stop the program.
Programming constructs that can be used to gracefully handle exceptions so that a program can continue in spite of them.
APIs and libraries simplify complex programming tasks by providing sets of clearly defined methods of communication among various computing components.
A general term in programming that refers to the flow of information into and out of a program
A animated model that represents a real-life thing, process, or situation.
A set of rules for how things interact within a simulation.
Unable to change. Strings in Java are immutable, meaning you can't change it once you make it. If you take a substring of a String, or concatenate something to a String, the result is a *brand new* String, rather than a modification of the original.
A particular way of organizing data in our programs.
A heterogenous, immutable data type that stores an ordered sequence of things.
The items stored can be of any type: numeric, string, boolean, etc.
A heterogenous, **mutable** data type that stores an ordered sequence of things.
When something is changeable or has the ability to change.
The `join()` method takes all items in a collection and joins them into one string
A for loop lets us repeat code a **fixed number of times.**
Accessing certain elements in a list
A method that counts occurrences of specific items in a list.
Add a particular item to the end of a list.
Takes a list as an argument and extends the current list with the list given as an argument.
sorts the list in ascending order by default.
reverses the sorting order of the elements.
removes the first occurrence of the element with the specified value.
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.
Bit means "binary digit". A bit is a single digit in a binary number. A bit can either be 0 or 1.
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.
A procedure that applies a particular function to an image's pixels to change its appearance
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.
Scrambling digital information into an unreadable form. Only those with verified authority (password, key, etc) can unscramble it to read it.
An encryption method in which each letter of the message is shifted by a certain amount, called the key
The same key is used to encrypt and decrypt (e.g., Caesar, Vigenere)
One key encrypts, a different key decrypts.
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.
A shared secret that allows the recipient to convert ciphertext into plaintext.
The conversion of encrypted data into its original form.
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.
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.
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.
Used to translate domain names into IP addresses.
The protocol that defines the payout of an an Internet address.
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.
Completes multiple tasks at a time, simultaneously.
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.
Confirms the identity and authenticity of a website.
Anonymity describes situations where the acting person's identity is unknown.
Censorship is the suppression of words, images, or ideas that are "offensive."
The digital divide is a gap between those who have access to digital technology and those who don't.
A law that grants the creator of an original work exclusive rights to its use, distribution, and sale
The usage of deceptive emails and websites to maliciously gather personal information
The protocol that defines the payout of an an Internet address.
A computing device is a physical artifact that can run a program.
Legally binding guidelines for use and distribution of software.
Software that is available for anyone to access and modify.
Software that is owned by an individual or company.
Refers to the design of the essential parts of an application and how they are connected to each other.
Software installation that is performed on your local computer.
Software installation that is performed on a local area network (LAN).
Software that is installed, hosted and accessed entirely from a remote server or location.
A decision method designed to minimize potential losses and maximize potential gains for a given player
In minimax, minimizing refers to an opponent who is looking for their optimal move.
In minimax, maximizing refers to a player who is looking for their own optimal move.
An artificial intelligence model that is commonly used in games to model the behavior of a non-playable character (NPC). It consists of a set of finite states with associated transitions that occur based on certain events, which cause the character between different behaviors.
A character in a game that is controlled by an artificial intelligence (AI) agent rather than a player.
An algorithm that starts at the root of a search tree and explores its nodes to find a node that satisfies the conditions mentioned in a search problem
A technique used to find an approximate solution, rather than trying all possible search paths
A technique that will limit the minimax algorithm so that it only explores the game tree from the root node to a given depth
An optimization technique that compares the current maximum and minimum scores in the game and stops minimax from executing if the minimum score is lower than the maximum
The best (highest) maximum score
The best (lowest) minimum score
At a high level, recursion is when a function (or method) calls itself.
The base case is the simplest form of the recursive problem. The base case can be immediately solved without breaking the problem down any further.
The recursive case is the general form of the recursive problem. In this case the problem needs to be broken down by one step toward the base case, and the algorithm makes a recursive call to itself to solve this slightly smaller problem. This process repeats until the base case is reached.
Infinite recursion occurs when the base case can never be reached.
the ability of a digital computer or computer-controlled robot to perform tasks commonly associated with intelligent beings
The ability to perceive and interpret information, and to retain it as knowledge to be applied in the correct context
A test that determines how realistic, or humanlike a computer system really is. If a human is unable to tell if it is talking to a computer or a human, then the computer is said to have passed the Turing test.
AI that is built for a specific purpose and excels in its limited domain
a more human-like AI; versatile across various cognitive functions and tasks, having broader capabilities
An open-source and community-developed operating system.
An operating system that uses a graphical user interface designed by Apple Inc. for use on desktops and laptops.
An operating system that uses a graphical user interface designed by Microsoft for use on desktops and laptops.
A method of organizing files and retrieving them from storage.
Software that manages data and files along with the ability to create, modify, and move these files.
A type of interface that uses interactive graphical elements such as windows, buttons, and icons.
Updates that address and fix security vulnerabilities within a program or product.
A type of computer program that can spread by modifying other computer programs and inserting its own code (rules).
A copy or snapshot of the state of your computer.
Backs up everything on your computer.
Backs up only what has changed since the last backup.
A device that will be recognized by your computer and install on its own.
A group of files that allows a device to communicate with the computer’s operating system.
A short-range wireless communication technology that uses radio waves to transmit information.
Enables short-range communication between compatible devices.