{"id":13595959,"url":"https://github.com/isteves/ds-puzzles","last_synced_at":"2025-10-22T21:50:21.755Z","repository":{"id":73856686,"uuid":"165155378","full_name":"isteves/ds-puzzles","owner":"isteves","description":"https://docs.google.com/presentation/d/163hWgBF299KWb24f_lNRZFn1vX4XPTZTflMc4VWL8EI/edit?usp=sharing","archived":false,"fork":false,"pushed_at":"2019-07-09T22:30:43.000Z","size":4145,"stargazers_count":65,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-28T21:58:13.791Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/isteves.png","metadata":{"files":{"readme":"README.Rmd","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-01-11T01:04:26.000Z","updated_at":"2025-01-26T21:05:34.000Z","dependencies_parsed_at":"2024-01-16T22:20:20.286Z","dependency_job_id":"53682038-18da-4698-8ee6-24eb6d3eaec8","html_url":"https://github.com/isteves/ds-puzzles","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isteves%2Fds-puzzles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isteves%2Fds-puzzles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isteves%2Fds-puzzles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isteves%2Fds-puzzles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/isteves","download_url":"https://codeload.github.com/isteves/ds-puzzles/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244033475,"owners_count":20386939,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T16:02:02.448Z","updated_at":"2025-10-22T21:50:16.732Z","avatar_url":"https://github.com/isteves.png","language":"R","funding_links":[],"categories":["R"],"sub_categories":[],"readme":"---\noutput: md_document\n---\n# Teaching data science with puzzles\n### useR! 2019 [slides](https://speakerdeck.com/isteves/teaching-data-science-with-puzzles-fd46c088-e5d5-4297-9629-60e81cc6403c)\n### rstudio::conf 2019, [slides](https://speakerdeck.com/isteves/teaching-data-science-with-puzzles), [video](https://resources.rstudio.com/rstudio-conf-2019/teaching-data-science-with-puzzles)\n\nOf the many coding puzzles on the web, few focus on the programming skills needed for handling untidy data. During my summer internship at RStudio, I worked with Jenny Bryan to develop a series of data science puzzles known as the \"Tidies of March.\" These puzzles isolate data wrangling tasks into bite-sized pieces to nurture core data science skills such as importing, reshaping, and summarizing data. We also provide access to puzzles and puzzle data directly in R through an accompanying Tidies of March package. I will show how this package models best practices for both data wrangling and project management.\n\n[![](img/title-slide.png)](https://speakerdeck.com/isteves/teaching-data-science-with-puzzles)\n\nIf you'd like to take a closer look at the sandwiches example from the talk, check out the [sandwiches folder](https://github.com/isteves/ds-puzzles/tree/master/11_sandwiches) in this repo.\n\n## Additional resources\n\n- [How to name files](https://speakerdeck.com/jennybc/how-to-name-files) talk by Jenny Bryan\n- [A summer of puzzles at RStudio](https://irene.rbind.io/post/summer-rstudio/) blogpost about my internship experience \n- [it’s not the maths, it’s the code - how testing has changed my workflow](http://cantabile.rbind.io/posts/2019-01-05-its-not-not-the-math-its-the-code/) blogpost by Charles T. Gray\n \nPackages mentioned in my talk:\n\n- [usethis](https://usethis.r-lib.org/) - a workflow package: it automates repetitive tasks that arise during project setup and development, both for R packages and non-package projects\n- [testthat](https://testthat.r-lib.org/) - to make testing fun\n- [testrmd](https://github.com/ropenscilabs/testrmd) - test chunks for RMarkdown\n- [reprex](https://reprex.tidyverse.org/) - render bits of R code for sharing, e.g., on GitHub or StackOverflow\n- [rmarkdown](https://rmarkdown.rstudio.com/) - create reproducible text and analyses \n\n## Thank yous\n\nA big thanks to the Tidyverse team, fellow interns, and RStudio folks for a fun \u0026 interesting summer!\n\nAlso thanks to Maria Novosolov, Alex Slavenko, Alex Hayes, Steven Chong, and Julien Brun for their comments and support in early versions of this talk!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fisteves%2Fds-puzzles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fisteves%2Fds-puzzles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fisteves%2Fds-puzzles/lists"}