Fall 2024 All Workshops Survey Responses

Number of responses

Code
library(tidyverse)
library(bslib)
library(shiny)
library(bsicons)
source("scripts/helper_functions.R")

# list of workshop IDs to filter results
workshops <- c("2024-11-12-ucsb-qualdatanalysis", "2024-11-05-ucsb-webscraping", "2024-10-22-ucsb-git", "2024-10-08-ucsb-r")

results <- read_csv("data-joined/all_workshops.csv") %>% 
  filter(workshop %in% workshops)
  
# Fix comma separator
results <- results %>% 
  mutate(findout_select.pre = str_replace_all(
  findout_select.pre, 
  "Twitter, Facebook, etc.", 
  "Twitter; Facebook; etc."))

pre_survey <- results %>%
  select(ends_with(".pre"))

post_survey <- results %>%
  select(ends_with(".post"))

n_pre <- sum(apply(post_survey, 1, function(row) all(is.na(row))))
n_post <- sum(apply(pre_survey, 1, function(row) all(is.na(row))))
n_total <- nrow(results)
n_both <- nrow(results) - n_pre - n_post

layout_columns(
  value_box(
    title = "Total responses", value = n_total, ,
    theme = NULL, showcase = bs_icon("people-fill"), showcase_layout = "left center",
    full_screen = FALSE, fill = TRUE, height = NULL
  ),
  value_box(
    title = "Both pre- and post-", value = n_both, , theme = NULL,
    showcase = bs_icon("arrows-expand-vertical"), showcase_layout = "left center",
    full_screen = FALSE, fill = TRUE, height = NULL
  ),
  value_box(
    title = "Only pre-workshop", value = n_pre, ,
    theme = NULL, showcase = bs_icon("arrow-left-short"), showcase_layout = "left center",
    full_screen = FALSE, fill = TRUE, height = NULL
  ),
  value_box(
    title = "Only post-workshop", value = n_post, , theme = NULL,
    showcase = bs_icon("arrow-right-short"), showcase_layout = "left center",
    full_screen = FALSE, fill = TRUE, height = NULL
  )
)

Total responses

56

Both pre- and post-

15

Only pre-workshop

33

Only post-workshop

8

Departments

Code
depts <- results %>% select(dept_select.pre) %>% 
  separate_rows(dept_select.pre, sep=",") %>%
  mutate(dept_select.pre = str_trim(dept_select.pre)) %>%
  count(dept_select.pre, name = "count") %>% 
  mutate(percent = (count / (n_total - n_post)) * 100,
         text = sprintf("%.0f (%.0f%%)", count, percent))

ggplot(depts, aes(y=reorder(dept_select.pre, count), x=count)) +
    geom_col() +
    geom_label(aes(label = text, hjust = -0.1),
               size = 3) +
    labs(x = "# respondents", y = element_blank()) +  
    theme_minimal() +
    theme(
      panel.grid.minor = element_blank(),
      panel.grid.major.y = element_blank()
      ) +
    expand_limits(x = c(0,max(depts$count)*1.1))

“Other” Departments

Code
other_depts <- results %>% 
  count(dept_other.pre, name = "count") %>% 
  drop_na() %>% 
  mutate(percent = (count / (n_total - n_post)) * 100,
         text = sprintf("%.0f (%.0f%%)", count, percent))

ggplot(other_depts, aes(y=reorder(dept_other.pre, count), x=count)) +
    geom_col() +
    geom_label(aes(label = text, hjust = -0.1),
               size = 3) +
    labs(x = "# respondents", y = element_blank()) + 
    theme_minimal() +
    theme(
      panel.grid.minor = element_blank(),
      panel.grid.major.y = element_blank()
      ) +
    expand_limits(x = c(0,max(other_depts$count)*1.1))

Current occupation / Career stage

Code
ocup <- results %>% select(occupation.pre) %>% 
  separate_rows(occupation.pre, sep=",") %>%
  mutate(occupation.pre = str_trim(occupation.pre)) %>%
  count(occupation.pre, name = "count") %>% 
  drop_na() %>% 
  mutate(percent = (count / (n_total - n_post)) * 100,
         text = sprintf("%.0f (%.0f%%)", count, percent))

ggplot(ocup, aes(y=reorder(occupation.pre, count), x=count)) +
    geom_col() +
    geom_label(aes(label = text, hjust = -0.1),
               size = 3) +
    labs(x = "# respondents", y = element_blank()) + 
    theme_minimal() +
    theme(
      panel.grid.minor = element_blank(),
      panel.grid.major.y = element_blank()
      ) +
    expand_limits(x = c(0,max(ocup$count)*1.2))

Motivation - Why are you participating in this workshop?

Code
motiv <- results %>% select(motivation_select.pre) %>% 
  separate_rows(motivation_select.pre, sep=",")  %>% 
  mutate(motivation_select.pre = str_trim(motivation_select.pre)) %>%
  count(motivation_select.pre, name = "count") %>% 
  drop_na() %>% 
  mutate(percent = (count / (n_total - n_post)) * 100,
         text = sprintf("%.0f (%.0f%%)", count, percent))

ggplot(motiv, aes(y=reorder(motivation_select.pre, count), x=count)) +
    geom_col() +
    geom_label(aes(label = text, hjust = -0.1),
               size = 3) +
    labs(x = "# respondents", y = element_blank()) + 
    theme_minimal() +
    theme(
      panel.grid.minor = element_blank(),
      panel.grid.major.y = element_blank()
      ) +
    expand_limits(x = c(0,max(motiv$count)*1.2))

How did you find out about this workshop?

Code
findw <- results %>% select(findout_select.pre) %>% 
  separate_rows(findout_select.pre, sep=",")  %>% 
  mutate(findout_select.pre = str_trim(findout_select.pre)) %>%
  count(findout_select.pre, name = "count") %>% 
  drop_na() %>% 
  mutate(percent = (count / (n_total - n_post)) * 100,
         text = sprintf("%.0f (%.0f%%)", count, percent))

ggplot(findw, aes(y=reorder(findout_select.pre, count), x=count)) +
    geom_col() +
    geom_label(aes(label = text, hjust = -0.1),
               size = 3) +
    labs(x = "# respondents", y = element_blank()) + 
    theme_minimal() +
    theme(
      panel.grid.minor = element_blank(),
      panel.grid.major.y = element_blank()
      ) +
    expand_limits(x = c(0,max(findw$count)*1.2))

What you most hope to learn?

Code
results %>% group_by(workshop) %>% 
  select(workshop, hopes.pre) %>% 
  drop_na()
workshop hopes.pre
2024-10-08-ucsb-r R Skills that are otherwise not taught in a typical stats course
2024-10-08-ucsb-r How to use R at a basic level
2024-10-08-ucsb-r Better understanding of researcher needs within the context of research IT
2024-10-08-ucsb-r learn the basics of R
2024-10-08-ucsb-r a basic understanding of R that will give me enough of a basis where I can start practicing and learning by myself
2024-10-08-ucsb-r I’m not at all familiar with data science or data analysis, so I hope to learn some of the basics. I use Python and SageMath in my work, but have never used R. Perhaps some experience in R will be helpful when I apply for jobs in the future.
2024-10-08-ucsb-r How to be able to run a basic statistical analysis with R
2024-10-08-ucsb-r Learn relevant data analytics skills.
2024-10-08-ucsb-r How to feel more comfortable approaching working with coding languages and data
2024-10-08-ucsb-r How to do data analysis for my research.
2024-10-08-ucsb-r the basics of R programming so that I can start working with it. It’s going to be the first programming language I learn and I am very excited that I am getting into the Digital Humanities track and you offer us this opportunity on campus
2024-10-08-ucsb-r I hope to learn new skills and gain insight on what a major in statistics & data science will be like.
2024-10-08-ucsb-r I hope to feel competent enough to use R
2024-10-22-ucsb-git How version control works and how to use it
2024-10-22-ucsb-git This will be my third time taking this workshop. I just hope to be able to do the things we learn after I walk out of the workshop (which hasn’t happened before)
2024-10-22-ucsb-git I’ve been meaning to learn version control, since I write some SageMath scripts for my research.
2024-10-22-ucsb-git I’m the worst working with GitHub! I have the GitHub Desktop installed but honestly don’t know how to use it! On the other hand, all my lab mates utilize that and I don’t wanna stay behind.
2024-10-22-ucsb-git Comfort dealing with branches
2024-10-22-ucsb-git getting git up and running so i can finally be on top of my workflow
2024-10-22-ucsb-git How to use GitHub push and pull function. How to organize the data/code using git. Other function I don’t know
2024-10-22-ucsb-git Learn about the basics of GitHub
2024-10-22-ucsb-git to know more about Github and its utilization
2024-10-22-ucsb-git I hope to learn the basics of using GitHub and git.
2024-10-22-ucsb-git setting up a website using git
2024-10-22-ucsb-git learn more about how to use github
2024-10-22-ucsb-git Better understanding on campus resources for learing to use or building awareness of tools to assist research IT, researchers.
2024-11-05-ucsb-webscraping A more efficient way of web scraping
2024-11-05-ucsb-webscraping how to do web scraping on my own on whatever site I choose
2024-11-05-ucsb-webscraping scrape news
2024-11-05-ucsb-webscraping learning more about how python works and how I can apply it to my future research
2024-11-05-ucsb-webscraping Tableau
2024-11-05-ucsb-webscraping Effectively extract information from the web
2024-11-05-ucsb-webscraping I have no experience in web scraping and don’t anticipate needing it for my research, so I’m just here to learn anything. Would love to learn something that I can be turned into a personal project.
2024-11-05-ucsb-webscraping Intermediate coding that is applicable
2024-11-12-ucsb-qualdatanalysis can qualcoder replace nvivo?

