# AP Computer Science Principles Unit 1

Mihir Ranjan (lvl 10)
1.2

### Preview this deck

____________ is the process of reducing complexity by focusing on the main idea. By hiding details irrelevant to the question at hand and bringing together related and useful details, it reduces complexity and allows one to focus on the idea

Front

### 0.0

0 reviews

 5 0 4 0 3 0 2 0 1 0

Active users

5

All-time users

5

Favorites

0

Last updated

3 years ago

Date created

Sep 10, 2021

## Cards(43)

1.2

(1 card)

____________ is the process of reducing complexity by focusing on the main idea. By hiding details irrelevant to the question at hand and bringing together related and useful details, it reduces complexity and allows one to focus on the idea

Front

Abstraction

Back

1.3

(5 cards)

_____________ determines which parts of an algorithm are executed based on a condition being true or false. It uses _____________ _____________ (if-statements) affect the sequential flow of control by executing different statements based on the value of a Boolean expression

Front

Selection, conditional-statements

Back

___________ is the application of each step of an algorithm in the order in which the code statements are given

Front

Sequencing

Back

All algorithms are characterized by the basic elements of ___________, ___________, & ___________

Front

sequencing, selection, and iteration

Back

____________ are a finite set of instructions that accomplish a specific task & is a step by step process.  They need a format, imperative statements, and descriptive qualifiers

Front

Algorithms

Back

_________ is the repeating portion of an algorithm & will repeat for a specified number or until given condition is met. This can be either through _________ loops where it  explicitly states number of times loop will be executed using “repeat N times” or _________ loops which the number of times that loop will execute is not specified, using “repeat until”

Front

Iteration, definite, indefinite

Back

1.4

(4 cards)

The __________ __________ method  is known as a substitute method because it substitutes each letter of the original, unencrypted message, the cipher text. It works by aligning two alphabets against one another and offsetting them by a number of positions. This can be broke through a brute force attack

Front

Caesar Cipher

Back

__________ is  the process of encoding data to prevent unauthorized access while __________ is the process of decoding the data

Front

Encryption, decryption

Back

What three things you need to know to decrypt a message

Front
1. Cipher-text message
2. Method of encryption
3. the number of positions by which the plaintext and cipher-text alphabets have been offset
Back

A ___________ ___________ is encryption that involves one key for both encryption and decryption. Using the key to encrypt the message into a cipher-text secures the message and protects it from prying eyes

Front

Symmetric Key

Back

1.5 & 1.6

(15 cards)

The __________ __________ took idea of a Caesar cipher and added a key  to make it more secure

Front

Vigenére cipher

Back

The _____________ phase is when  the algorithm is written with code in an appropriate high-level or low-level programming language

Front

prototype phase

Back

Using a __________ ___________, algorithms can be executed

Front

programming language

Back

__________ __________ __________ is trying all possibility of the key or shifts

Front

Brute Force Attack

Back

The development of process to making a program are ordered in ______________, ______________, ______________, and ______________

Front

Investigating/Reflecting, Designing, Prototype, Testing

Back

The _______ _______ consist of confidentiality, integrity, and availability

Front

CIA triad

Back

______________ programming uses  binary code underplaying  hardware,  more efficient for computers. They are unambiguous and easy for the computer to read, but hard for programmers.

Front

Low-level

Back

The _________ phase  incorporates investigations to determine the requirements of the program and should outline how to accomplish a given program specification

Front

design phase

Back

The __________ phase runs a small portion of the algorithm in the programming language and then test the code for correctness, efficiency and error catching, among other aspects as a flawed algorithm is a flawed program

Front

Testing phase

Back

_________ languages make lousy programming languages. An example would be English or French, but _________ languages are developed among whole societies and are much simpler and structured/explicit than natural languages.

Front

Natural, Artificial

Back

_______________ limits access to information, allows certain people to see it

Front

Confidentiality

Back

______________ programming languages are visual programming and textual programming  that are Relatively easy for humans to read, write, and parse, guaranteed to be unambiguous, less natural for humans, but still readable to the trained eye and easy for machines to parse.

Front

High-level

Back

___________ ensures that the information is correct

Front

Integrity

Back

___________ is the reliability of the information

Front

availability

Back

The   ________________ phase turns an idea into reality, analyze the problem. Ask questions, collect information, gather data, look for existing solutions, and think through the situation thoroughly before a solution.

Front

investigating/reflecting phase

Back

1.7

(1 card)

__________: It is a method used to express an algorithm in an informal language. It aims to mimic general style of programming language without worrying about the exact syntax or structure of the language

Front

Pseudocode

Back

1.8

(15 cards)

A __________ __________ algorithm starts in the middle of a sorted data set of numbers and eliminates half of the data; this process repeats until the desired value is found or all elements have been eliminated. In order to implement a this, data must be sorted in order. This uses logarithmic solution &  more efficient than linear search

Front

binary search

Back

An _________ of a problem is a specific task that needs to be solved with specific input

Front

instance

Back

_________: As the size of the problem grows, the amount of extra work required increases much more quickly

Front

Linear & Quadratic

Back

A _________ is a general description of a task that can be solved algorithmically

Front

problem

Back

A _________ problem is one which no  algorithm  can be constructed that always leads to a yes or no answer

Front

undecided

Back

__________: No matter how much a problem grows, the amount of work stays more or less the same

Front

Constant

Back

How do we know which algorithm is bettter

Front

Scalability and Efficiency

Back

A liner/_________  search algorithms checks each element of a list, in order, until the desired value is found or all elements inn the list have been checked(may need to be checked by a million items)

Front

sequential

Back

_____________: Every doubling of the size of a problem only requires one extra unit of work

Front

Logarithmic

Back

An _________ problem is a problem with the goal of finding the best solution among many

Front

optimization

Back

The __________  __________ proved that you cannot write a program that tell you which computation programs will halt and which one will continue forever

Front

Hating Problem

Back

__________ is the estimation of the amount of  computational resources used by an algorithm expressed as a function of the size of the input. Algorithms efficiency is determined through formal or mathematical reasoning

Front

Efficiency

Back

_______ law allows us to predict the future through observations of trends

Front

Moore's

Back

What are four comparisons that are true about algorithms

Front
• Algorithms can be written in different ways and still accomplish the same task
• Algorithms that appear similar can yield different side effects or results
• Different algorithms can be developed or used to solve the same problem
• Different correct algorithms for the same problem can have different efficiencies’
Back

___________: The capacity for a system to change in size and scale to meet new demands. (If this algorithm is efficient on this data set, what about this data set?)

Front

Scalability

Back

1.9 & 1.10

(2 cards)

__________ __________ occurs when a computing innovation systematically discriminates against certain individuals or groups and creates unfair outcomes for some and favorable outcomes for others.

Front

Algorithmic Bias

Back

__________ is an approach to a problem that produce a solution that is not guaranteed to be optimal and is not produced at a reasonable time, but may be used when techniques that are guaranteed to always find an optimal solution are impractical.

Front

Heuristic

Back