Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improvements for Next Iteration #8

Open
1 of 12 tasks
nick-ulle opened this issue Jan 21, 2023 · 4 comments
Open
1 of 12 tasks

Improvements for Next Iteration #8

nick-ulle opened this issue Jan 21, 2023 · 4 comments
Assignees

Comments

@nick-ulle
Copy link
Contributor

nick-ulle commented Jan 21, 2023

This issue is to keep track of improvements to make for the next iteration of this workshop.

General notes / all sections

  • Check production notes for feedback not listed here
  • Check learner feedback survey
  • Add more about the motivation for learning each topic
  • Change chapter order so that Cleaning Data & Automating Tasks comes before Thinking in R
  • Cover function parameter/argument details missing from R Basics somewhere (e.g., ... and lazy eval)

Chapter 1

  • Consider whether the environments content is worth keeping, since it's very similar to this chapter of Advanced R. We could just link to and teach directly from that chapter.
  • Explain difference between package: and namespace: environments
  • Allude to how copy-on-write is part of why preallocation is necessary for loops (thanks for pointing this out @wes-brooks)
  • MAYBE -- Major reorganization:
    • Make chapter 2 an independent workshop about preventing, finding, and fixing bugs, errors, and performance issues
    • Make a new chapter 2 that covers S3, customizing R (global options & startup process), administering installed packages and their locations on disk, ...
    • Add details about lazy evaluation & promises to chapter 1

Chapter 2

Chapter 3

  • Lead with an overview of typical cleaning tasks: reshaping, string cleaning, coercing types, checking missing values, checking outliers, ...
  • Introduce parse_date_time before fast_strptime

Chapter 4

  • Clarify what topics fit in the "automating tasks" idea---it's a little half-baked right now. Maybe rename it? Candidate topics:
    • Developing non-interactive scripts
    • Handling command-line arguments
    • Calling shell commands and other external programs
    • Reading and writing configuration files
    • Caching intermediate results
    • Logging
@nick-ulle
Copy link
Contributor Author

Idea: change "Automating Tasks" to "Scripting & Automating Tasks". Possibly a standalone one-session workshop about developing non-interactive R scripts.

That still doesn't make it clear where to put loops, though.

@nick-ulle
Copy link
Contributor Author

The part about printing output could also be moved into "Scripting & Automating Tasks", to make room for something about lazy evaluation in "Thinking in R".

@nick-ulle
Copy link
Contributor Author

Also "Automating Tasks" needs a rebrand -- it seems people don't know what this means. So instead of "Scripting & Automating Tasks" something like "Writing R Scripts"

@nick-ulle
Copy link
Contributor Author

nick-ulle commented Jul 22, 2023

Tentatively split into these major sections:

  • Cleaning and Reshaping Data (2 sessions)
    • Session 1: string processing, date processing
    • Session 2: reshaping, joins
  • Thinking in R (2 sessions)
    • Session 1: variable lookup, environments, functions (closures, ..., lazy eval)
    • Session 2: attributes, object-oriented programming systems, S3 dispatch
    • Possibly move this to an appendix
  • Writing R Scripts
    • Coverage: loops, scripts (accepting input, output/logging, organization, how to run), packages, renv
    • Connector to a session on packaging?
  • Squashing Bugs with R's Debugging Tools
    • Coverage: warnings and errors, global options, debugging, profiling, testing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants