-
Discrete Structures:
- Given the opportunity to input, store, and output a type of data, a
learner will pick the correct discrete structure (e.g., a number, set,
sequence, dictionary, or tree) and then:
- Implement it and integrate it into a correct, well-tested, and well-documented Python program consisting of between one hundred and five hundred lines of code.
- Use formal and precise mathematical language to correctly describe the representation, behavior, and limitations of the type of data.
- Given the formal definition of a discrete structure, a learner will correctly translate it into a Python program, bearing in mind the ways in which the working system may diverge from the formal definition due to, for instance, implementation concerns related to computational costs and storage overheads.
- Given the formal definition of a discrete structure and its implementation as a Python program, a learner will correctly describe its properties, demonstrate and verify those properties through testing, and explain how it is similar to and different from other discrete structures.
- Given the opportunity to input, store, and output a type of data, a
learner will pick the correct discrete structure (e.g., a number, set,
sequence, dictionary, or tree) and then:
-
Mathematical Functions:
- Leveraging their understanding of higher-order functions, lambda functions,
and generating functions, a learner will, given a problem statement
involving one or more discrete structures, be able to:
- Translate the formal notation and equations used in the problem statement to an algorithm that describes, in a step-by-step fashion, how to solve the problem.
- Pick the most suitable type of function(s) for the problem, implement it in an industry-standard fashion, and then use testing to demonstrate its correctness and experimentation to evaluate its performance.
- Use formal statements to defend the validity of their design, implementation, and testing decisions made when solving the problem with the chosen function(s).
- Leveraging their understanding of higher-order functions, lambda functions,
and generating functions, a learner will, given a problem statement
involving one or more discrete structures, be able to:
-
Data Analysis:
- Given a set of textual, numerical, categorical, and/or binary data, the
learner will implement, use, and evaluate:
- An appropriate statistical technique, as a Python function, to summarize and analyze the data.
- An appropriate visualization technique, as a Python function, that can create graphs and diagrams that highlight the salient properties of the data set.
- An appropriate data transmission method, as a Python function, that can transform the data into any format required by any external tools.
- Given a set of textual, numerical, categorical, and/or binary data, the
learner will implement, use, and evaluate: