AP Computer Science Principles Flashcards

Big Idea 1: Creative Development (13%)

  • Programming is collaborative and creative, bringing ideas to life through software development.
  • A computing innovation uses a computer program to:
    • Take in data.
    • Transform data.
    • Output data.
  • Collaboration can occur during planning, testing, or designing.
  • Benefits of collaboration:
    • Exchange ideas and discuss solutions.
    • Multiple perspectives lead to software improvements.
    • Addresses misunderstandings and clarifies misconceptions.
    • Develops thinking skills.
    • Increases student responsibility.
    • Eliminates bias.
  • Pair programming: Two programmers develop software side-by-side on the same algorithm at one computer.
  • User Interface: Inputs and outputs that allow user interaction with software.
  • Meaningful names are important for UI elements.
  • Camel case: A naming convention (e.g., stopButton).
  • Program Documentation: Important for understanding how the program works and fostering collaboration.
  • Input: Data sent to a computer for processing.
  • Output: Data sent from a program to a device.
  • Program: A collection of instructions that a computing device executes.
  • Code Segments: Smaller collections of statements within a program.
  • Program Event: An action or occurrence within a program (e.g., button click, mouse movement, keyboard input) that triggers specific actions.
  • Event-Driven Program: A program that responds to events.
  • Sequential Program: Instructions happen in order.
  • Development Processes:
    • Iterative: Programmers develop working prototypes and revisit development stages.
    • Incremental: Programmers break a program into smaller, working pieces.
  • Description of Program Functionality: Explains how something in the program works.
  • Library: A collection of functions used in different programs.
    • Includes how each function works.
    • A complete list of parameters.
    • What (if anything) is returned.
    • Known as Application Program Interface (API).
  • Errors:
    • Syntax Errors: Violations of the programming language's spelling or punctuation rules, can cause the program to crash. Forgetting to close parentheses or misspellings.
      • Example: a <— expression display (A)
      • Benefits: Crucial for understanding how every part of program works + fosters collaboration.
    • Logic Errors: Mistakes in a program's logic that cause unexpected behavior.
      • Example:
        a <— 95 IF (a > 90) DISPLAY("You got an A.") IF (a > 80) DISPLAY("You got a B.") IF (a > 70) DISPLAY("You got a C.")
        This program prints multiple grades because 95 is greater than 70, 80, and 90.
    • Run-Time Errors: Errors that occur while the program is running (e.g., division by zero).
      • Example: Display (5/0).
    • Overflow Errors: Occur when a number is outside the defined range of values.
      • Example: x <— 2000*365 Display (x)
  • Debugging: The process of finding and fixing errors.

Big Idea 2: Data (22%)

  • Data: A collection of facts.
  • Number Base: The number of digits or digit combos a system uses to represent values.
  • Decimal System (Base 10): Uses combinations of 0-9 to represent values (e.g., 5,729).
  • Binary System: Uses combinations of 0 and 1.
    • Represents numbers through combinations of powers of 2.
      • Example: The binary representation 101 can represents the number 5. (4 + 1).
  • Bits: Binary digits (0 or 1), the smallest unit of information.
  • Byte: 8 bits.
    • Has 256 unique combinations.
  • Analog Data: Data measured continuously that changes smoothly (e.g., volume of music, position of a runner).
  • Digital Data: Represented using discrete values (e.g., time on a digital clock).
  • Sampling: Recording an analog signal at regular discrete moments and converting them or digital signals (can be stored on digital media).
  • Data Abstraction: Filtering out specific details to focus on the information needed to process the data and simplifies data by representing it in a general way.
  • Digital data leaves out details to approximate real-world analog data.
    • Examples: True/False, On/Off, Black = 1 and White = 0, Color representation [255,255,255] or [1111111,1111111,111111] (3 bytes each).
  • Digital data must be formatted in a finite set of possible values while analog data can be finite.
    • Example: YouTube video length (digital) vs. live game (analog).
  • Calculations:
    • Largest Value: 2^n - 1, where n is the number of bits.
      • Example: Largest value with 7 bits: 2^7 - 1 = 127.
    • Largest Amount of Numerical Values: 2^n, where n is the number of bits.
      • Example: 8 bits: 2^8 = 256 (counting from 0-255).
  • Data Compression: Reduces file size.
    • File types like MP3, MP4, and JPG use data compression.

