1/122
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Programming
Programming is a collaborative and creative process that brings ideas to life through the development of software.
Computing innovation
A computing innovation uses a computer program to take in data, transform data, and output data.
Pair programming
Pair programming is when two programmers develop software side-by-side at one computer on the same algorithm. 🙌
User interface
The inputs and outputs that allow a user to interact with a piece of software.
Meaningful names
It is important for your element to have meaningful names.
Camel case
Camel case is a naming convention where the first word is lowercase and subsequent words are capitalized (e.g., stopButton).
Input
Data that is sent to a computer for processing into a device.
Output
Data sent from a program to a device.
Program
A program is a collection of instructions that a computing device executes.
Code segment
A code segment is a smaller collection of statements that are part of a program.
Program event
A program event refers to an action or occurrence that takes place within a computer program, such as a button click, mouse movement, or keyboard input. It is used to trigger specific actions or behaviors in the program.
Event-driven program
A type of program that responds to events triggered by user actions, system events, or other sources.
Sequential program
A program where execution happens in order.
Iterative development process
A process where programmers develop working prototypes of their programs and go back through the stages of their development method.
Incremental development process
A process where programmers break the program they are working on into smaller pieces and make sure that each piece works before adding it to the whole.
Benefits of collaboration
Benefits of collaboration include the ability to exchange ideas and discuss different solutions to different problems, multiple perspectives allowing for improvements in software, addressing misunderstandings and clarifying misconceptions, development of thinking skills, increased student responsibility, and elimination of bias.
Program documentation
A description of how something in your program works. Benefits include being crucial for understanding how every part of the program works and fostering collaboration.
Library
A collection of functions that can be used in different programs, including how each function works, a complete list of parameters, and what (if anything) is returned. This is known as an Application Program Interface (API).
Syntax errors
A syntax error occurs when the spelling and/or punctuation rules of the programming language aren't followed. For example, forgetting to close a set of parentheses or spelling a variable wrong could cause your entire program to crash. A syntax error could also be failing to indent properly.
Logic errors
A mistake in a program's base logic that causes unexpected behavior.
Run-time errors
An error that occurs when the program is running. You'll be able to start your program if you have a run-time error, but something will go wrong when you're trying to use it.
Overflow errors
An error that occurs when a computer tries to handle a number that’s outside of its defined range of values.
Debugging
Debugging is the process of finding and fixing errors.
Data
A collection of facts.
Number base
The number of digits or digit combinations that a system uses to represent values.
Decimal system (base 10)
A system that only uses combinations of 0-9 to represent values (e.g., the number 5,729).
Binary system
A system that only uses combinations of 0 and 1.
Bit
The smallest unit of information stored or manipulated on a computer (short for "binary digit").
Byte
A unit of data consisting of 8 bits.
Analog data
Data that is measured continuously, changing smoothly (e.g., the volume of music or a runner's position). It can be represented digitally using sampling techniques.
Digital data
Data that is measured and stored in discrete values, capturing all necessary information.
Sampling
The process of recording an analog signal at regular discrete moments and converting it into digital signals (for storage on digital media).
Data abstraction
Filtering out specific details to focus on the information needed to process the data.
Data compression
A set of steps for packing data into a smaller space while allowing the original data to be reconstructed.
Run-length encoding
A compression method that replaces repeating data with a run representing the number and value of the repeated data.
Lossless data compression
A compression method that reduces file size without losing any original data (e.g., run-length encoding).
Lossy data compression
A compression method that sacrifices some data to achieve greater compression (e.g., reducing image resolution).
Correlation
A statistical relationship between two or more variables, ranging from -1 (perfect negative correlation) to 1 (perfect positive correlation). Correlation does not imply causation.
Outliers
Data points that significantly deviate from the overall pattern or trend.
Metadata
Data about data (e.g., file creation date, author). It does not affect the primary data itself but helps in organizing and finding data.
Data cleaning
The process of making data uniform by correcting inconsistencies, removing duplicates, or filling in missing values.
Data mining
The process of examining large data sets to find useful information, such as patterns or trends.
Challenges in data sets
Issues such as incomplete data, invalid data, the need for cleaning, and combining data sources.
Large data sets
Difficult to process using a single computer, often requiring parallel systems. Bias in data collection is not eliminated by simply gathering more data.
Variable
A placeholder in your program for a value, usually represented by letters or words.
Global variable
A variable that can be used anywhere in the program, defined outside of an event.
Local variable
A variable used only in the part of the code where it was created, deleted once the event is done (defined inside an event).
Data types
Different categories of data that a computer can represent (e.g., integers, strings, lists, booleans).
Integer
A whole number that can be positive or negative.
String
A sequence of characters, represented by quotation marks.
Substring
A part of an existing string.
List (Array)
An ordered sequence of elements.
Boolean
A data type that can only represent two values
NOT operator
Reverses a condition’s evaluation (true becomes false, and vice versa).
AND operator
Combines two conditions—only evaluates to true if both conditions are met.
OR operator
Combines two conditions—evaluates to true if at least one condition is met.
Nested conditionals
Conditional statements inside other conditional statements.
Element
An individual value in a list, assigned an index value.
Data abstraction
Simplifies a set of data by representing it in a general way, focusing on essential details.
Linear (sequential) search
A basic search algorithm that checks each list value in order until the target is found.
Binary search
A search algorithm that starts in the middle of a sorted list, eliminates half the data, and repeats until the value is found.
Procedure (Method/Function)
A group of reusable programming instructions.
Parameter
An input variable for a procedure.
Decision problem
A problem with a yes or no answer.
Optimization problem
A problem seeking the best solution (e.g., finding the shortest path between two cities).
Algorithm efficiency
An estimate of computational resources (power, memory, time) an algorithm uses.
Heuristic
An approximate solution used when a problem can’t be solved efficiently with exact methods.
Decidable problem
A decision problem where an algorithm can always provide a correct yes/no answer.
Undecidable problem
A problem with no algorithm that can solve all cases correctly (solvable in some cases but not universally).""
Internet
A computer network consisting of interconnected networks that use standardized, open (nonproprietary) communication protocols, allowing any computing device to join as long as they follow the rules (protocols).
Computing device
A physical machine that can run a program and connect with other devices to form a computing system.
Computing network
A group of computing devices that can share data with each other.
Computing system
A group of computing devices and programs working together for a common purpose.
Packets
Small chunks of data that contain a section of the information being sent, along with a header containing metadata about its origin, destination, and reassembly instructions.
Router
A computing device that forwards data packets along paths between networks.
Routing
The process of finding the best path for data packets to travel across a network.
Bandwidth
The maximum rate of data transfer across a network connection, measured in bits per second.
Latency
The time delay before a transfer of data begins following an instruction, measured in bits per second or megabits per second.
TCP/IP (Transmission Control Protocol/Internet Protocol)
A protocol suite where TCP governs packet creation and reassembly while IP handles addressing and routing, ensuring reliable, ordered, and error-checked delivery of data packets.
IP address
A unique numerical label assigned to each device on a network for identification and communication.
UDP (User Datagram Protocol)
A faster but less reliable protocol that transmits data without error checking or guaranteed delivery/order of packets.
World Wide Web
A system of interconnected web pages, programs, and files accessible via the internet.
HTTP (Hypertext Transfer Protocol)
The protocol governing how web page data is transmitted between browsers and servers.
Scalability
A system's ability to handle growing amounts of work by adding resources.
Fault tolerance
A system's ability to continue functioning properly even when some components fail.
Redundancy
The inclusion of extra components that can take over if primary components fail, increasing fault tolerance.
Parallel computing
Breaking a program into smaller operations that are processed simultaneously by multiple processors to save time and improve scalability.
Sequential computing
The traditional method of executing program instructions one after another in order.
Distributed computing
Using multiple networked devices to solve problems that would be too large for a single system.
Speedup
A measure of how much faster one algorithm or solution performs compared to another when solving the same problem.
Speed limits
Constraints on performance improvements in computing, where not all steps may be independent (must be specified in the problem).
Digital divide
The gap between people who have access to modern information technology and those who don't, which can harm individuals due to technology's increasing importance in society.
Computing bias
When technology reinforces existing human biases, leading to continued inequality in systems and decision-making.
Targeted advertising
Advertising designed to help businesses profit, but which encourages collection of private information and could potentially be misused.
Machine learning and data mining
While beneficial to many fields, these technologies can inherit biases that may unintentionally cause discrimination in their outcomes.
Citizen science
Scientific research conducted with help from the general public, where ordinary people contribute data using computing devices.
Crowdsourcing
The practice of gathering large amounts of input or information from people on the internet (citizen science is one form of this).
Intellectual Property
Legal rights protecting creations of the mind like inventions, artistic works, designs, and commercial images.
Public Domain
Creative works that are free for anyone to use without needing permission.
Copyright
The legal right creators have over their original works.