load packages

library(tidyverse)
library(janitor)
library(ggeasy)

theme_set(theme_classic())

read feedback tool data

X1A_feedback <- read_csv("1A-feedback.csv") %>%
  clean_names() %>%
  select(autoalerts = "have_you_received_automated_alerts_from_this_course_i_e_occasional_small_textbox_that_pops_up_when_you_enter_moodle_with_resource_suggestions", agreement = "please_rate_your_agreement_with_the_following_statements", 
        useful = "the_alerts_were_useful" , 
        annoying = "the_alerts_were_annoying" , 
        other = "any_other_feedback_comments" ) %>%
  mutate(course = "PSYC1A")

X1B_feedback <- read_csv("1B-feedback.csv") %>%
  clean_names() %>%
  select(autoalerts = "have_you_received_automated_alerts_from_this_course_i_e_occasional_small_textbox_that_pops_up_when_you_enter_moodle_with_resource_suggestions", agreement = "please_rate_your_agreement_with_the_following_statements", 
        useful = "the_alerts_were_useful" , 
        annoying = "the_alerts_were_annoying" , 
        other = "any_other_feedback_comments" ) %>%
  mutate(course = "PSYC1B")

babs_feedback <- read_csv("BABS1202-feedback.csv") %>%
  clean_names() %>%
  select(autoalerts = "have_you_received_automated_alerts_from_this_course_i_e_occasional_small_textbox_that_pops_up_when_you_enter_moodle_with_resource_suggestions", agreement = "please_rate_your_agreement_with_the_following_statements", 
        useful = "the_alerts_were_useful" , 
        annoying = "the_alerts_were_annoying" , 
        other = "any_other_feedback_comments" ) %>%
  mutate(course = "BABS1202")


psyc_feedback <- rbind(X1A_feedback, X1B_feedback)

all_feedback <- rbind(X1A_feedback, X1B_feedback, babs_feedback)

PSYCH ANALYSIS

how many students completed saw the alerts

Of the 118 students in total, 65 said they had seen the autoalerts. Unfortunately we don’t know when during the term they completed the feedback tool, so can’t tell whether they didn’t see the alerts just because they hadn’t been scheduled yet.

psyc_feedback %>%
  count(autoalerts)
## # A tibble: 3 x 2
##   autoalerts     n
##   <chr>      <int>
## 1 No            46
## 2 Yes           65
## 3 <NA>           7

Remove missing responses (go from 118 to 99 responses), filter for just those who said they had seen the alerts (N = 64).

psyc_complete <- psyc_feedback %>%
  select(course, autoalerts, useful, annoying) %>%
  na.omit()

psyc_complete$useful <- factor(psyc_complete$useful, levels = c("Strongly disagree", "Disagree", "Neither agree or disagree", "Agree", "Strongly agree"))

psyc_complete$annoying <- factor(psyc_complete$annoying, levels = c("Strongly disagree", "Disagree", "Neither agree or disagree", "Agree", "Strongly agree"))

# filter just students who have seen the alerts
seen <- psyc_complete %>%
 filter(autoalerts == "Yes") 

plot useful vs annoying responses

useful

seen %>%
  ggplot(aes(x = useful, fill = useful)) +
  geom_bar() +
  labs(title = "Responses to feedback question N= 64", subtitle= "The autoalerts were useful") +
  easy_remove_legend() +
  scale_y_continuous(expand = c(0,0), limits = c(0,50)) 

annoying

seen %>%
  ggplot(aes(x = annoying, fill = annoying)) +
  geom_bar() +
  labs(title = "Responses to feedback question N=64", subtitle= "The autoalerts were annoying") +
  easy_remove_legend() +
  scale_y_continuous(expand = c(0,0), limits = c(0,50)) 

TAKE HOME: in psych courses the feedback tool data suggests most students who saw the alerts found them useful and not annoying.

BABS ANALYSIS

Remove missing responses (go from 29 to 23 responses), filter for those who have seen the alerts (N = 14)

babs_complete <- babs_feedback %>%
 select(course, autoalerts, useful, annoying) %>%
  na.omit()

