Unit 3 Sections 1-2
- Variables: abstractions within programs which represent a value
- Lists: made up of elements organized in a specific order
- Element: unique, individual value in a list
Unit 3 Sections 3-4
- Index: number representing a position, like a character's position in a string or a string's position in a list.
- Concatenation: series of interconnected things
- Substring: subset of a bigger string
- Pseudocode: writing out a program in plain language with keywords that are used to refer to common coding concepts
Unit 3 Sections 5 and 7
- Boolean Operators: produces booleans after it is used between two values
- Relational Operators: can work between any two values of the same type known as operands, provided that the type supports such types of operators
- Logical Operators: operators that works on operand(s) to produce a single boolean result. Examples include and, or, not.
- ALgorithm: A set of instructions that accomplish a task
- Selection: The process that determines which parts of an algoritm is being executed based on a condition that is true or false
- Nested Conditionals: consist of conditional statements within conditional statements
Unit 3 Sections 8 and 10
- Lists: collections of data
li>
Indexes: Most code languages count starting with zero, and this is also the case for list indexes
Repetition: repetition of a function. Allowing a function to repeat on its own based on various conditions can vastly optimize a program
Unit 3 Sections 12 and 13
- Parameters: input values of a procedure
Procedure: named group of programming instructions that may have parameters and return values.
Arguments: specify the values of the parameters when a procedure is called
Modularity: Separating a program's functions into independent pieces or blocks, each containing all the parts needed to execute a single aspect of the functionality
Procedural Abstraction: process that allows a procedure to be used only knowing WHAT it does, not HOW it does it
Unit 3 Sections 9 and 11
- Binary Search: efficient way to iterate through a SORTED list to find a requested value
Searching Algorithms: could be done in either intervals or sequences, and certain algorithms could be more efficient than others, with benefits and drawbacks to each
Algorithms: can be written in different ways and still accomplish the same tasks
Unit 3 Sections 14 and 15
- Packages: allow a python user to import methods from a library
Random Values: number generated using a large set of numbers and a mathematical algorithm which gives equal probability to all number occuring
Unit 3 Section 16
- Simulations: abstractions that mimic more complex objects or phenomena from the real world
Unit 3 Sections 17 and 18
- Problem: a general description of a task that can or cannot be solved algorithmically
Decision Problem: A problem with a yes or no answer
Organization Problem: a problem with a goal of finding the best answer
Instance: a problem with a specific input2
Efficiency: amount of computing needed to solve a problem
Polynomial Efficiency (Good): more work takes a proportional amount of time (1 job is +2 time)
Exponential Efficiency (Bad): more work takes an exponential amount more time (1 job is 2x time)
Heuristic Approach: When optimal solutions are inefficient, look for a possibly optimal solution that is more efficient
Decidable Problem: A decision problem that has a clear solution that will always make a correct output
Undecidable Problem: A decision problem with no solution that is not gaurenteed to produce the correct output