Proficiency in Python fundamentals is crucial to learning comprehensive data analysis and visualization through the Python+Data curriculum using specialized data-science modules like numpy, pandas, or matplotlib.
A solid grasp of Python syntax (expressions, statements) and data structures (lists, dictionaries, files) is necessary for effective data manipulation and analysis using arrays in numpy and DataFrames in pandas.
Understanding control flow statements (conditionals, loops, comprehensions) is necessary for efficient data processing using numpy, pandas, and matplotlib.
Familiarity with functions and modules is necessary for organizing code and effectively using any data-science modules.
It is advisable that students complete a Python introduction — either as a prerequisite course or the first half of the Python+Data course — including the following concepts (shown here as a potential course outline):
Introduction: basics of Python / tools / modules
Expressions: data types / variables / calculations
Selection: logic / conditionals
Iteration: for and while loops / iterative data
Functions: definition / parameters / return values / composition
Data Structures: lists / sets / dictionaries / files (including .CSV) / nested data structures
As with all project-based learning, the course as a whole and each unit will include projects (as well as other assessments) through which students demonstrate standards proficiency.
To meet these prerequisites, school districts may not offer introductory Python courses. There are many on-line introductory tutorials available for self-study that will support learning the prerequisite skills — and potentially much more. Here is a partial list with contributions from CSTA K-12 educators.