babs_complete$useful <- factor(babs_complete$useful, levels = c("Strongly disagree", "Disagree", "Neither agree or disagree", "Agree", "Strongly agree"))

babs_complete$annoying <- factor(babs_complete$annoying, levels = c("Strongly disagree", "Disagree", "Neither agree or disagree", "Agree", "Strongly agree"))

# filter just students who have seen the alerts
seen_babs <- babs_complete %>%
 filter(autoalerts == "Yes") 

useful

seen_babs %>%
  ggplot(aes(x = useful, fill = useful)) +
  geom_bar() +
  labs(title = "Responses to feedback question N=14", subtitle= "The autoalerts were useful") +
  easy_remove_legend() +
  scale_y_continuous(expand = c(0,0), limits = c(0,20)) 

annoying

seen_babs %>%
  ggplot(aes(x = annoying, fill = annoying)) +
  geom_bar() +
  labs(title = "Responses to feedback question N=14", subtitle= "The autoalerts were annoying") +
  easy_remove_legend() +
  scale_y_continuous(expand = c(0,0), limits = c(0,20)) 

TAKE HOME: pattern similar in BABS1202; only N= 14 though.

BABS + PSYCH TOGETHER

remove missing responses (147 to 122 responses), filter for seen total = 78 responses.

all_complete <- all_feedback %>%
  select(course, autoalerts, useful, annoying) %>%
  na.omit()

all_complete$useful <- factor(all_complete$useful, 
                              levels = c("Strongly disagree", "Disagree", "Neither agree or disagree", "Agree", "Strongly agree"))

all_complete$annoying <- factor(all_complete$annoying, 
                                levels = c("Strongly disagree", "Disagree", "Neither agree or disagree", "Agree", "Strongly agree"))

all_complete$course <- factor(all_complete$course, 
                                levels = c("PSYC1A", "PSYC1B", "BABS1202"))

# filter just students who have seen the alerts
seen_all <- all_complete %>%
 filter(autoalerts == "Yes") 

levels(seen_all$useful)
## [1] "Strongly disagree"         "Disagree"                 
## [3] "Neither agree or disagree" "Agree"                    
## [5] "Strongly agree"
levels(seen_all$annoying)
## [1] "Strongly disagree"         "Disagree"                 
## [3] "Neither agree or disagree" "Agree"                    
## [5] "Strongly agree"

useful

seen_all %>%
  ggplot(aes(x = useful, fill = useful)) +
  geom_bar() +
  labs(title = "Responses to feedback question N=78", subtitle= "The autoalerts were useful") +
  easy_remove_legend() +
  scale_y_continuous(expand = c(0,0), limits = c(0,50)) 

by course

seen_all %>%
  ggplot(aes(x = useful, fill = useful)) +
  geom_bar() +
  labs(title = "Responses to feedback question N=78", subtitle= "The autoalerts were useful") +
  easy_remove_legend() +
  scale_y_continuous(expand = c(0,0), limits = c(0,30)) +
  scale_x_discrete(labels=c("Strongly disagree" = "SD", "Disagree" = "D", 
                            "Neither agree or disagree" = "N",  "Agree" = "A", 
                            "Strongly agree" = "SA")) +
  facet_wrap(~course)

annoying

seen_all %>%
  ggplot(aes(x = annoying, fill = annoying)) +
  geom_bar() +
  labs(title = "Responses to feedback question N=78", subtitle= "The autoalerts were annoying") +
  easy_remove_legend() +
  scale_y_continuous(expand = c(0,0), limits = c(0,50)) 

by course

seen_all %>%
  ggplot(aes(x = annoying, fill = annoying)) +
  geom_bar() +
  labs(title = "Responses to feedback question N=78", subtitle= "The autoalerts were annoying") +
  easy_remove_legend() +
  scale_y_continuous(expand = c(0,0), limits = c(0,30)) +
  scale_x_discrete(labels=c("Strongly disagree" = "SD", "Disagree" = "D", 
                            "Neither agree or disagree" = "N",  "Agree" = "A", 
                            "Strongly agree" = "SA")) +
  facet_wrap(~course)