OpenEDG PCAD study materials
OpenEDG PCAD study resources

OpenEDG PCAD study plan

OpenEDG PCAD · Give each week a clear focus.

8 weeks · About 7 hours per week

Week 1

Data acquisition and integration (databases, APIs, web content) & SQL for querying and manipulating structured data; connecting Python to databases

  • Write Python scripts that pull data from at least three source types: a SQLite file via sqlite3, a REST JSON endpoint via requests, and a CSV downloaded over HTTP, saving each to a local file.

  • Construct SELECT queries with WHERE, ORDER BY, GROUP BY, HAVING, and INNER/LEFT JOIN against a multi-table SQLite database, and explain in writing why each clause runs in the order it does.

  • Build a reusable loader function that accepts a connection string or URL and returns a pandas DataFrame, handling connection setup and teardown with context managers.

  • Compare pandas.read_sql, read_sql_query, and read_sql_table on the same database and record which one you would use for a table, a query, and a stored procedure.

Your checkpoint

A single ingest.py script with three working loaders (SQLite, REST API, CSV-over-HTTP) plus a short README showing sample output rows from each source.

Week 2

SQL for querying and manipulating structured data; connecting Python to databases & Data acquisition and integration (databases, APIs, web content)

  • Create tables, insert rows, and update records from Python using parameterized queries so no user input is concatenated into SQL strings.

  • Write queries that use subqueries, CASE expressions, and aggregate functions to produce a summary table, then load that summary directly into a DataFrame.

  • Implement a transaction that inserts a batch of rows and rolls back on error, verifying with a follow-up SELECT that no partial rows remain.

  • Document the difference between a database cursor and a connection, and demonstrate closing both in the correct order in code.

Your checkpoint

A pipeline script that builds a small relational database from raw CSVs, runs three analytical SQL queries, and writes the joined results to a new table with a row-count log.

Week 3

Data cleaning and validation

  • Profile a messy dataset for missing values, duplicate keys, inconsistent dtypes, and out-of-range values, producing a written issue inventory with counts per column.

  • Write functions that standardize text fields (trim, case-fold, normalize date formats) and apply them column-wise with map or apply.

  • Choose and justify per-column missing-value strategies (drop, mean/median, forward fill, sentinel) and implement them in a reproducible cleaning function.

  • Add validation checks that raise a custom exception when a schema rule is violated, such as a negative quantity or a date outside an allowed window.

Your checkpoint

A clean_data.py module with at least five validation rules and a before/after report showing row counts, null counts, and dtype changes per column.

Week 4

Data exploration and analysis with Pandas and NumPy

  • Reshape data with merge, concat, pivot_table, and melt, and state which operation each of four business questions requires.

  • Compute grouped aggregations with groupby and agg using at least three different aggregation functions in one call.

  • Use NumPy to vectorize a calculation that would otherwise be a Python loop, and time both versions to show the speedup.

  • Apply boolean indexing and loc/iloc correctly to extract subsets, verifying each result's shape against a hand-computed expectation.

Your checkpoint

An analysis notebook with five answered questions about a public dataset, each showing the code, the resulting table, and a one-sentence interpretation.

Week 5

Statistical methods (descriptive and inferential statistics)

  • Compute and interpret mean, median, standard deviation, quartiles, and IQR on real columns, and identify outliers using the 1.5xIQR rule.

  • Build a correlation matrix and explain in writing which correlations are strong, which are spurious candidates, and why correlation does not imply causation.

  • Run a two-sample t-test and a chi-square test of independence using scipy.stats, and state the null hypothesis, p-value, and decision for each.

  • Construct a 95% confidence interval for a mean and explain what the interval does and does not claim.

Your checkpoint

A stats_report.md with five statistical findings, each including the test used, the p-value or interval, and a plain-language conclusion a non-technical reader could follow.

Week 6

Foundational machine learning (regression analysis and model evaluation)

  • Split a dataset into train and test sets, fit a linear regression with scikit-learn, and report coefficients alongside their interpretation in original units.

  • Evaluate a regression model with MAE, RMSE, and R-squared, and explain why a high R-squared alone does not prove a good model.

  • Diagnose overfitting by comparing train and test error, then apply at least one remedy such as feature reduction or regularization.

  • Check the residual plot for patterns and document whether the linearity assumption appears reasonable.

Your checkpoint

A model_eval.ipynb that trains two competing regression models, compares them on a held-out test set in a results table, and names the chosen model with a written justification.

Week 7

Data visualization and communication of insights (Matplotlib, Seaborn)

  • Produce a line chart, bar chart, scatter plot, and histogram with Matplotlib, each with labeled axes, a title, and an appropriate scale.

  • Use Seaborn to build a grouped bar chart and a heatmap of correlations, and adjust palettes so categories remain distinguishable in grayscale.

  • Rewrite one misleading chart into an honest one by fixing a truncated axis, an unlabeled unit, or an inappropriate chart type, and note the change.

  • Draft three headline-style takeaways that each cite the specific figure or number that supports them.

Your checkpoint

A four-panel figure saved as a PNG plus a short caption block explaining what each panel shows and the single insight it supports.

Week 8

Programming practices (object-oriented design, exception handling) and ethical data handling

  • Refactor the ingest, clean, and model code into classes with clear responsibilities, using inheritance or composition where it removes duplication.

  • Wrap file, network, and database operations in try/except blocks that catch specific exceptions, log context, and re-raise or recover deliberately.

  • Audit a project for ethical handling: document data provenance, remove or hash direct identifiers, and state who should have access to the raw data.

  • Complete two timed practice sets covering all eight domains and log every missed question with the concept it tested.

Your checkpoint

A capstone project folder with a class-based pipeline, exception handling, a data-provenance and privacy section in the README, and a one-page error log from the practice sets.

Milestones

Week 2: You can go from a raw CSV to a queryable SQLite table and back to a DataFrame without copying code between scripts, and every SQL statement uses parameters rather than string concatenation.

Week 4: Your cleaning module passes all validation rules on a fresh dataset, and you can answer five questions about that dataset using groupby, merge, and boolean indexing without looking up syntax.

Week 6: You have a held-out test score for two regression models, can explain in writing why you chose one, and can name the assumption most likely to be violated in your data.

Week 8: Capstone runs end to end from a single entry point, charts are labeled and honest, identifiers are handled, and your practice-set error log shows no domain with repeated misses on the same concept.