Module 11 Objective Mapping
Thomas J. Kennedy
1 Module Objectives
You will notice quite a few mappings of Module 11 objectives (row) to Course Objectives (column). NumPy provides a number of mechanics that provide more performant C-level implementations of conditional blocks and loops.
# | Module Objective | 1 | 2 | 3 | 4 | 5 | 6.A | 6.B | 7.A | 7.B | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Create an empty (uninitialized) numpy.array . |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||||||
2 | Create a numpy.array initialized to all zeroes. |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||||||
3 | Create a numpy.array initialized to all ones. |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||||||
4 | Create a numpy.array of int s from a Python list. |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||||||
5 | Create a numpy.array of float s from a Python list. |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||||||
6 | Obtain the dimensions of a numpy.array using shape . |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||||||
7 | Write and rewrite code to make use of NumPy’s broadcast functionality in place of a loop. | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||||||
8 | Perform basic statistical analysis (e.g., mean, min, max, and standard deviation) using NumPy. | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||||||
9 | Explain the axis parameter. |
✓ | ✓ | ✓ | ✓ | |||||||||||||
10 | Summarize the performance (runtime and memory utilization) of NumPy in comparison the Python list s. |
✓ | ✓ | ✓ |
2 Lectures & Objectives
The following table shows lectures (rows) vs Module Level Objectives (columns).
Lecture | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
---|---|---|---|---|---|---|---|---|---|---|---|
Module 11 Objective Mapping | |||||||||||
Creating Arrays | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
Broadcasting | ✓ | ✓ | |||||||||
Statistics | ✓ | ✓ | ✓ | ||||||||
NumPy & Multi-Dimension Arrays | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
NumPy & Multi-Dimension Arrays - Refactoring | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
NumPy & Multi-Dimension Arrays - NumPy Magic | ✓ | ✓ | ✓ | ✓ | |||||||
Module 11 Summary |
3 Course Level Objectives
The course objectives are listed in section 2.4 of the syllabus and reproduced in this document for reference.
A student who successfully completes this course will be able to (in Python):
- Run a program consisting of a single file and containing a
main
function. - Run a program consisting of multiple modules and containing a
main
function. - Organize code into multiple modules.
- Write tests for a module.
- Apply the basics of test-driven development through PyTest and/or
unittest
. - Make use of the various loops (for and while)
- Compare the various loops (for and while)
- Choose the most appropriate loop (for or while) for a given problem
- Make use of the conditional blocks (i.e., if, if-else, and if-else-if-else).
- Compare the various conditional blocks (i.e., if, if-else, and if-else-if-else)
- Construct the appropriate conditional block (i.e., if, if-else, and if-else-if-else) for a given problem.
- Test and write functions.
- Design ADTs in accordance with the Class Checklist.
- Discuss when polymorphism is appropriate.
- Discuss when it is appropriate to utilize dataclasses, classes, and enums.
- Write code that utilizes dunder functions.
- Refactor code to follow best practices (e.g., PEP 8 and PEP 20).
- Apply code linting tools (e.g., pylint and black) to write idiomatic (Pythonic) code.
- Discuss the various NumPy
np.array
mechanics (e.g., broadcasting).