Learning environment in the workshop

Code
orderedq <- c("Strongly Disagree", "Somewhat Disagree", "Neither Agree or Disagree","Somewhat Agree", "Strongly Agree")
addNA(orderedq)
Code
agree_questions <- results %>% 
  select(join_key, agree_apply.post,    agree_comfortable.post, agree_clearanswers.post,
         agree_instr_enthusiasm.post, agree_instr_interaction.post, agree_instr_knowledge.post
) %>% 
  filter(!if_all(-join_key, is.na))

n_agree_questions <- nrow(agree_questions)
  
agree_questions <- agree_questions %>%
  pivot_longer(cols = -join_key, names_to = "Question", values_to = "Response") %>% 
  mutate(Response = factor(Response, levels = orderedq),
         Question = recode(Question,
                     "agree_apply.post" = "Can immediatly apply 
 what they learned",
                     "agree_comfortable.post" = "Comfortable learning in 
 the workshop environment",
                     "agree_clearanswers.post" = "Got clear answers 
 from instructors",
                     "agree_instr_enthusiasm.post" = "Instructors were enthusiastic",
                     "agree_instr_interaction.post" = "Comfortable interacting 
 with instructors",
                     "agree_instr_knowledge.post" = "Instructors were knowledgeable 
 about the material"
      ))

summary_data <- agree_questions %>%
  count(Question, Response, name = "count") %>% 
  mutate(percent = (count / n_agree_questions) * 100,
         text = sprintf("%.0f (%.0f%%)", count, percent))

ggplot(summary_data, aes(x = Question, y = count, fill = Response)) +
  geom_col(position = "fill", color = "black", show.legend = TRUE) +
  scale_y_continuous(labels = scales::percent_format()) + 
  scale_fill_manual(values = c("Strongly Disagree" = "#d01c8b", 
                               "Somewhat Disagree" = "#f1b6da", 
                               "Neither Agree or Disagree" = "#f7f7f7", 
                               "Somewhat Agree" = "#b8e186", 
                               "Strongly Agree" = "#4dac26"), 
                    na.translate = TRUE, na.value = "#cccccc", 
                    breaks = orderedq, drop = FALSE) +
  geom_text(aes(label = text), size = 3,
             position = position_fill(vjust = 0.5)) +
  labs(y = "# respondents (Percentage)", x = element_blank(), fill = "Responses",
       subtitle = paste0("Number of responses: ", n_agree_questions)) +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1),
        plot.subtitle = element_text(hjust = 0.5, size = 12))

How an instructor or helper affected your learning experience

Code
results %>% 
  group_by(workshop) %>% 
  select(workshop, instructor_example.post) %>%
  drop_na()
workshop instructor_example.post
2024-10-08-ucsb-r Answered my ad-hoc questions!
2024-10-08-ucsb-r helped clear up questions about specific lines of code and the intuition behind it
2024-10-08-ucsb-r When I had to skip one of the days, Jose made sure I knew what material would be covered during the missed day so I could come back prepared. The instructors also made sure to review material at the beginning of the next session, which helped me a lot.
2024-10-08-ucsb-r Helped answer my questions if i got stuck
2024-10-08-ucsb-r answered my questions and then went into more depth which furthered my understanding
2024-10-08-ucsb-r Jose was an excellent presenter and really took the time to ensure we were all on the same page.
2024-10-22-ucsb-git I had an error, put up a pink sticky note, and promptly got help, and when the first two helpers didn’t crack it the third one did, and I was able to proceed
2024-10-22-ucsb-git I had a question that the instructor wasn’t able to immediately answer in class, but they were sure to follow up with an answer in a later email.
2024-10-22-ucsb-git Helped me fix Homebrew, which was causing me some issues
2024-10-22-ucsb-git Having helpers during the workshop was awesome!
2024-10-22-ucsb-git They answered all my questions! The demonstrations on the screen had a really good pace that I was able to follow despite only learning everything for the first time.
2024-11-05-ucsb-webscraping I felt very comfortable asking for help, because there was a system put in place (red/blue sticky notes and multiple helpers standing around) that encouraged questions and asking for help. When I did ask, I got a thorough, easy-to-understand explanation.
2024-11-05-ucsb-webscraping offered help right away when I raised my hand/put a sticky to indicate that I’m struggling
2024-10-22-ucsb-git When I fell behind due to a lapse in attention, I was caught up.
2024-10-22-ucsb-git I liked how we used the blue and red stickers to inform the instructors if we were having any problem and they would help us solve it immediately.
2024-10-22-ucsb-git I was struggling with understanding on how to set up ssh. A helper helped me figure out what I was doing incorrectly and guided me in fixing it. And the instructor later answered a question about whether I had to create a new ssh for each repo.
2024-10-22-ucsb-git They were able to answer all my questions in real time so that I didn’t get stuck or behind when I had one. (Including that I needed some catch-up after missing the first day.)
2024-11-05-ucsb-webscraping very hands-on, helpful, engaging
2024-11-05-ucsb-webscraping The instructor and helpers answered all the questions we had in a respectable and clear manner. It was a safe space for learning.

Skills and perception comparison

Code
# Calculate mean scores and make graph for all respondents (only_matched=FALSE)
tryCatch(
  {
mean_nresp <- get_mean_scores_nresp(results, only_matched=FALSE)
graph_pre_post(mean_nresp$mean_scores, mean_nresp$n_resp_pre, mean_nresp$n_resp_post, mean_nresp$n_resp_pre_post, only_matched=FALSE)
},
error = function(cond) {
message("Could not do the plots as there are no pre or post results to show")
}
)

Code
# Calculate mean scores and make graph for only matched respondents in pre and post (only_matched=TRUE)
tryCatch(
  {
mean_nresp <- get_mean_scores_nresp(results, only_matched=TRUE)
graph_pre_post(mean_nresp$mean_scores, mean_nresp$n_resp_pre, mean_nresp$n_resp_post, mean_nresp$n_resp_pre_post, only_matched=TRUE)
},
error = function(cond) {
message("Could not do the plots as there are no pre or post results to show")
}
)

Workshop Strengths

Code
results %>% 
  group_by(workshop) %>% 
  select(workshop, workshop_strengths.post) %>% 
  drop_na()
