Programming
is a collaborative and creative process that brings ideas to life through the development of software.
Software development processes
used in the industry often require students to work together in teams.
computing innovation
uses a computer program to take in data, transform data and output data.
Collaboration
can occur in the planning, designing, or testing (debugging) part of the development process.
Collaborative learning
can occur peer-to-peer or in larger groups.
Syntax Error
A mistake in which the rules of the programming language are not followed.
Runtime Error
A mistake that occurs during the execution of a program that ceases the execution.
Logic Error
A mistake in the algorithm or program that causes it to behave incorrectly or unexpectedly.
Overflow Error
A mistake that occurs when a computer attempts to handle a number that is outside of the defined range of values.
Debugging
is the process of finding and fixing errors.
bit
is the smallest unit of information stored or manipulated on a computer; it consists of either zero or one.
Digital images
are a collection of pixels. where each pixel consists of binary numbers.
Color
is based on light.
Images
are not often just black and white.
analog signal
exists throughout a continuous interval of time and takes on a continuous range of values.
digital signal
is a sequence of discrete symbols.
Sampling
is recording an analog signal at regular discrete moments and converting them to a digital signal.
Data compression
is useful in computing to save disk space, or to reduce the bandwidth used when sending data (eg, over the Internet).
Compression
is also an important consideration when it comes to backing up and archiving your important files, particularly for uploading over the Internet.
Lossless algorithms
are those that can reconstruct the original message exactly from the compressed message, and lossy algorithms can only reconstruct an appsimation of the original message.
Lossless compression
packs data in such a way that the compressed package can be decompressed, and the data can be pulled out exactly the same as it went in.
Text compression
is another important area for lossless compression.
Lossy compression
is a technique that does not decompress digital data back to 100% of the original.
Images
high image compression loss can be observed in photos when enlarged
Music
there is a difference between an MP3 music and a high-resolution audio file
Video
moving frames of video can handle a greater loss of pixels compared to an image
Data extraction
is the process of obtaining data from a database or software such as a social media website so that it can transport it to another software (such as spreadsheets) designed to support online analytical processing.
graph
is a pictorial representation, a diagram used to represent data.
Graphs and charts
represent data in points, lines, bars, pie charts, and scatter plots.
Picture graphs
use pictures to represent values.
Bar graphs
use either vertical or horizontal bars to represent the values.
Line graphs
use lines to represent the values.
Scatter plots
represent the data with points, and then a best-fit line is drawn through some of the points.
Algorithm
is a set of steps to do a task.
Computer science algorithms
are the set of steps to solve a problem or complete a task.
Algorithms
are implemented with software.
Section of code
may work independently or can be used with other programming modules.
Variables
are placeholders for values a program needs to use.
Strings
are text fields that are just a series of characters and are denoted with quotation marks around the string field.
Expressions
are calculations to be evaluated to an answer or single value.
Boolean values
are one of the foundations of computer code.
Iterative statements
are also referred to as repetitive statements or loops.
Combining Algorithms
One of the key features of algorithms is that once they are created, you can use them over and over, combine them for more complex problem solving, or modify them for a new use.
Lists
are a collection of items, such as a grocery list or a playlist of music.
Index positions
are always integers and are enclosed within square brackets [index].
Length
The length of a list is the number of elements in the list.
Searching
deals with finding the needed element from everything in the dataset or determining that it is not there.
Linear Search
also called sequential searches, check each individual record, starting at the beginning and going to the end, one after the other in order to either find the desired data or to determine it is not in the dataset.
Binary Search
are far more efficient than linear searches.
Procedures
are also called functions in some programming languages.
Parameters
allow the calling program to send values to the procedure.
Procedural abstraction
You only need to know the name of the procedure, the number and type of parameters, and the output to expect.
Random number generator programs
are useful tools for writing software, mainly in designing games.
Procedures
have an optional feature called a return statement.
Built-in Procedures
Built-in procedures are prewritten and tested code that are included with the programming language.
DISPLAY()
is a built-in procedure used for this course on the exam.
INPUT()
It accepts data from the user, usually from the keyboard.
Simulations
Simulations are designed to represent and mirror the real world for testing.
Efficiency
can be determined by mathematically proving it and informally measured by actually running it on datasets of different sizes and measuring how long it took and the memory resources needed.
Heuristic approach
This is an approach that may not be optimal or the best but is close enough to use as a solution.
Internet
is a network of networks.
Routers
are computing devices along a path that send the information along to the next stop on the path.
Routing
is the process of finding a path from sender to receiver
Bandwidth
is a measure of the maximum amount of data that can be transferred through a channel or network connection.
Internet protocol (IP)
is responsible for addressing and routing your online requests.
Transmission control protocol (TCP)
is a protocol that defines how computers send packets of data to each other.
User datagram protocol (UDP)
is a protocol that allows computer applications to send messages without checking for missing packets to save on time needed to retransmit missing packets.
Scalability
is the ability for a system, network or process to handle a growing amount of work in an efficient manner.
Hardware failure
is when a hardware device, such as a computer or printer, stops working properly due to an issue with the physical components.
Operational failures
are any issues or breakdowns in the operation of a business, machine, system, process, etc.
Cyberattacks
are malicious attempts to damage or disrupt computer systems, networks, and data.
Natural disasters
could cause the hardware to be destroyed, bringing the network activity to a halt.
Solar Flare
is an intense radiation that is released from the sun.
Parallel computing
can consist of a parallel portion and a sequential portion.
Multiple processors
can operate independently but share the same memory resources.
Distributed computing
allows problems to be solved that could not be solved on a single computer because of either the processing time or storage needs involved.
World Wide Web
which was originally designed for scientists to share their research.
Targeted advertising
which can be helpful for businesses and consumers when looking for a specific item.
Social media
which has been used to stream events across the globe, sometimes helps to change history.
Machine learning and data mining
help find patterns and identify insights in data, leading to new innovations.
Online learning
is an education model that would not be possible without the tools of communication available via the Internet.
Programmers and businesses
try to identify potential negative uses, but it is seldom possible to think of all the ways other people could use an innovation.
Cloud computing
offers new ways for people to communicate, making collaboration easier and more efficient.
Technology
has had a major impact on the world, enabling innovation through the sharing of resources and computational artifacts.
Bias
which is intentional or unintentional prejudice for or against certain groups of people, shows up in computing innovations too.
Humans
write the algorithms, and our biases can make their way into the algorithms and the data used by innovations without us realizing it.
Artificial intelligence programs
are used more and more in ways such as screening applications of job candidates, determining if a person merits credit to purchase a house, and locating what areas have more crime.
Crowdsourcing
allows people to share information and ask the “crowd”— anyone who accesses the site—for feedback, to help solve problems, find employment, or for funding.
Peer-to-peer networks
exist that are used to illegally share files of all types.
Creative Commons
provides a way for creators of software, images, music, videos, and any computational artifact to share their creations with stipulations for sharing and permission from the author clearly indicated.
Digital data
is easy to find, copy, and paste, so ensuring you have written permission from the creator or owner is important.
Open source software
is software that is freely shared, updated, and supported by anyone who wants to do so.
Social media sites
as well as search engines publish what the most frequent searches and posts are about.
Analytics
identify trends for marketing purposes and help businesses determine what and where customers are searching for their products and their competitors’ products, how long an item sits in a virtual shopping cart, and when people buy.
Data mining
is a field of study that analyzes large datasets.
Machine learning
is a subset of data mining.
Digital footprints and fingerprints
are the trail of little pieces of data we leave behind as a sign of our presence as we go through our daily lives.
Cybersecurity
has a global impact because now anyone from anywhere can attempt to gain unauthorized entry to someone else’s computer, data, servers, or network.
Strong passwords
help block those trying to gain unauthorized access.
Multifactor authentication
is another layer that is increasingly used.