To enable verification of the data in our memo, here is the R code used in the data work.

Data Sources and Analysis

To get the data,

This downloaded a CSV data file named LIU_Searched_Classes_2022-11-16.csv. (The date in the file’s name is the date of the download.)

library(tidyverse)
library(kableExtra)
data_raw <- read_csv(file = "LIU_Searched_Classes_2022-11-16.csv", 
                 na = c("", "NA", 999))
data_quota_notNA <- data_raw |>
  filter(!is.na(Quota))
# This removes sections with Quota unspecified or 999, which is not a meaningful number in this context.

ECO sections’ quotas are unusually high

Currently, the Spring 2023 quotas are at 50 for the intro ECO courses (ECO 10 and ECO 11) and even for the electives (ECO 40 and ECO 62).

The number of Spring 2023 sections are listed on the LIU Post website is 1041. Of these, 874 sections have specified quotas.

nrow(data_raw) # Number of Spring 2023 sections
## [1] 1041
nrow(data_quota_notNA) # Number of Spring 2023 sections with quota specified
## [1] 874

Of the 874 sections with specified quotas, only 9 have quotas higher than 50. (These include History of World Cinema (200), Human Anatomy & Physiology II (100), Music Internship (99), Music Senior Thesis (99), General Biology I and II (90), and Foundations of Biology I (88).)

And only 16 of the 874 sections with specified quotas have a quota of 50. These 16 include six ECO sections and ten EDI sections. (The ten EDI sections have the titles “Student Teaching” and “Supervised Student Teaching”.)

The average quota for ECO sections – sum of the quotas for all sections in a subject divided by the number of sections – is the highest of all 68 subjects listed for Spring 2023.

Even intro/principles courses in similar areas – such as FIN, ACC, MKT, SOC, POL, MAN – have lower quotas (usually 44 or 40). So, we ask:

Average Quota for ECO sections is the highest of all

subjects <- data_quota_notNA |>
  group_by(SubjectCode) |>
  summarise(Quota_Lowest = min(Quota), 
            Quota_Highest = max(Quota),
            sections = n(),
            Quota_Average = round(sum(Quota)/n(),2)) |>
  arrange(desc(Quota_Average))
subjects |>
  knitr::kable(caption = "Variation in section quotas across subjects") |>
  kableExtra::kable_styling(full_width = FALSE)
Variation in section quotas across subjects
SubjectCode Quota_Lowest Quota_Highest sections Quota_Average
ECO 30 50 8 46.25
HIS 30 44 7 41.43
SOC 40 44 12 41.00
LAW 40 40 3 40.00
POST 40 40 1 40.00
MTH 38 40 26 39.77
MAN 30 40 14 39.29
ACC 36 40 11 38.55
PSY 20 48 19 37.53
EDI 21 50 35 35.60
MKT 3 44 13 35.00
CIN 12 200 16 34.50
POL 3 44 12 33.92
HE 29 35 3 33.00
BIO 12 100 39 32.41
CACJ 13 48 21 32.19
FIN 20 44 10 31.20
PHI 30 32 12 30.33
EDS 30 30 5 30.00
ENT 20 40 6 30.00
HAD 30 30 2 30.00
PROJ 30 30 1 30.00
SPE 30 30 12 30.00
SPM 30 30 5 30.00
AST 24 35 2 29.50
IDS 29 29 1 29.00
VST 12 40 20 28.40
HPA 20 30 6 28.00
BDST 20 30 16 27.81
FM 18 30 10 27.60
CMA 20 33 5 26.60
ART 15 46 33 26.27
GGR 20 35 4 26.25
MUS 12 99 24 26.21
CHM 16 40 34 26.03
CLA 25 25 2 25.00
HSC 10 35 5 25.00
MIS 25 25 1 25.00
QAS 25 25 3 25.00
PHY 24 28 7 24.57
HPE 15 30 5 24.00
JPN 24 24 1 24.00
PED 12 30 3 24.00
RUS 24 24 3 24.00
SPA 24 24 7 24.00
WLT 24 24 1 24.00
ENG 5 30 39 23.87
ERS 16 32 10 23.20
RDT 4 30 23 22.87
BMS 3 40 22 22.86
NTR 3 30 12 22.83
ORC 20 25 2 22.50
NRS 8 32 59 22.47
PR 20 25 3 21.67
DA 15 25 10 21.50
FSC 18 24 6 21.50
SWK 15 34 9 21.33
ARM 16 30 3 21.00
JOU 3 30 7 20.43
CS 6 25 11 20.27
COMM 20 20 3 20.00
PE 13 30 3 19.33
THE 10 30 102 17.84
ARTH 12 23 6 17.67
DGD 15 18 11 17.45
DNC 16 30 32 17.00
CGPH 13 16 12 15.50
VISL 13 13 2 13.00
HED 12 12 1 12.00