Lossless Data Compression

  • Data compression: set of steps of packing data into a smaller space while allowing for the original data to be seen. Two way process - make a data package smaller or decompress packet to original form

  • Useful in computing to save disk space or to reduce bandwidth

  • Deals with a string of bytes and compressing it down to a smaller set of bytes, taking less bandwidth

  • Condense large files by getting rid of data that isn’t needed while retaining the information in the file

  • Contain large amounts of redundancy to get a compact representation of the data

  • Two-step process:

    • Encoding algorithm: Compresses the data.
    • Decoding algorithm: Reconstructs the original data.
  • Depends on:

    • Redundancy.
    • Compression method.
  • Run Length Encoding: Replaces repeating data with a count and value.

    • Example: FFFFFIIIIIIVVVVVVVEEEE becomes 5F6I7V4E.
    • Allows reduction without sacrificing original data.
    • Used mainly for text.
    • Inverting pixel colors and brightness values.
    • Can reconstruct the original message exactly from the compressed message

Lossy Data Compression

*Correlation DOES NOT CAUSE: Correlations refer to the statistical relationship between two or more variables. It measures how closely these variables are related to each other, ranging from -1 (perfect negative correlation) to 1 (perfect positive correlation

  • Metadata is data about data; it DOES NOT affect the underlying data.

  • Changes and deletions made to metadata do not change the primary data

  • Packs data in such a way that the compressed package can be decompressed and the data can be pulled out the same way it was given.

  • Very important ^^ for programs that if a small change happens it can make it unusable.

  • Sacrifices some data for greater compression.

  • Conversion to grayscale, lower resolution.

  • Used mainly for images and sound.

  • High compression degrees result in smaller files.

  • Loss of noise/quantity.

  • Amount of compression ⬆️, size of resulting file ⬇️

  • Fewer bits does not necessarily mean less information
    The amount of size reduction from compression depends on both the amount of redundancy in the original data representation and the compression algorithm applied.

  • Extracting Information from Data:

    • Large data sets: big data.
  • Data Cleaning: Creates a uniform dataset.

  • Data Mining: Examining large datasets to find useful information, patterns.

  • Data Set Challenges:

    1. Need to clean data.
    2. Incomplete data.
    3. Invalid data.
    4. Need to combine data sources.
  • Large datasets are difficult to process using a single computer and may require parallel systems.

  • Bias in data collection is NOT eliminated by collecting more data.

  • Spreadsheets: Help organize and find trends.

  • Charts: combining or comparing data in some way, such as adding up a list of numbers, or finding the student who has the highest GPA.

Data Transformation Examples:

  • Modifying Every Element of a Data Set:

    • Arithmetic example: Multiplying each number by some constant value (Like if you wanted to convert a list of measurements from liters to millilitres.)
    • Non-arithmetic example: Adding a grade level or class rank to a list of student records.
  • Filtering a Data Set by Category

    • Besides time or value, data sets can also be filtered by quality, such as which extracurricular activities a group of students are in.
  • Combining or Comparing Data

    • Comparing the average SAT score of students going to all the colleges in one state and combining that data with average scores from other states.
  • Creating Data Visualization Tools

    • Graphs, charts, and word-bubbles
  • Bar-Chart

    • a chart or graph that presents categorical data with rectangular bars with heights or lengths proportional to the values that they represents
    • Use vertical or horizontal bars to represent the values.
  • Scatter Plots

    • uses dots to represent values for two different numeric variables
    • Use correlation to compare the relationship between two variables. (Pearson r)
    • Causation ≠ Correlation
    • Strong = 1 Weak = 0 Negative/Positive . Strong positive correlation
  • Line Graphs

    • Use lines to represent the values
  • Histogram/Bar Graph

    • Uses bars to represent values
    • Usually use frequency and ranges

Big Idea 3: Algorithms and Programming (35%)

  • Variable: A placeholder in your program for a value.

  • Global Variable:

    • create variables once
    • They should be on top of the code
    • They should be outside an on event and a function
    • Each variable can only hold one data value at a time. It can be reassigned.
    • can be used anywhere
    • Variable is used outside of an event
    • Example: varclicks = 0 Onevent (‘button’, ‘click’) clicks = clicks +1
  • NEVER USE LOCAL VARIABLES!! Grades were about 60-80.

  • Local Variable:

    • used only in part of the code it was created, deleted once onevent is done.
    • Variable is inside an event
    • Example: onEvent(‘button’, ‘click’) varclicks=1
    • Example: Animal = “cat” Animal = “dog” The variable Animal is now “dog”.
  • Boolean: Represents true or false.

    • Computers use this to make decisions inside conditionals (if then)
  • Data Types: different categories of data that your computer can represent.

    • Integers: Positive or negative (e.g., 5).

    • Strings: Represented by quotation marks (e.g., ‘We are passing AP CSP’).

    • Substring: Part of an existing string.

      • The + operator can concatenate strings or numbers.
        • Example: 'sun' + 'rise' = sunrise
      • /n: New line.
      • Slice (str, start, length): Returns substring of character from the string at the staring and what length.
        • Example: Slice(cat,1,2) : ca t
    • List: An ordered sequence of elements; also known as arrays.

      • Example: foodList = [“fish”, “chicken”, “beef”]
  • Conditionals: We execute the code segments if it’s true, if not then the else is executed!!

  • Operators:

    • NOT: Reverses the condition.

      • NOT true: false
      • NOT false: true
    • AND: Both conditions must be met.

      • True AND False: False
      • True AND True: True
      • False AND False: False
    • OR: At least one condition must be met.

      • True or False: True
      • True or True: True
      • False or False: False
  • Nested Conditionals: Conditionals inside conditionals.

    • Example: IF (age=40) { ticket = 20 } else { If (age = 20) ticket = 30 Else ticket = 25 }
      • If age is 30, first if is ignored, goes to else, and the ticket is 25.
  • Lists:

    • An element is an individual value in a list.
      Grocerylist = ["milk", "eggs", "cheese"] Change = "soap" Grocerylist[2] = change
      Print (grocery_list)
  • Lists can be used to create data abstraction.

  • Data abstraction simplifies a set of data by representing it in some general way.

  • Using a list can allow you to work easily with individual elements.

  • Accessing an element by index: This operation allows you to single out an element in a list based on its index number!

  • Assigning the value of an element of a list to a variable: This allows you to assign a variable to a certain element within a list. The code's output: ["milk", "eggs", "soap"]

  • Assigning a value to an element outright

  • grocerylist = ["milk", "eggs", "cheese"] grocerylist[0] = grocerylist[2] print (grocerylist)

  • Assigning the value of one element in the list to another : The code's output: ["cheese", "eggs", "cheese"]
    Insert elements at a given index

  • This allows you to insert a value into the index position you want. It will increase the length of the list and shift everything greater than or equal to that index down by one place. For example if you insert a new value to the index value 4, what was originally there will move to the index value 5.
    Appending or adding elements to the end of the list

  • This allows you to add values to the end of your list

  • New index is added

  • Removing: eliminates an element from the list

  • Removes element in given list an given index

  • All indexes shift!!
    Determine the length of a list through this

Looping through Lists

  • You can also use loops to transverse or go through a list.
  • This can be a complete or partial transversal.

Binary Search

  • Binary search algorithm starts in the middle of a sorted data set and eliminates half of the data based on what it’s looking for.
  • It repeats the process until the desired value is found.
  • THE LIST HAS TO BE IN ORDER
    Filter a List
  • Creating a subset of elements from the original list !!
  • An example is the linear search which checks each element of a list in order until the desired value is found or all elements in the list have been checked.
  • Most basic way to search through a list: called a linear or sequential search algorithm and it checks each value of a list in order until the result is found
  • Example: 1, 1, 2, 3, 3, 4, 5, 7, 9, 11, 12 Finding where 12 was. The middle is 4 BUT 12 is larger than 4 so disregard everything under that. 5, 7, 9, 11, 12 Value 9 now but it’s less than 12 so eliminates everything before and including that value
    PROCEDURES
  • 11, 12… The process would go on until the program either found 12 or went through all values in the list
  • Binary search is more efficient than linear search
  • A procedure is a group of programming instructions. They are also called methods or functions.
  • You can use a procedure to use the same set of instructions again and again without having to rewrite the code.
  • Procedures often require some sort of parameter in order to work.
  • Parameters are the input variables of a procedure.
  • YOU DON’T ALWAYS NEED TO USE PARAMETERS
  • When you call a procedure, your program acts like those lines of codes are written out.
  • Arguments are values passed into the procedure.
  • You can use the return statement which you can then use without printing it.
  • It is used in a function to specify the value that should be returned when the function is called. returns terminate the program.
    firstnumber = 7 secondnumber = 5
    sumvalue = firstnumber + secondnumber print (sumvalue)
    firstnumber = 8 secondnumber = 2
    sumvalue = firstnumber + second_number
    Procedural Abstraction
  • Procedures allow you to solve a large problem based on the solution to smaller subproblems.
  • Procedures can help you simplify your code and improve its readability.
  • Selection:(If else) Selection refers to the process of making a decision based on a condition or criteria. It allows the program to choose between different paths of execution.

The Algorithm

  • Sequencing, selection and iteration

    • Sequencing: consists of steps that go in order
  • Iteration: (Loop) Iteration refers to the repetition of a set of instructions until a specific condition is met.

  • It allows programs to perform tasks repeatedly without having to write repetitive code. They are also called loops.

  • The n times is how many times the loop will run

  • The second type of loop is a Repeat Until condition loop (for loop) where the loop will continue to run until a condition is met. We know how many times the loop will run.

  • While loops run while a condition is met and end when that condition is no longer true.

  • It checks the condition before executing the code block. We don’t know how many times the code will run.

  • 3 parts of a while loop
    Infinite loops are loops that continue to repeat indefinitely because the condition controlling the loop is always true or there is no condition at all.
    EXPRESSIONS

  • Algorithms are step-by-step instructions or procedures used to solve a problem or complete a task. They provide a clear set of instructions that can be followed to achieve a specific goal.

    1. var i = 0: initializes the counter variable i to 0
    2. Boolean expression: checks condition of variable
    3. Statement which increase/decreases the variable i++
  • A for loop
    for (var i = 0 ; i < 4, i ++)

  • MOD operator: modulo: a Mod b: a is divided by b and MOD gives you what the remainder would be. 27 mod 4: 3

  • PEMDAS EXISTS!! DO MATHEMATICAL EXPRESSIONS WITH PEMDAS
    Developing Algorithms
    Examples of Existing Algorithms:

  • Determining the max. or min. value in a group of two or more numbers

  • Solving math problems: calculating sums, averages, etc.

  • Determining a robot's path through a maze (route-finding algorithm)

  • Compressing data

  • Sorting a list
    Algorithmic Efficiency
    Generating Random Values
    Simulations

  • The process of creating a model or representation of a real world system or phenomenon on a computer.

  • Simulations are an example of abstraction!!

  • Used to represent real world events and conditions so you can investigate and draw conclusions about them without dealing with some of the complications of the real world

  • Used to predict and plan

  • Disadvantages: may include bias based on what the simulation creator chose to include or exclude. It can also be out of scale

  • A problem is a task that an algorithm is trying to solve while an instance of the problem is a problem with a specific input.

  • Decision problems: yes or no answer
    Optimization problem: wants the best answer! example: finding the shortest path between two cities

  • An algorithm’s efficiency is an estimate of how many computational resources (power, memory, time) it uses. Or in a nutshell how many times a statement or statement group Or much easier: how many steps it takes

  • When finding the max number of list elements find the closest 2 to the power of Like 200: 2 to the 8th is closer

  • Polynomial efficiency of lower are said to run in a reasonable amount of time Ex: n^2 , log base 2 of n

  • Exponential or factorial efficiency run in an unreasonable amount of time Ex: 2 to the n or n!

  • The number of checks a program needs to make is the largest number you can make with those bits

  • Some problems can’t be solved in a reasonable amount of time so they turn to an approximate solution which is known as heuristic.

  • The halting problem asks that if a computer is given a random program, can an algorithm ever be written that will answer the question, will this program ever stop running?, for all programs?

  • By proving that there wasn't, Turing demonstrated that some problems can't be completely solved with an algorithm

  • A decidable problem is a decision problem. If an algorithm can’t be written that’s always capable of providing a correct yes or no answer: this is an undecidable problem. Solvable in some cases but there is no algorithm that will solve the problem in all cases. Example: Halting problem created by Alan Turing

Big Idea 4: Computer Systems and Networks (15%)

  • Internet: A computer network consisting of interconnected networks that use standardized, open (NONPROPRIETARY) communication protocols
  • A computing network is a group of computing devices that can share data with each other.
  • A computing system: a group of computing devices and programs working together for a common purpose
  • When you send or receive data from the internet, you have to get data from one place or another but sometimes it’s too much data so…the data is broken up into packets.
  • Packets contain a section of the data you want to send and comes with a header that contains metadata (data about data) to tell the routers where the packet is from, where it’s going and how it should be reassembled.
  • Computing devices create these packets and send them out through paths.
  • Paths are sequences of connected computing devices known as ROUTERS.

Open Network Characteristics

  • Any computing device can join as long as they follow the rules (protocol).

  • They connect computer networks, which are systems of computing devices.

  • A computing device is a physical machine that can run a program.

  • Devices connect to form a computing system.

  • The process of finding a path to take is known as routing

  • Bandwidth: the rate of data transfer it allows from one device to another

  • Internet Protocol: Two major protocols:

    • The TCP governs how packets are created and reassembled while the IP moves packets to their destinations. It also dictates how devices are given addresses to communication with each other (IP ADDRESSES: unique numerical label assigned to each device)
    • reliable, ordered and error checked delivery of data packets
    • It MAY be received out of order but the computer double checks and makes sure to add instructions to reassemble it on the other side
  • Packets can arrive at their destination in order or out of order! :(

  • Or In simple words: the maximum amount of data a network connection can move in a certain amount of time

  • Latency: how late the bits arrive

  • It’s measured in bits per second of megabits per second!

  • In order for computing devices to communicate with each other over the internet, they all have to use the same protocol!

  • A protocol is a standard set of rules that everyone agrees on. They are OPEN or NONPROPRIETARY.

  • TCP/IP: Transmission Control Protocol/Internet Protocol:

Protocols

  • Some MAY not be delivered but the computer checks to be redelivered again

  • UDP: World Wide Web: a system of web pages, programs and files
    This is governed by the HTTP (hypertext transfer protocol) protocol which controls how web page data is transmitted (enables communication between web browsers)
    🌟 TCP, IP and UDP are used to transmit data over a variety of NETWORKS while HTTP is used to transmit data over THE WORLD WIDE WEB (pls don’t get it mixed up :))
    Scalability

  • The capacity for the system to change in size and scale to meet new demands
    Fault tolerance

  • It can function properly even in the event of one part failing 🔥

  • Two versions of IP:

    • IPv4: Ex: 74.125.20.113: split into 4 numbers all ranging 0-255 2^{32} possible values ⭐️
    • IPv6: Ex: 2001:0db8:0000:0042:8a2e…. These are hexadecimal numbers. 2^{128} possible values
  • Used Datagram Protocol: Offers a way to deliver a faster stream of information by eliminating error checking which TCP/IP does.

    • does not guarantee delivery or order of packets
  • The World Wide Web or www.
    One major aspect of a fault tolerant system is the presence of redundancy

  • The inclusion of extra components that can be used to mitigate failure of a system of other components fail

  • Reduces damage by some cyber attacks ( example: a Distributed Denial of Service Attack (DDoS)takes place when a server or network is overwhelmed with a flood of traffic, causing it to slow or even crash. In this situation, having a redundant server or network connection could allow you to go around the attack and continue to operate.)

  • Makes it easier for a system to expand
    Disadvantages of Fault Tolerance

  • requires more resources

  • Expensive in materials and maintenance to build new resources
    COMPUTING
    Parallel Computing

  • A program is broken into smaller sequential computing operations using multiple PROCESSORS
    Advantages

  • helps save a lot of time

  • Scales more effectively
    Benefits of Fault Tolerance

  • helps reduce hardware malfunctions (issues or failures with physical computer components) and cyber attacks (deliberate attempts by individuals to gain unauthorized access)

  • Increases reliability of a system

  • Keeps the system from shutting down
    Sequential computing

  • Traditional method of executing instructions in a sequential order
    Distributed computing

  • Multiple DEVICES are used to run a program : allows users to share information
    Advantages

  • allows people to solve problems that they wouldn’t be able to due to lack of storage or too much processing time
    Calculating EXECUTION TIME

  • The word problem we are using: For example if a program has three steps that take 40, 50 ,and 80 seconds then…
    I. Sequential: a sequential solution takes as long as the sum of all steps in the program. The sequential solution would take 170 seconds to complete.
    II. Parallel Computing:

  • Depends on the number of cores (individual processing unit) . The more cores the faster the solution.

  • You have to find the fastest two processors
    40 + 50: 90
    40 + 80: 120
    50 + 80: 130
    Or if there are a known 2 processors like 40, 50, 60 and 80 You would find the longest out of the first two and second two which is 50 and 80 then add them so it is 130.
    III. The speed up:

  • this is calculated by dividing the time it took to complete the task sequentially by the time it took to complete the task in parallel
    Speedup is the measure of how much faster one solution or algorithm performs compared to another solution or algorithm when solving the same problem.
    Speed limits:

  • Before you start a speed calculation problem, make sure you know whether or not all steps are independent. Don't just assume they all are. (The question should tell you if they are or not.)

  • It’s those khan academy questions that goes like ok the startup takes 5 seconds so you would add 5 seconds to the total.
    Beneficial effects of computing innovations

  • Machines have vastly improved the medical field

  • Engineers can collect data and design products

  • Communications have flourished

  • We can create, share and sell creative works
    Harmful effects of computing innovations

  • The Digital divide: people can be harmed due to unequal access to technology combined with the increasing importance of technology in the world

  • Computing bias: technology exacerbate currently existing human biases perpetuating inequality

  • Legal and ethical concerns: example being copyright law

Big Idea 5: Impact of Computing (26%)

Safe computing

  • Risks in dad to day computing use such as being infected with a virus 

  • Loss of privacy

  • Replacement of humans by computing innovations leading to unemployment

  • Dependence on technology 

  • Negative health outcomes
    Targeted advertising

  • Is intended to help businesses turn a profit, but it incentivizes the collection of private information and has the potential to be abused.
    The digital divide

  • Refers to the gaps between those who have access to technology and the internet and those who don’t.
    Factors that Influence the Digital Divide:

  • Demographics:

    • Younger people are more likely to be comfortable with the technology.
    • People with higher levels of education tend to use the internet more.
  • Socioeconomic

    • people with higher incomes are more likely to be able to purchase and maintain technology
  • Geographic

    • Some areas allow more internet access than another
      Harmful impacts of the digital divide
      Examples:
  • Educational opportunities

    • During the 2020 COVID pandemic many schools across the US shifted to virtual learning systems. Some students without stable internet connections suffered educationally.
  • Employment Opportunities

    • Those without internet access may be at a disadvantage in terms of finding and applying for jobs. They also may be hindered from being able to do their jobs or access resources.
      Reducing the Digital Divide
  • Organizations can release educational resources to teach people how to navigate the internet. They can release digital literacy programs: programs that teach people how to use the internet.

  • Local and national governments can fund businesses that provide internet access to areas that don’t have access.
    COMPUTING BIAS

  • Biases are tendencies or inclinations, especially those that are unfair or prejudicial.

  • Examples of bias:

    • Criminal risk assessment tools are used to determine that a defendant will commit another crime . The algorithms are trained to pick out patterns and make decisions based on historical data.
    • Facial recognition systems are trained on data sets that contain fewer images of women and minorities.
    • Recruiting algorithms can be biased against certain races of gender.
  • What can we do to prevent bias in computing?

    • Use diverse data sets
    • Review algorithms for potential biases
    • Increase diversity in the tech industry
  • Machine learning models are computer programs that can learn from data and make predictions or decisions without being programmed.
    CROWDSOURCING
    Citizen science

  • Scientific research that the general population helps to conduct. Ordinary citizens help contribute data to research projects using computing devices.

  • Example: counting birds they see at local feeders or smth 🦆

    • Citizen science gives a wide range of people the ability to contribute to scientific studies and provide more diverse data for scientists.
      Crowdsourcing
  • Is the practice of getting a large amount of input or information from people on the internet.

  • Citizen science IS A FORM OF CROWDSOURCING!!

  • Organizations do not need to pay for the information they get.
    LEGAL AND ETHICAL CONCERNS‼️
    Intellectual Property

  • Is the creations of the mind such as inventions, literary and artistic works, designs and images used in commerce

  • It’s very easy to access and distribute intellectual property found on the internet but one of the ways to protect it is through copyright
    Public Domain-these are creative works that are free to use without permission
    Copyright

  • Is the legal right that the creator of a work has to it.
    Two types of copyright:

  • Economic rights: rights to financial benefits from the use of work

  • Moral rights: the right to claim authorship or the right to prevent harmful changes

  • If you claimed the said content was your own you are guilty of PLAGIARISM!!
    Plagiarism is when you take the content of someone else and claim it as your own. Ex: AP SEMINAR TURNITIN.COM coming in clutch with my 26 percent AI 󰷹
    Legal ways to use the IP of others
    Creative Commons

  • Is a public copyright license that creators use when they want to GIVE others the right to use their work.
    Fair Use

  • Allows the use of copyrighted material without permission for limited purposes such as new reporting.
    INTRODUCING THE ACRONYM PANE! (Just how ap CSP gives me pain) 😩

  • Purpose: new purpose to make it original

  • Amount: small amount of work

  • Nature: use works based in effects

  • Effect: don’t make money off of someone’s work

  • Open sourcing: allows for work to be freely distributed, and modified.

  • Open access refers to research available to the general public free of restrictions like academic journals. They are often free of copyright.
    SAFE COMPUTING

  • Search engines can track your search history and use it to suggest websites and ads which is known as TARGETED MARKETING.

  • Devices, websites and networks can collect information about a user’s location like their IP address.
    Personally Identifiable Information

  • This is the information that can be used to identify you It includes: age, race, phone number, medical info, biometric data, social security number
    Benefits and Harms of Information Collection
    Benefits:

  • helps enhance your experience online

  • The Tik tok for you page rely on collection of personal information
    Harms:

  • your identity could be stolen

  • You could be stalked!