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