1/96
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Common models
allow pair programming
Logical error
a mistake in the algorithm that makes the program malfunction
will not stop the program from showing an error, but, your program won’t work as intended
Syntax error
an error where the rules of a programming language is not followed
the program will not run
Run-time error
an error that occurs during the execution of a program
the program doesn't fully run
program will terminate at the point of error
Overflow error
an error that occurs when the data exceeds the maximum storage of the container
the program runs but won’t work as intended
Round-off errors
an error that occurs when an exact number cannot be represented due to limited storage
the program runs but won’t work as intended
Binary digit
a bit
Bit
the smallest unit of data in computing
represent all digital data
Byte
group of 8 bits
instructions for the computer
Analog data
data stored in physical ways (real life data)
e.g.: camera, cuckoo clock
Abstraction
reducing complexity so it's easier to understand
simplifying things that do the same thing
e.g.: procedures, variables
Sampling
measure the values of the analog signal at regular intervals
to store analog data in digital form
Lossless data compression
reduce the number of bits stored/sent while keeping all the original data & quality
when preserving data quality is most important
Lossy data compression
reduce the number of bits significantly, but only allows an approximation of the original data to be reconstructed
when minimizing data size or transmission time is most important
Information
collection of facts & patterns extracted from data
Metadata
data about data
the source, destination, file size, data of creation, & any other information about the piece of data
Cleaning data
the process of making data uniform without changing their meaning
e.g.: removing uppercase letters in all variable names
Programs
can be used to process data to acquire Information
Variable
a symbol that represents a value, it's a placeholder for a number or quantity that can be manipulated in equations, calculations, or programs
Boolean
a data type that can only hold 2 values: true or false
yes/no question
if statement
Lists
stores multiple related items under a single variable name
List element
an individual value in a list that is assigned an index
List index
each item in a collection has a number associated with it
College Board starts with index 1
Algorithm
sequence of steps
a combination of sequencing, selection, iteration
Sequencing
the order in which instructions are executed in a program
Selection
conditional statements (e.g. if, elif, else)
Iteration
loops (e.g. while, for)
Strings
a sequence of characters or text
String concatenation
joins together two or more strings to make a new string
Substring
a string of characters that exists inside a string
e.g. the first three characters of a password
Nested Conditionals
an if statement placed within another if statement or else block
Linear or Sequential search
each element in the list is examined (starting with the 1st element) until the desired number is found or the list ends
numbers don’t need to be in order
Binary search
a strategy to cut time by jumping data you don’t need
numbers must be in order
Procedure
a function
Parameters
the variables you're going to be using in the function
defines a system or sets conditions
def function (x, y)
Procedural abstraction
using functions to simplify programs
Modularity
you separate the code into modules to make it simpler
Software library
a subsection of premade code that can be used
APIs (application program interfaces)
explains how procedures in a library behave & can be used
Simulations
trying to mock a real-world abstraction or event for a specific purpose
Decision problem
a problem with a yes/no answer
Decidable problem
for every input you will get an output
Undecidable problem
there are some inputs that you won’t get an output for
Optimization problem
finding ways to do things in easier ways
Efficiency (CS special definition)
an estimation of the amount of computational resources used by an algorithm
is the algorithm efficient? does it run in a reasonable amount of time?
Heuristic
an approach that isn’t the best option but should be used so things don’t take an unseasonable amount of time
Computing device
what processes the data & can run a program
e.g. computers, tablets, servers, routers, sensors
Computing system
interaction of computers for a common purpose
Computer network
a group of interconnected computing devices able to send & receive data
Packet
a small amount of data sent over a computer network
each packet has metadata about the source (sender) & destination (receiver)
Packet switching
a message sent through the internet is broken down into packets
the packets don’t need to be sent in order
the receiving device will reassemble the packets into the original message
Path
a sequence that directly connects 2 computing devices (the sender & the receiver)
Data streams
the flow of data as packets
Router
a computing device used for routing
Routing
the process of finding a path from the sender to the receiver
no predetermined paths, the router decides the best path on the spot
Scalability
the capacity for a system to change in size & scale to meet new demands
the Internet is scalable
Bandwidth
the max amount of data that can be sent in a set amount of time (bits per second)
Protocol
rules that specify the behavior of a system
e.g. IP, TCP, UDP
the protocols used on the internet are open, this means data transmission between different devices are standardized
The Internet
a computing network made up of interconnected networks that uses standardized & open protocols
a computing device can gain access to the internet by connecting to a device already connected it
World Wide Web (WWW)
a system of linked pages, programs & files; you need to enter the internet to use it
HTTP
a protocol used by the WWW to transfer data between a browser & server
Fault tolerance
a system can support failures & still continue to function
Redundancy
inclusion of extra components to mitigate failure if other components fail
network redundancy: more than 1 path between 2 devices
related to fault tolerance
Computational model
types of programs
e.g. Sequential Computing, Parallel Computing, Distributed Computing
Sequential computing
runs everything in order, one at a time
e.g. Task A: 50 ms -> Task B: 60 ms
B is performed after A is finished
total time: 110 ms
Parallel computing
when the program is divided & runs 2 programs at the same time
can increase efficiency
depends on the slowest program
e.g. Task A: 50 ms, Task B: 60 ms
A & B are performed at the same time
total time: 60 ms
Distributed computing
parts of the program are run on different computers
used if one computer can’t handle the program (too slow/not enough storage)
Digital divide
differing access to computing devices & the internet
based on socioeconomic, geographic, and demographic characteristics
Computing bias
can reflect existing human biases because biases are written into algorithms or biases in the data used by the innovation
Citizen science
public involvement in scientific research, data collection, analysis, & interpretation
Crowdsourcing
gathering data from the general public
e.g. survey
Intellectual property
work or invention that is the result of creativity to which one has rights
Creative Commons
provides free licenses that you can use to tell others what they can/can’t do with your intellectual property
Open source
source code is open, refers to programs people can redistribute & edit
Open access
online research output free of restrictions on access & use
no copyright or license restrictions
PII (Personally Identifiable Information)
any/all personal information
e.g. social security number, age, race, phone number, etc.
Authentication measures
protect devices & information from unauthorized access
e.g. strong passwords
Multifactor authentication
requiring at least 2 steps to unlock any protected information
Encryption
the process of encoding data to prevent unauthorized access
Symmetric encryption
1 key is used to both encrypt & decrypt data
both the sender & recipient need to have this key to secure and access the data
Asymmetric encryption
uses 2 keys, the public for encrypting, & private for decrypting
sender doesn’t need receiver’s private key to encrypt
receiver's private key is required to decrypt
Decryption
the process of decoding data
Digital certificates
validate the ownership of encryption keys used in secure communications
based on a trust model
Computer virus
a type of malware that can infect & replicate itself within a computer system
Malware
malicious software developed by hackers
to steal data & damage/destroy computers/computer systems
Phishing
tricking people into giving personal information
Keylogging
a type of malware that records the keystrokesa user types on a keyboard
used to steal sensitive information (passwords, credit card details)
Rogue access point
a wireless network that can give unauthorized access to secure networks
Relational operators
== | < | <= | > | >=
Logic operators
AND, OR, NOT
Conditional statements
if statement
Algorithm
sequence of steps
Iteration
loops (e.g. while, for)
Data abstraction
simplifying data into variables & lists
List traversal
the process of accessing each item in a list, one after the other
Procedural abstraction
simplifying code by putting it into functions
Procedure
function