Average Quota for ECO sections is the highest of all (WAC courses excluded)

subjects_noWAC <- data_quota_notNA |>
  filter(WAC %in% unique(WAC)[-which(unique(WAC) == "WAC")]) |>
  group_by(SubjectCode) |>
  summarise(Quota_Lowest = min(Quota), 
            Quota_Highest = max(Quota),
            sections = n(),
            Quota_Average = round(sum(Quota)/n(),2)) |>
  arrange(desc(Quota_Average))
subjects_noWAC |>
  knitr::kable(caption = "Variation in section quotas across subjects (Excluding WAC courses)") |>
  kableExtra::kable_styling(full_width = FALSE)
Variation in section quotas across subjects (Excluding WAC courses)
SubjectCode Quota_Lowest Quota_Highest sections Quota_Average
ECO 30 50 8 46.25
SOC 40 44 12 41.00
HIS 30 44 5 40.40
LAW 40 40 3 40.00
POST 40 40 1 40.00
MTH 38 40 26 39.77
MAN 30 40 11 39.09
ACC 36 40 11 38.55
CIN 12 200 13 37.85
PSY 20 48 19 37.53
EDI 21 50 30 36.53
FIN 30 44 7 34.57
POL 3 44 11 33.82
HE 29 35 3 33.00
BIO 12 100 38 32.68
MKT 3 44 8 31.88
CACJ 13 48 17 30.35
PHI 30 32 9 30.22
EDS 30 30 5 30.00
ENT 20 40 6 30.00
HAD 30 30 1 30.00
PROJ 30 30 1 30.00
SPE 30 30 11 30.00
SPM 30 30 5 30.00
AST 24 35 2 29.50
VST 12 40 18 29.33
IDS 29 29 1 29.00
BDST 20 30 15 28.33
CMA 20 33 3 27.67
FM 18 30 10 27.60
HPA 20 30 4 27.00
MUS 12 99 22 26.41
GGR 20 35 4 26.25
ART 15 46 30 26.23
CHM 16 40 34 26.03
HSC 10 35 5 25.00
MIS 25 25 1 25.00
PR 25 25 1 25.00
QAS 25 25 3 25.00
PHY 24 28 6 24.67
HPE 15 30 5 24.00
JPN 24 24 1 24.00
PED 12 30 3 24.00
RUS 24 24 3 24.00
SPA 24 24 7 24.00
WLT 24 24 1 24.00
BMS 3 40 21 23.19
ERS 16 32 9 23.00
NRS 8 32 55 22.65
ORC 20 25 2 22.50
FSC 18 24 4 22.25
DA 15 25 10 21.50
SWK 15 34 9 21.33
ARM 16 30 3 21.00
RDT 4 30 18 20.89
JOU 3 30 6 20.50
NTR 3 30 9 20.44
CS 6 25 11 20.27
COMM 20 20 3 20.00
ARTH 12 23 6 17.67
THE 10 30 96 17.55
DGD 15 18 8 17.25
DNC 16 30 32 17.00
CGPH 13 16 12 15.50
ENG 5 30 6 14.17
PE 13 15 2 14.00
VISL 13 13 1 13.00
HED 12 12 1 12.00

The variation in quotas across subjects is undesirable

As the charts below show, the distribution of quotas at LIU Post is extremely non-uniform and multimodal. However, 30 and 40 are the two most common section quotas. We should reduce variation in section quotas and aim for 30 or 40 in most cases. Deviations from the 40/30 rule can be made when absolutely necessary.

Quotas Should be 30 or 40 in most cases

sections <- data_quota_notNA |>
  group_by(Quota) |>
  summarise(sections = n()) |>
  arrange(desc(Quota))
ggplot(sections, aes(x = Quota, y = sections)) +   
  geom_col() +
  scale_x_continuous(breaks=seq(0,200,10))

Quotas Should be 30 or 40 in most cases (WAC courses excluded)

sections_noWAC <- data_quota_notNA |>
  filter(WAC %in% unique(WAC)[-which(unique(WAC) == "WAC")]) |>
  group_by(Quota) |>
  summarise(sections = n()) |>
  arrange(desc(Quota))
ggplot(sections_noWAC, aes(x = Quota, y = sections)) +   
  geom_col() +
  scale_x_continuous(breaks=seq(0,200,10))

Conclusion

The quotas for ECO courses in Spring 2023 are far too high. Disparities in quotas need to be minimized. The quotas should be either 30 or 40 in all but the most exceptional cases.