Study Guide for Exam 1
This is just a list of topics to help guide your studying. The list is NOT in order of importance nor should it be considered a complete list of all topics you should know.
Computational thinking and modeling
- Understanding and articulating the problem
- Identifying inputs and their types
- Specifying outputs and their relations to inputs
- Designing algorithm
- Problem decomposition
- Breaking problem into smaller pieces -- benefits?
- Implementing algorithm
- Representing mathematical models as functions – why?
- Progressively decomposing into smaller and smaller functions --
why?
- Representing processes as conditionals and loops – why?
- Representing data - techniques? (Numbers, strings, characters,
lists, booleans, etc)
Kinds of data:
- Numbers
- Integer
- Floating point
- Booleans
- Strings
- Lists
Math operations:
- pow() and abs()
- exponentiation
- float()
List operations:
- Indexing
- Syntax
- Index range
- Negative indices
- Slicing
- Bounded on one end only
- Bounded on both ends
- Length of a list
- Lists of lists
- Appending to and inserting into a list
- Strings as lists of characters
- Using range() to generate indices
Functions:
- define a function
- return from a function, with and without a return value
- return single or multiple values
- input parameters
- local variables
- documentation strings/documentation
Loops:
- for-loop syntax
- looping through elements of a list or string
- using range() in a loop
- breaking from a loop
- returning from a loop
Conditionals:
if-elif-else
statements
- Boolean comparison operations
Misc:
- importing python files (“modules”)
- proper indentation
- global variables vs. local variables
Comp130:
- Lists vs tuples
- First vs. second order Taylor expansion (general features and
importance, not exact formulas)
- Expression of a process in terms of recurrence relations
- Relationship between recurrence and induction