workshop workshop_strengths.post
2024-10-08-ucsb-r Interactive, participant to instrutor ratio, interactive and hands-on nature!
2024-10-08-ucsb-r got me acclimated to R and what programming is like
2024-10-08-ucsb-r Very easy to understand. Paced well.
2024-10-08-ucsb-r Intro course so the pace was good and not too fast
2024-10-08-ucsb-r many helpers, covering lots of concepts and very informative about every step
2024-10-08-ucsb-r The fact that it was a 3-day workshop (not just one time exposure).
2024-10-22-ucsb-git many helpers constantly monitoring for issues people have, the sticky note system to ask for help/check people are following was good, beginner friendly
2024-10-22-ucsb-git Good at covering all the most popular terminal commands for git
2024-10-22-ucsb-git It started from the very basics which was a good and much needed refresher for me
2024-10-22-ucsb-git Very applicable to my work. Provides a gentle introduction, but it’s enough that I can get started with Git and Github right away
2024-10-22-ucsb-git Easy to follow, practical
2024-10-22-ucsb-git stickies, instructors and helpers were very knowledgable and the workshop contents were what I expected (as what we were told on the invitation email)
2024-11-05-ucsb-webscraping beginner-friendly, strong helping/question-answering system, interesting and practical subject, online resources available to make it easier to follow along
2024-11-05-ucsb-webscraping Nice and slow, but also keeps everything interesting at the same time; Very detailed about how different parts of code works
2024-10-08-ucsb-r Good introduction to R for people that don’t have coding experience. Allows us to make graphs and data charts with no learning curve.
2024-10-22-ucsb-git Straightforward and applicable, taught by professionals
2024-10-22-ucsb-git - Well designed; - Really good instructors
2024-10-22-ucsb-git Guided, Small, Hands-on, Interactive
2024-10-22-ucsb-git The format and pace seemed just right–it was independent and practical enough for most of us to run into instructive problems but not so fast that people got behind (as far as I could tell). Instructors were clear and helpful. Nice to have so much staff in the room.
2024-11-05-ucsb-webscraping friendly and active engagement.
2024-11-05-ucsb-webscraping get timely help
2024-11-05-ucsb-webscraping Having helpers made the workshop run smoothly. ; Coding along the instructor was useful.; The examples used were not trivial.

Ways to improve the workshop

Code
results %>% 
  group_by(workshop) %>% 
  select(workshop, workshop_improved.post) %>% 
  drop_na()
workshop workshop_improved.post
2024-10-08-ucsb-r I wish it was faster paced/went into more depth
2024-10-08-ucsb-r Maybe go more into statistics with R
2024-10-08-ucsb-r slightly longer break halfway through
2024-10-08-ucsb-r more challenges, helping us form project ideas
2024-10-08-ucsb-r maybe working with other data sets outside of ratdat
2024-10-22-ucsb-git most of the time the pace was a little too slow for me to pay attention all the time, but when I had a problem that delayed me for a while, there wasn’t really a way to catch up on my own; and my suggestion was going to be “maybe hand out/share the entire set of instructions for the workshop” but I stopped and checked and the workshop website actually does that and I’m dumb, maybe instead advertise more specifically that the website contains step-by-step instructions? “Materials” was a little vague and I didn’t understand it to mean that it had all the instructions; ; also unfortunately I didn’t attend the second day so I don’t know what happened there, but the overall workshop was a bit basic considering time investment of four hours, I think it could be compressed to two or three hours; ; I know some people left upon learning that it would just be the basic stuff without dealing with things like handling merge conflicts, and I feel like that could have been prevented with a more detailed description of the workshop during its promotion (ex. “this is a workshop geared towards beginners and we will be covering basics like making a repository. We will not be covering…”)
2024-10-22-ucsb-git Sometimes, terminal commands and flags can be cryptic; I think it would be helpful to explain what each flag means (especially when doing the ssh part) so that those who want to can appreciate what’s being done.
2024-10-22-ucsb-git I wish that this workshop (and others) could have a demo of a real-world use case. It’s all well and good to learn the very basics, but then when I think about applying this to my workflow or to existing collaborations I have I can’t even picture what it would look like. If the last 30 minutes could have been a demo with a more complex set of files and a larger slate of collaborators, that would be good.
2024-10-22-ucsb-git Some other students mentioned “branching” as a topic they want to be covered, which might warrant a third day for the workshop
2024-10-22-ucsb-git The pace was a little fast at first, but then it got better
2024-11-05-ucsb-webscraping I mainly felt like it was a bit long, 4 hours spread out over two days. I think it could be shortened to 2-3 hours. Or instead, maybe provide a detailed schedule of what topics will be discussed, because I didn’t really need the first 30-40 min of the first workshop (I knew how HTML worked already, more or less) and was a bit disengaged during it. It’s difficult to accommodate different skill/knowledge levels and the workshop did that by going from the ground up with basics, which is nice if I were someone that needed that, I’m just not.; ; More about the length of the workshop: I did have to skip class to attend, though there are always trade-offs with scheduling at other times too. Making the workshop shorter would alleviate some schedule conflicts though.
2024-10-08-ucsb-r Breaks could be sooner like an hour 10 minutes in
2024-10-22-ucsb-git Longer, mor github functions taught
2024-10-22-ucsb-git I hope you could provide us with the full learning materials that we can look back in the future in form of a pdf or something like that.
2024-10-22-ucsb-git A summary of the material covered after the workshop
2024-10-22-ucsb-git For the scope of the topic the workshop was perfect. Lots of possibilities for advanced beginner workshops–working on our own stuff with instructor support, learning about branches, best practices for collaborative work come to mind. Could probably fit 15 min of the latter into this one, since it went a little short. (better a little short than a little long tho.)
2024-11-05-ucsb-webscraping more detailed.
2024-11-05-ucsb-webscraping more discussion time
2024-11-05-ucsb-webscraping I believe we all have different projects in mind. It would be nice if we can look at our own webpage that we are interested in and extract some data using the tools we have learned from the workshop.

