Documentation for all Karel Commands and Syntax.
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.
`lowerCamelCase` is a naming convention where the first letter is lower case, and each subsequent start of a word is upper case.
Programs that "Read like a story" have good decomposition and make the code easy to follow.
Top down design is a method for breaking our program down into smaller parts.
Assumptions we make about what must be true before the function is called.
Managing complexity by "abstracting away" information and detail, in order to focus on the relevant concepts.
The ability to use methods and programs that we do not fully understand, or are unable to write.
SuperKarel is like Karel but already knows how to turnRight() and turnAround()
APIs and libraries simplify complex programming tasks by providing sets of clearly defined methods of communication among various computing components.
Written instructions detailing the functions, methods, and variables available and how to use them.
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 control structure lets us change the flow of the code.
An algorithm is a set of steps or rules to follow to solve a particular problem.
Sequencing, or sequential execution, is step by step execution of instructions in the order they are given.
Repetition of instructions a specified number of times, or until a condition is met.
Using a condition to determine which part of an algorithm is executed.
Indentation is the visual structure of how your code is laid out. It uses tabs to organize code into a hierarchy.
Ultra Karel is the same as Super Karel, except Ultra Karel has the ability to paint the grid world!
A set of steps that uses the structural conventions of programming but is intended for human reading.
Phrases entered into code to provide information or direction.
A diagram made up of shapes and arrows used to display the order of steps in a program or process.
A programming language is any set of rules that converts strings, or graphical program elements in the case of visual programming languages, to various kinds of machine code output.
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.
Assigning to a variable is updating the variable's value
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 person or device that makes calculations, stores data, and executes instructions according to a program.
JavaScript function that returns the width of the graphics canvas
JavaScript function that returns the height of the graphics canvas
The study of computational thinking, the thinking humans need to in order to describe a step by step process to a computer.
A general term in programming that refers to the flow of information into and out of a program
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.
A for loop lets us repeat code a **fixed number of times**.
Not actually random, but appears to be random
A loop that has no way of stopping, and will keep looping forever.
A constant that has the specific purpose of being the value that breaks out of a loop.
The `break;` statement breaks out of the current loop, without executing any more code in the loop.
A loop, most often set with `while(true)`, that has a `break` statement in the loop body.
Also called a list. A data structure that holds a collection of values in a particular order
The position of an element in an array. The first element is at index 0, the second element is at index 1, and so on.
Getting a value at a particular index in an array.
The number of elements an array can hold. You can get the length of an array `arr` by typing `arr.length`
Returns the length of the array
Traversing an array is the process to loop through an array and access each of the elements. Caution must be taken to avoid looping beyond the valid index values.
Looping through an array is the process to loop through an array and access each of the elements. Caution must be taken to avoid looping beyond the valid index values.
Looping through all of the elements of an array
Array values are stored at a particular index and we access elements in the array by referencing this index value. Index values in Arrays start a 0.
Accesses an element in the array to either update or retrieve.
The `splice()` method changes the contents of an array by removing or replacing existing elements and/or adding new elements.
This function removes an element from the given index position.
Also called an array. A data structure that holds a collection of values in a particular order
A particular way of organizing data in our programs.
A animated model that represents a real-life thing, process, or situation.
how company's use your data
protecting your data online
secure data transfer protocol when on the internet
Legal document outlining how a company can collect and use your data
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.
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.
Bit means "binary digit". A bit is a single digit in a binary number. A bit can either be 0 or 1.
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.
Throwing away some of the data to save space. We can throw away a lot of data without any noticeable difference from the original.
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.
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.
Design Thinking is an iterative process in which you seek to understand your users, challenge, assumptions, redefine problems and create innovative solutions which you can prototype and test.
A model designed to demonstrate the most basic functionality or basic design of a product, sometimes used as a proof of concept
A chance to get feedback on your solutions, refine them, and make them better.
Uses tags to format and define elements within a document. The tags are not shown when the document is displayed.
Text displayed on a computer that has links to other hypertext documents.
The structure of an HTML document
HTML provides several tags for formatting text on web pages.
HTML headings are titles or subtitles that you want to display on a webpage. HTML headings are defined with the `<h1>` to `<h6>` tags. `<h1>` defines the most important heading. `<h6>` defines the least important heading.
The `<p>` tag defines a paragraph. Browsers automatically add a single blank line before and after each `<p>` element.
The `<i>` tag defines a part of text in an alternate voice or mood. The content inside is typically displayed in italic.
The `<b>` tag specifies bold text without any extra importance.
This tag defines a thematic break in an HTML page (e.g. a shift of topic). The element is most often displayed as a horizontal rule that is used to separate content (or define a change) in an HTML page.
This tag inserts a line break.
Allows putting links on a web page. It uses the href attribute to specify what the link should point to.
The connection between one HTML page to another HTML page
Tags can have attributes that tell us more information about the tag.
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.
The <ol> tag defines an ordered list. An ordered list can be numerical or alphabetical.
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.
Used to translate domain names into IP addresses.
a set of data that describes and gives information about other data.
Documentation for the syntax and objects in Javascript that we use on CodeHS.
Showing several still images one after another very quickly, to give the illusion of animated movement.
A number in your code that appears arbitrary. These should all be replaced with calculations or constants.