`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.
An error in the sequence of words or rules in a program that prevents the program from running.
errors where the expected result does not match the actual result; these errors are due to mistakes in coding logic and will not be detected by the compiler
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.
The process of identifying, assessing and prioritizing potential risks for an organization or company.
Designed and used to assess computers, networks or applications for known weaknesses.
The practice of gathering, collecting, and logging some or all packets that pass through a computer network.
Traditionally the very first program you write when learning a programming language, a program that prints "Hello world" to the user.
JavaScript function that prints out a line to the user
Declaring a variable is defining it for the first time.
Initializing a variable is giving it an initial value.
A float, or floating point value, is a numeric value that can have decimal level precision (ex: 3.14)
A number in your code that appears arbitrary. These should all be replaced with calculations or constants.
A coordinate system uses numbers as coordinates to place objects in a geometric space.
JavaScript function that returns the width of the graphics canvas
JavaScript function that returns the height of the graphics canvas
The length between the center and edge of a circle
IDE Consists of a combination of tools used for software development.
Used to make logical associations between boolean values
Logical operator that ORs two boolean values. Written as `||`. `a || b` will be true if `a` or `b` is true.
Logical operator that ANDs two boolean values. Written as `&&`. `a && b` will be true if both `a` and `b` are true.
Logical operator that negates a single boolean value. Written as `!`. `!a` will be true if `a` is false, and false if `a` is true.
To flip a boolean value, or take the opposite of a boolean value. If you negate true, you get false. If you negate false, you get true.
Documentation for the syntax and objects in Javascript that we use on CodeHS.
Not actually random, but appears to be random
An edge case is a problem in your code that only occurs in extreme situations.
A variable used to count the number of times an action has been performed
A constant that has the specific purpose of being the value that breaks out of a loop.
A loop, most often set with while(true), that has a break in the loop body.
The `break;` statement breaks out of the current loop, without executing any more code in the loop.
A loop that has no way of stopping, and will keep looping forever.
Don't repeat yourself: try to simplify your code and avoid repeating code unnecessarily.
The value returned from a function when the function is called.
A variable that can be used throughout a program, in every scope
A variable that is restricted to use in a certain scope of a program
Showing several still images one after another very quickly, to give the illusion of animated movement.
A function passed as a parameter to another function in order to be called later.
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.
Also called an array. A data structure that holds a collection of values in a particular order
Also called a list. A data structure that holds a collection of values in a particular order
Also called a dictionary or map. Lets us store pairs of keys that are matched with a specific value.
Repetition of instructions a specified number of times, or until a condition is met.
A data structure that stores values in no particular order. Each value can only appear once in the set.
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
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.
Science that harnesses the power of many individuals to solve hard, complex problems.
Information (numbers, words, measurements, observations, etc) that is in a computer-readable form.
A group of two or more computer systems linked together.
Able to send bits from router to router across long distances, but they are very expensive.
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.
A protocol that defines the structure of an Internet address and assigns a unique address to every device on the Internet.
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).
Defines how we represent numbers. Which digits we can use, and what each position (place ) in a number means.
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.
Number system that has 16 digits 1 - 9 and A - F.
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 binary number system is the Base 2 Number System. It is a number system that only uses 2 digits (0 and 1).
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.
The RGB encoding scheme allows us to encode colors such as numeric data. It defines the amount of Red, Green, and Blue light in a pixel.
An image can be represented as a grid of values. Each value encodes the color at that position in the image.
Defines how we represent numbers. Which digits we can use, and what each position (place ) in a number means.
Number system that has 16 digits 1 - 9 and A - F.
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 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 circuit board with ports and sockets used to connect the main devices of a computer.
A special kind of firmware that runs programs strictly to start up your computer.
The core component of a device that accepts and executes instructions.
A fast type of computer memory which temporarily stores all the information your device needs right away.
A fast access storage device used in computers.
A component designed to speed up the creation of images and output them to a display device, like a monitor.
A component with a built in wired network port that allows the computer to connect to a network.
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.
An electronic device which is required for communication between devices.
An internal component of a computer that is used for communicating over a network.
A network device that allows a device to connect to the Internet.
Enables wired connections between more than one computer or device.
A network device that allows other Wi-Fi devices to connect to a wired network.
An access point that allows for network management and security configuration.
The primary software that runs applications and manages all the hardware, memory and other software on a computer.
A set of computer instructions that tells the computer how to work.
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.
Operating systems that are most commonly used to run multiple operating systems on a computer system at the same time.
An operating system such as Windows, Mac OS, Android or iOS.
Software that only works on one platform, such as only on Android phones, or only on Mac computers.
Software that works on multiple platforms.
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.
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.