How likely are you to recommend this workshop? Scale 0 - 10

Code
orderedq <- c("Detractor", "Passive", "Promoter")

nps <- results %>% 
  count(recommend_group.post, recommende_score.post, name = "count") %>% 
  drop_na() %>% 
  mutate(recommend_group.post = factor(recommend_group.post, levels = orderedq),
         percent = (count/sum(count)) * 100,
         text = sprintf("%.0f (%.0f%%)", count, percent))

nps %>% 
ggplot(aes(x=recommende_score.post, y=count, fill=recommend_group.post)) +
  geom_col(color="black", show.legend = TRUE) +
  scale_fill_manual(values = c("Detractor" = "#af8dc3", "Passive" = "#f7f7f7", "Promoter" = "#7fbf7b"), breaks = c("Detractor", "Passive", "Promoter"), drop = FALSE) +
  geom_label(aes(label = text, vjust = -0.5), fill = "white", size= 3) +
  scale_x_continuous(breaks = 1:10) +
  labs(x = "NPS Score", y = "# respondents", subtitle = paste0("Number of responses: ", sum(nps$count), "
 Mean score: ", format(weighted.mean(nps$recommende_score.post, nps$count), digits = 3))) +
  theme_minimal() +
  theme(
    panel.grid.minor = element_blank(),
    panel.grid.major.x = element_blank(),
    plot.subtitle = element_text(hjust = 0.5, size = 12)
  ) +
  expand_limits(x = c(1,10),
                y = c(0, max(nps$count)*1.1))

Topic Suggestions

Code
results %>% 
  group_by(workshop) %>% 
  select(workshop, suggest_topics.post) %>% 
  drop_na()
workshop suggest_topics.post
2024-10-08-ucsb-r Python, pytorch, tidyverse, and using R to structure data for that?
2024-10-08-ucsb-r more programming for research
2024-10-08-ucsb-r data analysis with R: intermediate and advanced
2024-10-08-ucsb-r Python, machine learning!
2024-10-22-ucsb-git maybe intro to command line/terminal? I don’t really understand how it works and I just type the things instructions tell me to, but I have little troubleshooting ability besides googling the error (which isn’t bad but I don’t know what I’m doing)
2024-10-22-ucsb-git I think a research organization workshop targeted towards upper-division undergraduates and new graduate students could be helpful. For graduate students especially, we often learn the research practices of our advisors/PIs. While they are incredibly knowledgeable, they may not be familiar with some of the newer technology and best practices. As I reflect on my graduate studies as a fifth-year, I wish I had been better set up for success in terms of organization in the beginning, but I just didn’t know better (nor did my advisor)
2024-10-22-ucsb-git Terminal commands
2024-10-22-ucsb-git I’m looking for a workshop that teaches how to create and modify a makefile
2024-10-22-ucsb-git Working with R (or Python) and GitHub instead of .md files
2024-11-05-ucsb-webscraping video editing, LaTeX
2024-10-22-ucsb-git Transferring between languages (we learn a lot of R but I know a lot of the working world uses python)
2024-10-22-ucsb-git - Basics of Object Oriented Programming
2024-10-22-ucsb-git Introduction & Intermediate workshop on Linux
2024-10-22-ucsb-git see previous answer re git workshops. i’d also like to learn about working with APIs.
2024-11-05-ucsb-webscraping No suggestions