Basics of AS Psychology Quiz 2

The AS Psychology Quiz 2 consisted of 11 questions covering units 7.3 to 7.5 worth a total value of 50 points. The questions and their point values can be seen in the table below:

##KNITTED TABLE OF QUESTIONS AND POINT VALUES
QuestionsTable <- 
  Quiz2Grades %>%
    head(11) %>%
    subset(select = c(Qnum, Question, Value)) %>%
    setNames(c("Number", "Question", "Value")) %>%
    knitr::kable(caption = "A2 Psychology- Questions and Values", row.names = F) %>%
    kable_styling(full_width = F) 

save_kable(QuestionsTable, "QuestionsTable.png")

QuestionsTable
A2 Psychology- Questions and Values
Number Question Value
1 Explain what is meant by “disrupt-then-reframe”, including an example 2
2 Explain why a customer-focused approach is also known as “solution selling” 2
3 Explain what is meant by the term “halo effect” 2
4 Explain the general idea of a ‘compensatory decision-making strategy’. Give an example of how a decision of this type might be made where attributes are weighted differently 4
5 Describe what is meant by “planogram” and how planograms are useful in the consumer environment 4
6 Explain two individual factors that Fischer et al. (brand logo recognition) attempted to explore in their study 4
7 Explain what is meant by “priming” and how slogans can help prime consumers, including an example 4
8 Explain one strength and one weakness of The Yale Model [ 4
9 Explain why Snyder & DeBono (Self-monitoring) suggested that an individual trait like self-monitoring might be associated with the effectiveness of certain types of advertisements 6
10 Describe what psychologists have discovered about communication and advertising models. [ 8
11 Evaluate what psychologists have discovered about communication and advertising models, including a discussion about psychometric tests 10

Overall Performance

Generally, the first thing we want to look at in one of these analyses is the overall distribution of grades, which we can see in the histogram below (Recall that you can tell this is a histogram rather than a bar chart because the Dependent variable (grades) is on the X axis).

#Single Histogram
#Histograms
ggplot(data=Quiz2Totals, aes(x=Grade)) +
  geom_histogram(aes(y=..density..), alpha = 0.6, position = "identity") +
  labs(x="Grade (Percentage)", y="Density") +
  stat_function(fun=dnorm, args = list(mean=mean(Quiz2Totals$Grade), sd=sd(Quiz2Totals$Grade)), 
                color="black", size   = 1.4) +
  scale_fill_manual(values= c("darkred", "darkgrey")) +
  scale_x_continuous(limits = c(0,100)) +
  theme_alan() +
  ggtitle("Histogram of Grades in A2 Psychology Quiz 2")

ggsave(here("Quiz 2 Histogram.png"), plot = last_plot(), device = NULL, path = NULL,
       width = 8, height = 4, units = c("in", "cm", "mm"),
       dpi = 600)

Overall performance was mixed, with an average score of 66.34% and a standard deviation of 19.1 (Range = 28% to 96%).

A low grade of 28% (two of them) were quite disappointing, but consistent with the results of those students on previous assessments.

Lets see if we can observe any of those things by looking at the test on a question-by-question basis, which you can see in the bar chart below (Recall that you can tell this is a bar chart and not a histogram because the dependent variable (grades) is on the y axis, and because there are spaces between the levels of the factor (question number) on the X axis - which means they represent independent data points).

Quiz2Summary <- summarySE(Quiz2Grades, measurevar = "Grade", groupvars = c("Teacher", "Qnum"))

ggplot(data=Quiz2Summary, aes(x=Qnum, y= Grade, fill = Teacher)) +
  geom_bar(stat= "summary", position = pd, width = 0.8) +
  geom_errorbar(aes(ymin= Grade - se, ymax= Grade + se), width= 0.2, size = 1, position= pd)+
  #annotate("text", x=11.5, y=7.2, label = "Average Grades", hjust = 0, fontface = "bold") +
  #annotate("text", x=11.5, y=6.7, label = "Alan's Class = 52.3%", hjust = 0, color = "darkred") +
  #annotate("text", x=11.5, y=6.2, label = "June's Class = 67.2%", hjust = 0, color = "darkgrey") +
  labs(x="Question", y="Average Grade (Value)") +
  theme_alan() +
  #scale_y_continuous(limits = c(0,3), breaks=c(0:3)) +
  scale_color_manual(values= c("darkred", "darkgrey")) +
  scale_fill_manual(values= c("darkred", "darkgrey")) +
  ggtitle("Bar Plot of Grades on A2 Psychology Quiz 2") 

ggsave(here("Quiz2Grades.png"), plot = last_plot(), device = NULL, path = NULL,
       width = 8, height = 4, units = c("in", "cm", "mm"),
       dpi = 600)

This is one way to visualize the results, but without discussion and reference to the specific questions, it isn’t very valuable. What it does reveal is that performance between the two classes was different on nearly all of the questions except the simplest ones/

Between Class Performance

Most valuably we can look at overall performance differences between the two classes, then perhaps return to any performance differences on individual questions that seem notable. You can see the distribution of performance between the two classes in the histogram below:

#Histograms by Class
JuneQ2Grades <- subset(Quiz2Totals, Teacher == "June")
AlanQ2Grades <- subset(Quiz2Totals, Teacher == "Alan")


ggplot(data=Quiz2Totals, aes(x=Grade, fill = Teacher)) +
  geom_histogram(aes(y=..density..), alpha = 0.6, position = "identity") +
  labs(x="Grade (Percentage)", y="Density") +
  # geom_text(x= 180, y = .075, label = str_wrap(testreport, 20)) +
  stat_function(fun=dnorm, args = list(mean=mean(JuneQ2Grades$Grade), sd=sd(JuneQ2Grades$Grade)), color="darkgrey", size = 1.2) +
  stat_function(fun=dnorm, args = list(mean=mean(AlanQ2Grades$Grade), sd=sd(AlanQ2Grades$Grade)), color="darkred", size = 1.2) +
  scale_fill_manual(values= c("darkred", "darkgrey")) +
  scale_x_continuous(limits = c(0,100)) +
  theme_alan() +
  ggtitle("Histogram of Grades in A2 Psychology Quiz 2 - Comparison of Classes")

ggsave(here("Quiz 2 Class Histograms.png"), plot = last_plot(), device = NULL, path = NULL,
       width = 8, height = 4, units = c("in", "cm", "mm"),
       dpi = 600)

#testcomp <- t.test(JuneQ2Grades$Grade, AlanQ2Grades$Grade, warning = FALSE, message = FALSE)

We can observe two main things from the above histogram. First, June’s class performance was more varied, with six students scoring below 50% on the test.

This is again not incredibly surprising, as at the A2 level the performance differences between the two classes have been consistent.

By-Question Performance

Looking at differences between classes can provide us with one metric of performance, but ultimately as teachers we also want to be able to identify problem areas for our students, both in terms of content and in terms of types of questions that students are struggling with. The by-question performance was shown above previously, but lets take a look at it below again:

Quiz2Grades$GradeF <- factor(Quiz2Grades$Grade)

Quiz2Group1 <- subset(Quiz2Grades, Qnum == "1"|Qnum == "2"|Qnum == "3"|Qnum == "4")
Quiz2Group2 <- subset(Quiz2Grades, Qnum == "5"|Qnum == "6"|Qnum == "7"|Qnum == "8")
Quiz2Group3 <- subset(Quiz2Grades, Qnum == "9"|Qnum == "10"|Qnum == "11")

ggplot(data=Quiz2Group1, aes(x=GradeF, fill = Teacher)) +
  geom_histogram(stat = "count", position = pd, width = 0.8) +
  labs(x="Score", y="Count") +
  theme_alan() +
  facet_wrap(~Qnum, scales = "free_x", ncol = 2)+
  theme(text = element_text(size=24)) +
  ggtitle("A2 Psychology Quiz 2 - By Question Histograms I")

Questions 1 (“Explain what is meant by “disrupt-then-reframe”, including an example “) and 2(”Explain why a customer-focused approach is also known as “solution selling” ") were basically giveaway questions, with almost all students receiving full marks for them.

Question 3 (“Explain what is meant by the term “halo effect” ") performance was overall pretty strong, although a few students failed to be explicit enough when describing the “halo effect” and a few other students missed the question entirely (disappointing as a very similar question was on their practice quiz)

Question 4 (“Explain the general idea of a ‘compensatory decision-making strategy’. Give an example of how a decision of this type might be made where attributes are weighted differently”) was quite a bit more challenging, and a fairly large number of students left their response blank or missed the mark entirely.

ggplot(data=Quiz2Group2, aes(x=GradeF, fill = Teacher)) +
  geom_histogram(stat = "count", position = pd, width = 0.8) +
  labs(x="Score", y="Count") +
  theme_alan() +
  facet_wrap(~Qnum, scales = "free_x", ncol = 2)+
  theme(text = element_text(size=24)) +
  ggtitle("A2 Psychology Quiz 2 - By Question Histograms II")

Question 5 (“Describe what is meant by “planogram” and how planograms are useful in the consumer environment “), 6 (”Explain two individual factors that Fischer et al. (brand logo recognition) attempted to explore in their study “), and 7 (”Explain what is meant by “priming” and how slogans can help prime consumers, including an example “) saw pretty varied performance, with students scoring spread across the range of values. Question 8 (”Explain one strength and one weakness of The Yale Model [") was similar but obviously quite a bit easier for the participants to handle, as relatively more of them in both classes earned full marks.

ggplot(data=Quiz2Group3, aes(x=GradeF, fill = Teacher)) +
  geom_histogram(stat = "count", position = pd, width = 0.8) +
  labs(x="Score", y="Count") +
  theme_alan() +
  facet_wrap(~Qnum, scales = "free_x", ncol = 2)+
  theme(text = element_text(size=24)) +
  ggtitle("A2 Psychology Quiz 2 - By Question Histograms III")

Performance on Question 9 (“Explain why Snyder & DeBono (Self-monitoring) suggested that an individual trait like self-monitoring might be associated with the effectiveness of certain types of advertisements”) - our “Alan-Level question” for the test was much higher than we anticipated it would be, although a sizable number of the weaker students missed the answer to this question entirely or skipped it.

Performance on the two long questions - Question 10 (“Describe what psychologists have discovered about communication and advertising models. [”) and 11 (“Evaluate what psychologists have discovered about communication and advertising models, including a discussion about psychometric tests”) again fell across a pretty wide range. Although most of the lowest scores were obtained by students who ran out of time, some for question 11 came from students who again failed to mention or adequately address the named issue (“psychometric tests”), which is something the students need to understand can never earn them a good grade.

Grade Correction

There were many four-mark questions on this test and overall the test was probably a bit too long - requiring students to earn more marks per question than they would on a standard Cambridge examination.

As such we agreed before the test that for each student we would ignore the 4-point question on which they obtained the lowest score - thus all tests would be scored out of 46 rather than 50 points.

We also decided that any grades students obtained higher than 4/6 on Question 9 would count as bonus marks, because a complete understanding of this question sufficient to earn those grades is somewhat beyond the scope of what will likely be asked by a Cambridge-Style examination. This means that the test was overall graded out of 44 points.

Quiz2Lows <- 
  Quiz2Grades %>% 
    subset(Value == 4)%>%
    group_by(Student) %>%
    dplyr::summarise(low = min(Grade)) %>%
    arrange(Student)

Quiz2Totals %<>%
  mutate(DropLow = sum - Quiz2Lows$low) %>%
  mutate(`Revised Grade` = DropLow/44*100) %>%
  mutate(`Revised Grade` = ifelse(`Revised Grade` < Grade, Grade, `Revised Grade`)) 

Grade Boundaries

With almost all grades in hand it is now possible to advise students on the grades that they will require on their final exam to obtain the various grade boundaries in the course. For example a student with a 67% in the course currently would require a 93% on the End-of-Term exam to receive an A Grade (80%) for the semester.

For simplicity, when calculating these boundaries we will assume that all students are able to obtain the full 5 marks for participation and 10 marks for homework in their class. Students should inquire with their instructor to determine how likely they are to obtain these marks.

GradeSheet <- read.csv(here("A2Marksheet.csv"))

MidtermTotals <- 
  MidtermGrades %>%
  unite(Combo, Teacher, Student, sep = "-", remove = FALSE) %>%
  group_by(Combo) %>%
  dplyr::summarise(sum = sum(Grade)) %>%
  mutate(Grade = round(sum/40*100, 1))%>%
  separate(Combo, into = c("Teacher", "Student"), sep = "-", remove = TRUE) %>%
  arrange(Student) 

A2GradeSheetRescale <-
  Quiz2Totals %>%
    mutate(Midterm = as.numeric(plyr::mapvalues(Student,
                                        from = MidtermTotals$Student,
                                        to= MidtermTotals$Grade))) %>%
    mutate(`Quiz 1 (R)` = as.numeric(plyr::mapvalues(Student,
                                        from = GradeSheet$Name,
                                        to= GradeSheet$Revised))) %>%
    mutate(Participation = 5) %>%
    mutate(Homework = 10) %>%
    mutate(`Quiz 1 (7.5 marks)` = round(`Quiz 1 (R)`/100*7.5,1)) %>%
    mutate(`Midterm (20 marks)` = round(Midterm/100*20,1)+1) %>%
    mutate(`Quiz 2 (7.5 marks)` = round(`Revised Grade`/100*7.5,1)) %>%
    mutate(`Participation (5 marks)` = Participation) %>%
    mutate(`Homework (10 marks)` = Homework) %>%
    mutate(Total = `Quiz 1 (7.5 marks)` + `Midterm (20 marks)` + `Quiz 2 (7.5 marks)` + `Participation (5 marks)` + `Homework (10 marks)`) %>%
    subset(select = c(Teacher, Student, Anon, `Quiz 1 (7.5 marks)`, `Quiz 2 (7.5 marks)`, `Midterm (20 marks)`, 
                    `Participation (5 marks)`, `Homework (10 marks)`, Total)) %>%
    arrange(-Total)


#Alan's Students
A2GradeSheetRescaleKnitAlan <- 
  A2GradeSheetRescale %>%
    subset(Teacher == "Alan") %>%
    subset(select = -c(Teacher, Anon))%>%
    knitr::kable(caption = "A2 Psychology- Overall Performance - Alan's Class", row.names = F) %>%
    kable_styling(full_width = F) 

save_kable(A2GradeSheetRescaleKnitAlan, "A2 Psychology - Overall Table - Alan.png")

#Anon
A2GradeSheetRescaleKnitAlanAnon <- 
  A2GradeSheetRescale %>%
    subset(Teacher == "Alan") %>%
    subset(select = -c(Teacher, Student))%>%
    knitr::kable(caption = "A2 Psychology- Overall Performance - Alan's Class", row.names = F) %>%
    kable_styling(full_width = F) 

A2GradeSheetRescaleKnitAlanAnon
A2 Psychology- Overall Performance - Alan’s Class
Anon Quiz 1 (7.5 marks) Quiz 2 (7.5 marks) Midterm (20 marks) Participation (5 marks) Homework (10 marks) Total
A10 6.6 7.5 20.0 5 10 49.1
A5 6.8 6.6 19.5 5 10 47.9
A6 7.5 6.8 16.5 5 10 45.8
A1 7.0 6.5 17.0 5 10 45.5
A2 5.6 6.8 17.5 5 10 44.9
A11 6.4 6.3 16.0 5 10 43.7
A7 5.8 5.5 16.5 5 10 42.8
A4 5.2 6.6 14.5 5 10 41.3
A8 6.4 5.3 12.5 5 10 39.2
A9 5.7 4.9 11.5 5 10 37.1
A3 3.5 5.8 9.5 5 10 33.8
#June's Students
A2GradeSheetRescaleKnitJune <- 
  A2GradeSheetRescale %>%
    subset(Teacher == "June") %>%
    subset(select = -c(Teacher, Anon))%>%
    knitr::kable(caption = "A2 Psychology- Overall Performance - June's Class", row.names = F) %>%
    kable_styling(full_width = F) 

save_kable(A2GradeSheetRescaleKnitJune, "A2 Psychology - Overall Table - June.png")

#Anon
A2GradeSheetRescaleKnitJuneAnon <- 
  A2GradeSheetRescale %>%
    subset(Teacher == "June") %>%
    subset(select = -c(Teacher, Student))%>%
    knitr::kable(caption = "A2 Psychology- Overall Performance - June's Class", row.names = F) %>%
    kable_styling(full_width = F) 

A2GradeSheetRescaleKnitJuneAnon
A2 Psychology- Overall Performance - June’s Class
Anon Quiz 1 (7.5 marks) Quiz 2 (7.5 marks) Midterm (20 marks) Participation (5 marks) Homework (10 marks) Total
J10 7.3 6.5 19.0 5 10 47.8
J15 6.3 7.5 17.0 5 10 45.8
J7 7.5 6.5 16.0 5 10 45.0
J9 5.6 6.6 16.5 5 10 43.7
J14 7.3 6.5 14.0 5 10 42.8
J18 5.8 5.8 16.0 5 10 42.6
J1 6.8 5.1 14.5 5 10 41.4
J12 3.5 6.0 15.0 5 10 39.5
J3 4.4 5.5 13.5 5 10 38.4
J4 5.7 4.4 11.5 5 10 36.6
J11 4.9 5.3 10.5 5 10 35.7
J13 4.1 4.1 12.0 5 10 35.2
J16 4.8 3.8 10.5 5 10 34.1
J6 4.2 4.6 9.0 5 10 32.8
J8 4.7 3.8 9.0 5 10 32.5
J17 2.0 2.4 7.0 5 10 26.4
J2 2.1 2.2 5.5 5 10 24.8
J5 5.2 2.6 NA 5 10 NA

The above tables show students grades as they stand currently - with the total being out of 50 marks. But what we want to know is what grade students need to achieve on the End of Term examination to reach the various grade boundaries.

A2GradeSheetBoundaries2 <- 
  A2GradeSheetRescale %>%
    mutate(`Participation (5 marks)` = 5) %>%
    mutate(`Homework (10 marks)` = 10) %>%
    mutate(Total = `Quiz 1 (7.5 marks)` + `Quiz 2 (7.5 marks)` + `Midterm (20 marks)` + `Participation (5 marks)` + `Homework (10 marks)`) %>%
    arrange(-Total) %>%
    mutate(`A Star` = (89.5 - Total) * 2) %>%
    mutate(A = `A Star` - 20) %>%
    mutate(B = A - 20) %>%
    mutate(C = B - 20) %>%
    mutate(D = C - 20) %>%
    mutate(E = D - 20) %>%
    mutate(`A Star` = ifelse(`A Star` >100, "NP", `A Star`)) %>%
    mutate(A = ifelse(A >100, "NP", A)) %>%
    mutate(E = ifelse(E < 0 , "NA", round(E,2))) %>%
    subset(select = - Total) 

# Alan
A2GradeSheetBoundaries2Alan <- 
  A2GradeSheetBoundaries2 %>%
    subset(Teacher == "Alan") %>%
    subset(select = -c(Teacher, Anon)) %>%
    knitr::kable(caption = "A2 Psychology- Grade Boundaries II - Alan's Class", row.names = F) %>%
    add_header_above(c(" " = 1, "Current Grades" = 5, "Grade Boundaries (NP = Not Possible)" = 6)) %>%
    footnote(general = "Grade Boundaries represent the grade (percentage) a student would have to achieve on the End of Term Exam") %>%
    kable_styling(full_width = F) 

save_kable(A2GradeSheetBoundaries2Alan, "Boundaries 2 Alan.png")

#Alan Anonymous

A2GradeSheetBoundaries2AlanAnon <- 
  A2GradeSheetBoundaries2 %>%
    subset(Teacher == "Alan") %>%
    subset(select = -c(Teacher, Student)) %>%
    knitr::kable(caption = "A2 Psychology- Grade Boundaries I - Alan's Class", row.names = F) %>%
    add_header_above(c(" " = 1, "Current Grades" = 5, "Grade Boundaries (NP = Not Possible)" = 6)) %>%
    footnote(general = "Grade Boundaries represent the grade (percentage) a student would have to achieve on the End of Term Exam") %>%
    kable_styling(full_width = F) 

A2GradeSheetBoundaries2AlanAnon
A2 Psychology- Grade Boundaries I - Alan’s Class
Current Grades
Grade Boundaries (NP = Not Possible)
Anon Quiz 1 (7.5 marks) Quiz 2 (7.5 marks) Midterm (20 marks) Participation (5 marks) Homework (10 marks) A Star A B C D E
A10 6.6 7.5 20.0 5 10 80.8 60.8 40.8 20.8 0.8 NA
A5 6.8 6.6 19.5 5 10 83.2 63.2 43.2 23.2 3.2 NA
A6 7.5 6.8 16.5 5 10 87.4 67.4 47.4 27.4 7.4 NA
A1 7.0 6.5 17.0 5 10 88 68 48.0 28.0 8.0 NA
A2 5.6 6.8 17.5 5 10 89.2 69.2 49.2 29.2 9.2 NA
A11 6.4 6.3 16.0 5 10 91.6 71.6 51.6 31.6 11.6 NA
A7 5.8 5.5 16.5 5 10 93.4 73.4 53.4 33.4 13.4 NA
A4 5.2 6.6 14.5 5 10 96.4 76.4 56.4 36.4 16.4 NA
A8 6.4 5.3 12.5 5 10 NP 80.6 60.6 40.6 20.6 0.6
A9 5.7 4.9 11.5 5 10 NP 84.8 64.8 44.8 24.8 4.8
A3 3.5 5.8 9.5 5 10 NP 91.4 71.4 51.4 31.4 11.4
Note:
Grade Boundaries represent the grade (percentage) a student would have to achieve on the End of Term Exam
# June
A2GradeSheetBoundaries2June <- 
  A2GradeSheetBoundaries2 %>%
    subset(Teacher == "June") %>%
    subset(select = -c(Teacher, Anon)) %>%
    knitr::kable(caption = "A2 Psychology- Grade Boundaries II - June's Class", row.names = F) %>%
    add_header_above(c(" " = 1, "Current Grades" = 5, "Grade Boundaries (NP = Not Possible)" = 6)) %>%
    footnote(general = "Grade Boundaries represent the grade (percentage) a student would have to achieve on the End of Term Exam") %>%
    kable_styling(full_width = F) 

save_kable(A2GradeSheetBoundaries2June, "Boundaries 2 June.png")

#June Anonymous

A2GradeSheetBoundaries2JuneAnon <- 
  A2GradeSheetBoundaries2 %>%
    subset(Teacher == "June") %>%
    subset(select = -c(Teacher, Student)) %>%
    knitr::kable(caption = "A2 Psychology- Grade Boundaries II - June's Class", row.names = F) %>%
    add_header_above(c(" " = 1, "Current Grades" = 5, "Grade Boundaries (NP = Not Possible)" = 6)) %>%
    footnote(general = "Grade Boundaries represent the grade (percentage) a student would have to achieve on the End of Term Exam") %>%
    kable_styling(full_width = F) 

A2GradeSheetBoundaries2JuneAnon
A2 Psychology- Grade Boundaries II - June’s Class
Current Grades
Grade Boundaries (NP = Not Possible)
Anon Quiz 1 (7.5 marks) Quiz 2 (7.5 marks) Midterm (20 marks) Participation (5 marks) Homework (10 marks) A Star A B C D E
J10 7.3 6.5 19.0 5 10 83.4 63.4 43.4 23.4 3.4 NA
J15 6.3 7.5 17.0 5 10 87.4 67.4 47.4 27.4 7.4 NA
J7 7.5 6.5 16.0 5 10 89 69 49.0 29.0 9.0 NA
J9 5.6 6.6 16.5 5 10 91.6 71.6 51.6 31.6 11.6 NA
J14 7.3 6.5 14.0 5 10 93.4 73.4 53.4 33.4 13.4 NA
J18 5.8 5.8 16.0 5 10 93.8 73.8 53.8 33.8 13.8 NA
J1 6.8 5.1 14.5 5 10 96.2 76.2 56.2 36.2 16.2 NA
J12 3.5 6.0 15.0 5 10 100 80 60.0 40.0 20.0 0
J3 4.4 5.5 13.5 5 10 NP 82.2 62.2 42.2 22.2 2.2
J4 5.7 4.4 11.5 5 10 NP 85.8 65.8 45.8 25.8 5.8
J11 4.9 5.3 10.5 5 10 NP 87.6 67.6 47.6 27.6 7.6
J13 4.1 4.1 12.0 5 10 NP 88.6 68.6 48.6 28.6 8.6
J16 4.8 3.8 10.5 5 10 NP 90.8 70.8 50.8 30.8 10.8
J6 4.2 4.6 9.0 5 10 NP 93.4 73.4 53.4 33.4 13.4
J8 4.7 3.8 9.0 5 10 NP 94 74.0 54.0 34.0 14
J17 2.0 2.4 7.0 5 10 NP NP 86.2 66.2 46.2 26.2
J2 2.1 2.2 5.5 5 10 NP NP 89.4 69.4 49.4 29.4
J5 5.2 2.6 NA 5 10 NA NA NA NA NA NA
Note:
Grade Boundaries represent the grade (percentage) a student would have to achieve on the End of Term Exam

Grade Boundaries 3- Bonus Quiz

As it stands, an A* is out of the range of possibility for many of the students. For some this is unlikely to change and probably represents their level of understanding of A2 Psychology. For others, this is because of a very disappointing performance on one of the quizzes (mostly Quiz 1). Because of this, June and I have agreed to give the students an additional Bonus Quiz on December 22nd at 4:10 PM. Students will be able to use their grade on this quiz to replace their lowest current quiz grade. For example if a student earned a grade of 3/7.5 (40%) on Quiz 1, but then earned an 80% on this bonus quiz, it would replace that grade and their Quiz 1 Grade would become 6/7.5.

The projected grades below are based on students obtaining a grade on the Bonus Quiz 30% higher (2.25 marks) than their lowest quiz score.

A2GradeSheetBoundaries3 <- 
  A2GradeSheetRescale %>%
    mutate(`Participation (5 marks)` = 5) %>%
    mutate(`Homework (10 marks)` = 10) %>%
    mutate(`High Quiz (7.5 marks)` = pmax(`Quiz 1 (7.5 marks)`, `Quiz 2 (7.5 marks)`)) %>%
    mutate(`Low Quiz (7.5 marks)` = pmin(`Quiz 1 (7.5 marks)`, `Quiz 2 (7.5 marks)`)) %>%
    mutate(`Bonus Quiz (7.5 marks)` = `Low Quiz (7.5 marks)` + 2.25) %>%
    mutate(`Bonus Quiz (7.5 marks)` = ifelse(`Bonus Quiz (7.5 marks)` > 7.5, 7.5, `Bonus Quiz (7.5 marks)`)) %>%
    mutate(Total = `High Quiz (7.5 marks)` + `Bonus Quiz (7.5 marks)` + `Midterm (20 marks)` + `Participation (5 marks)` + `Homework (10 marks)`) %>%
    arrange(-Total) %>%
    subset(select = c(Teacher, Student, Anon, `High Quiz (7.5 marks)`, `Bonus Quiz (7.5 marks)`, `Midterm (20 marks)`, 
                    `Participation (5 marks)`, `Homework (10 marks)`, Total)) %>%
    mutate(`A Star` = (89.5 - Total) * 2) %>%
    mutate(A = `A Star` - 20) %>%
    mutate(B = A - 20) %>%
    mutate(C = B - 20) %>%
    mutate(D = C - 20) %>%
    mutate(E = D - 20) %>%
    mutate(`A Star` = ifelse(`A Star` >100, "NP", `A Star`)) %>%
    mutate(A = ifelse(A >100, "NP", A)) %>%
    mutate(E = ifelse(E < 0 , "NA", round(E,2))) %>%
    subset(select = - Total) 

# Alan
A2GradeSheetBoundaries3Alan <- 
  A2GradeSheetBoundaries3 %>%
    subset(Teacher == "Alan") %>%
    subset(select = -c(Teacher, Anon)) %>%
    knitr::kable(caption = "A2 Psychology- Grade Boundaries III - Alan's Class", row.names = F) %>%
    add_header_above(c(" " = 1, "Current Grades" = 5, "Grade Boundaries (NP = Not Possible)" = 6)) %>%
    footnote(general = "Grade Boundaries represent the grade (percentage) a student would have to achieve on the End of Term Exam") %>%
    kable_styling(full_width = F) 

save_kable(A2GradeSheetBoundaries3Alan, "Boundaries 3 Alan.png")

#Alan Anonymous
A2GradeSheetBoundaries3AlanAnon <- 
  A2GradeSheetBoundaries3 %>%
    subset(Teacher == "Alan") %>%
    subset(select = -c(Teacher, Student)) %>%
    knitr::kable(caption = "A2 Psychology- Grade Boundaries III - Alan's Class", row.names = F) %>%
    add_header_above(c(" " = 1, "Current Grades" = 5, "Grade Boundaries (NP = Not Possible)" = 6)) %>%
    footnote(general = "Grade Boundaries represent the grade (percentage) a student would have to achieve on the End of Term Exam") %>%
    kable_styling(full_width = F) 

A2GradeSheetBoundaries3AlanAnon
A2 Psychology- Grade Boundaries III - Alan’s Class
Current Grades
Grade Boundaries (NP = Not Possible)
Anon High Quiz (7.5 marks) Bonus Quiz (7.5 marks) Midterm (20 marks) Participation (5 marks) Homework (10 marks) A Star A B C D E
A10 7.5 7.50 20.0 5 10 79 59 39.0 19.0 -1.0 NA
A5 6.8 7.50 19.5 5 10 81.4 61.4 41.4 21.4 1.4 NA
A2 6.8 7.50 17.5 5 10 85.4 65.4 45.4 25.4 5.4 NA
A6 7.5 7.50 16.5 5 10 86 66 46.0 26.0 6.0 NA
A1 7.0 7.50 17.0 5 10 86 66 46.0 26.0 6.0 NA
A11 6.4 7.50 16.0 5 10 89.2 69.2 49.2 29.2 9.2 NA
A7 5.8 7.50 16.5 5 10 89.4 69.4 49.4 29.4 9.4 NA
A4 6.6 7.45 14.5 5 10 91.9 71.9 51.9 31.9 11.9 NA
A8 6.4 7.50 12.5 5 10 96.2 76.2 56.2 36.2 16.2 NA
A9 5.7 7.15 11.5 5 10 NP 80.3 60.3 40.3 20.3 0.3
A3 5.8 5.75 9.5 5 10 NP 86.9 66.9 46.9 26.9 6.9
Note:
Grade Boundaries represent the grade (percentage) a student would have to achieve on the End of Term Exam
# June
A2GradeSheetBoundaries3June <- 
  A2GradeSheetBoundaries3 %>%
    subset(Teacher == "June") %>%
    subset(select = -c(Teacher, Anon)) %>%
    knitr::kable(caption = "A2 Psychology- Grade Boundaries III - June's Class", row.names = F) %>%
    add_header_above(c(" " = 1, "Current Grades" = 5, "Grade Boundaries (NP = Not Possible)" = 6)) %>%
    footnote(general = "Grade Boundaries represent the grade (percentage) a student would have to achieve on the End of Term Exam") %>%
    kable_styling(full_width = F) 

save_kable(A2GradeSheetBoundaries3June, "Boundaries 3 June.png")

#June Anonymous
A2GradeSheetBoundaries3JuneAnon <- 
  A2GradeSheetBoundaries3 %>%
    subset(Teacher == "June") %>%
    subset(select = -c(Teacher, Student)) %>%
    knitr::kable(caption = "A2 Psychology- Grade Boundaries III - June's Class", row.names = F) %>%
    add_header_above(c(" " = 1, "Current Grades" = 5, "Grade Boundaries (NP = Not Possible)" = 6)) %>%
    footnote(general = "Grade Boundaries represent the grade (percentage) a student would have to achieve on the End of Term Exam") %>%
    kable_styling(full_width = F) 

A2GradeSheetBoundaries3JuneAnon
A2 Psychology- Grade Boundaries III - June’s Class
Current Grades
Grade Boundaries (NP = Not Possible)
Anon High Quiz (7.5 marks) Bonus Quiz (7.5 marks) Midterm (20 marks) Participation (5 marks) Homework (10 marks) A Star A B C D E
J10 7.3 7.50 19.0 5 10 81.4 61.4 41.4 21.4 1.4 NA
J15 7.5 7.50 17.0 5 10 85 65 45.0 25.0 5.0 NA
J7 7.5 7.50 16.0 5 10 87 67 47.0 27.0 7.0 NA
J9 6.6 7.50 16.5 5 10 87.8 67.8 47.8 27.8 7.8 NA
J18 5.8 7.50 16.0 5 10 90.4 70.4 50.4 30.4 10.4 NA
J14 7.3 7.50 14.0 5 10 91.4 71.4 51.4 31.4 11.4 NA
J1 6.8 7.35 14.5 5 10 91.7 71.7 51.7 31.7 11.7 NA
J12 6.0 5.75 15.0 5 10 95.5 75.5 55.5 35.5 15.5 NA
J3 5.5 6.65 13.5 5 10 97.7 77.7 57.7 37.7 17.7 NA
J4 5.7 6.65 11.5 5 10 NP 81.3 61.3 41.3 21.3 1.3
J11 5.3 7.15 10.5 5 10 NP 83.1 63.1 43.1 23.1 3.1
J13 4.1 6.35 12.0 5 10 NP 84.1 64.1 44.1 24.1 4.1
J16 4.8 6.05 10.5 5 10 NP 86.3 66.3 46.3 26.3 6.3
J6 4.6 6.45 9.0 5 10 NP 88.9 68.9 48.9 28.9 8.9
J8 4.7 6.05 9.0 5 10 NP 89.5 69.5 49.5 29.5 9.5
J17 2.4 4.25 7.0 5 10 NP NP 81.7 61.7 41.7 21.7
J2 2.2 4.35 5.5 5 10 NP NP 84.9 64.9 44.9 24.9
J5 5.2 4.85 NA 5 10 NA NA NA NA NA NA
Note:
Grade Boundaries represent the grade (percentage) a student would have to achieve on the End of Term Exam

If you have any questions or comments about student performance in the class, please don’t hesitate to get in touch via email to Alan Nielsen or June Zhu.

This report was generated using R Markdown.