Open ErinBecker opened 5 years ago
These notes are from Michael Culshaw-Maurer from a pilot workshop in August. Some of the curriculum rearrangements might have already addressed some of these comments, but I will include the full set here for reference.
From here, either a comprehensive tidyverse treatment, or jump to "Writing Good Software". I think you could get through this "Intro R" lesson pretty quickly and even get into some of the first Geospatial chapters on Day 1. I think our Day 1 structure had little to no geospatial payoff, which seemed to leave some people frustrated.
These are great notes. FWIW I start GIS students in R
without covering much of this at all - jump right to making maps with an sf
object and then back fill much of these fundamental aspects as we progress through the semester. I think Michael's suggestion about either (a) speeding up our coverage of R
fundamentals or (b) starting with spatial data is something we should take really seriously.
Tabular data is the default for many fields, and that means that realistic data fits into the basic R lessons easily. However, geospatial data is different, so the workshop has to introduce what geospatial data is, in addition to covering basic tabular data in R
The beauty of sf
objects is that the things that we would think of as "tabular" data operations also work on sf
objects - I see less of a difference here than I may have in the past. Just my two cents.
@chris-prener thanks Chris, I'm glad you found the notes useful! I figured I'd tag myself in here just in case anyone wanted to ask for any clarification on these notes.
For the next few comments, here is some info from the Geospatial Data Carpentry Class we taught at UMass Boston from January 22-23, 2019. https://jebyrnes.github.io/2019-01-22-UMB/
FYI, code generated is in https://github.com/jebyrnes/r-spatial_dc_workshop_2019-01-22 and if you want to check out our ether pad, it's at https://pad.carpentries.org/2019-01-22-umb-geospatial
To start with, to answer @ErinBecker's questions
What type of an audience did you have? What was their background and skill level?
We had a mix of grad students, a few postdocs and professors, and agency scientists. We also had a few undergrads. People's prior expertise in both R and GIS ranged from none to advanced - although very few in the later category. People were more experienced with GIS than with R.
Which (if any) of the two intro lessons did you teach (Intro to Geospatial Concepts, Intro to R for Geospatial Data)? If you taught both, which order did you teach them in?
We taught both, with the intro to geospatial first (we just followed the order). On reflection, we'd reverse that order - but see also our notes below.
How long did it take to teach each lesson? Were there any parts you had to leave out? Please be specific about what you left out. It varied. Generally, lessons took ~ double the time listed. We only made it to plotting multiple shapefiles + rasters, and left out multi band rasters. We also ditched a lot of the plot tidying up along the way to cover more conceptual material.
If you left out material, how did it seem to affect your learners? Was it ok to remove that material? Did you have to come back to it later? Was it confusing to skip certain concepts? It was fine. A few of our learners stayed late after day 2 to go over the time series of rasters lesson, as they had some immediate applications.
What problems did your learners have with the installation? What solutions did you find? Surprisingly few. There were a few hiccups that our helpers helped to fix, but they were idiosyncratic.
Do you have any specific tips for other Instructors teaching these lessons? See comment below. In general, there's a LOT of time spent on making plots very pretty. That can be dropped, or covered only once. The intro to R is very detailed in terms of how to manipulate data frames in base R before introducing dplyr. Given that the rest of the lesson uses dplyr, you can probably just drop that. But, see additional comments below. Ditto on factors - the time:use ratio is too skewed currently. Doing 1,2,3 (with reduced factors and lists and shorten type coercion - they're not using it in many of the rest of the lessons), 6, 7 might not be bad in the current lesson.
From @jebyrnes, @DrK-Lo, and @KlausVigo
Can the R general stuff be integrated more into the geospatial teaching? So, get through the basics of how to use R, and then move into rasters. Introduce ggplot, dplyr, subsetting, etc as a part of working with rasters. Or sf objects instead of data frames, and then end with rasters? Basicaly, we thought tighter integration would make this an overall better workshop, and our learners agreed. So, intro to R would only really go through lesson 3, but in lesson 3, we would include loading both sf and raster objects as two data types and reduce info on factors, lists, and type coercion, which aren't really germane later.
Can we move the intro to geospatial to after the intro to R, if they are both going to remain.
Each geospatial lesson takes 1 hour, not 30 minutes. If we get through lesson 10, we are lucky.
Deciding whether this is a workshop for R or for geospatial, that happens to use R, could clarify things.
I'm including the one up one downs as they say a lot about how our learners preceived the class. I'll also italicize a few to highlight them.
One Up ++++Shortcuts to make our lives easier. Everyone helping out was extremely patient with me intro to R had many clear examples of structure of code. And shortcuts!!!!! Great pace++ +++frendly and helpfull staff the assistants were really dynamic and helpful - they were invaluable to understanding the lessons ++ Having challenges and making sufre everyone was able to accomplish and understand I appreciated the help from the assistants and patience as they helped me with my learning curve. + Etherpad Superhelpful!+ +having all of the materials and examples organized on the website, allowing me to reference them and follow along ++ highlighting good coding practices++ Great use of practical examples to get an adequate understanding of how to use this on my own outside of the workshop +Exercises were really helpful! + organized layout/flow of intro to R and geospatial technical termology + Live assistant was the most helpful. Thanks for being patient w me!! having downloaded everything prior streamlined the course +Good pace; and I even learned a few new things I like the carpentry green and red stickers good reintroduction to data and file organization, which is especially helpful with spatial data! good step-wise rundown of pipeline function of dplyr
One Down Pre-workshop practice of basics would make it smoother Downtime between exercises seems like it was waiting on challenges, when thats in my mind the "reach" goal and time doesn't need to be spent on it More challenges would be helpful to practice manipulating the commands and troubleshooting errors Make it more clear that the first day of "geospatial workshop in R" will barely cover any geospatial data in R A bit confusing on the intro to Rasters the lecture didn't always follow the online materials so I sometimes got lost going back and forth +Too fast too much info. Brain fried! But the frequent break was helpful. Maybe just use tidyverse from the start A lot of info in one day +It was hard to see the screen sometimes, which resulted in the symbols coming across incorrectly- please make it bigger! ++Would be nice to have etherpad-esque feacture with the code lectures felt slow The last segment of class was difficult to follow and I don't feel like I was able to retain much information. +JEKB - we did the first raster lesson at the end of the day, but their brains were fried by the intro to R by the time we got there. We repeated it more slowly the next morning a little rushed at end. would also like a good source to learn how to keep up with packages. Last segment was hard to follow, but it was also end of the day so that makes it hard. i am not really sure what the example raster data means, it is great to be able to polt and code the data, but without the context it is a little abstract This was a bit too fast pased for me but that could be because I am a beginner and we are only doing a 2 day workshop I'm not sure if I downloaded everything properly (I guess I'll find that out tomorrow!); so I'm still a bit confused as to what programs/packages we NEED and WHY little bit more review of R and dplyr than I was expecting (but never bad to get a reminder)
One up Vectors Challenges + I am no longer as intimidated by geospatial analysis in R as I was before; I feel like I can do it now Positive environment for learning! + ++++ The vector examples and source code were super helpful, and I will definitely use them in the future+ the online resources and cheat sheets were a great resource++ Staff help was very helpful Thank you!! +++++++++ Laid back atmosphere (instruction without a "classroom" feel that allowed tangents to assist on open questions goodintro to new packages! ++ vector portion was great! arithmetic function building for raster datasets will be super helpful for me! I actually can do R! patience by all was amazing, teachers and assistant and students!! thanks to all! the additional resources and cheatsheets are super good as well. I enjoyed broader context, noticed that Jarrett often times gave us the "transitional statements" that filled the gap between code nice pacing of breaks! helped me not feel burnt out
One down Rasters We sholud have 3 day instead of 2 day so we don't have to hurry so much++++ Too much information to quick- need more on what parts of code actually doing behind the scenes- would like to see work flow for field collected GPS data into R+++ I feel that seperating the geospatial theory, coding and learning R and then the manipulaiton of data in a different way would be hrelpful - coding and R first --> then geospatial concepts with vector data handling ---> then raster data handling. this i show the knowledge was presented in Intro. to GIS and I found it to be more cohesive, even having zero background in that case. Although it may not be the carpentry way, learning R and the geospatial work must be seperated out into different courses or days more manipulation of raster data+ pacing of the morning section was too fast to be able to do in action - easiest just to follow the notes did not like repeating the material from the end of the day yesterday - wanted to move on to cover more/new material+ rename the raster files to something simpler and less cumbersome (and easier to follow along) ++++would have loved to have reached time-series stuff +++ the instructors had different styles, which made it hard to follow sometimes (I had a hard time following raster). Not everyone followed livecoding style+ Either extend the workshop to 3 days or shorten the R review from day 1 (so we have more time for geospatial!)
I thought these were also insightful - we summarized our sticky note feedback with # of notes per general theme -
Q: What was your favorite part of the course?
13: liked overlaying vector and raster data
7: liked R/sf (general appreciation)
2: versatility of ggplot2
1: quick plotting in R (vs ArcGIS)
1: liked the reference materials for further self-learning
Q: What one thing would you like to change in this course?
6: get into spatial materials earlier
5: 3 day course / adjust balance of base R material vs. spatial material
4: logistics of time to copy code, files were a bit difficult to read in because of file names, number of files, files nested in folders (clean up provided data)
2: more general R material
1: more break points
1: more geospatial calculations and stats
1: example of spreadsheet of field collected data brought into R
1: combine R tutorials into the spatial parts to allow more time to focus one spatial components.
From @DrK-Lo
Mistake?" The bin intervals are shown using ( to mean inclusive and ] to mean exclusive. For example: (305, 342] means “from 305 through 341”." Challenge: Plot Using Custom Breaks - students need hint on new options: ggtitle, xlab, and ylab
The instructor skimmed over some things and focused on the core lines of code. We did the last activity for 30 min over a coffee break
Challenge: Subset Spatial Line Objects Part 1 and Part 2: did challenge
plot shapefile and customize project shapefile (from US map excercise could move straight to Handling Spatial Projection & CRS in R and add example of plotting raster and shapefile together) using online databases to get shapefile for your field site map
A lot of the challenges could be faster if we provide the code for the students to load the files, and provide the functions that they haven't learned before
This issue is meant to collect feedback from Instructors (and helpers, etc) running pilot workshops. Leave open through December 2018.
Instructors, please add any comments you have about how your pilot workshop went. In particular:
You don't need to answer all of the questions above! Please share any and all information that you think will be helpful for future Instructors of these lessons. I will be reading through this issue before the Curriculum Advisory Committee meeting in November and will raise issues to that committee for discussion. Please also feel free to leave specific issues on the individual lessons. The Maintainers and Curriculum Advisors really appreciate your feedback!