Computer Science
AP Computer Science Principles
Big Idea 3: Algorithms and Programming
undecidable problem
decidable problem
Heuristic approach
Efficiency
efficiency of algorithms
optimization problem
decision
instance
Simulations
random
api
input
outpu
display
Built-in Procedures
return statement
Procedural abstraction
Parameters
Procedures
Binary searches
Linear searches
Searching
Traversing
REMOVE
University/Undergrad
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.