Desks will be assigned in the following order:
| Order | Person | Seat |
|---|---|---|
| 1 | Jingyi Duan | 32 |
| 2 | Yixiao Lin | 24 |
| 3 | Kevin Tao | 17 |
| 4 | Jiayin Li | 30 |
| 5 | Steve Broll | 16 |
| 6 | Georgia Smits | 31 |
| 7 | Quinn Simonis | 28 |
| 8 | Yixin Shen | 26 |
| 9 | Tejas Ramdas | 22 |
| 10 | Derek Hoare | 29 |
| 11 | Hantao Wu | 45 |
| 12 | Kyuseong Choi | 14 |
| 13 | Thomas Nolan Whitehead | 15 |
| 14 | Xiaohan Wang | 25 |
| 15 | Zachary James | 46 |
| 16 | Jae Byung Cho | 47 |
| 17 | Navonil Deb | 44 |
| 18 | Jacob Ornelas | 48 |
| 19 | Shira Mingelgrin | 42 |
| 20 | Suvadip Sana | 27 |
| 21 | Youssef Fahmy | 43 |
| 22 | Sang Hee Kim | 36 |
| 23 | Livia Popa | 35 |
| 24 | Ha Nguyen | 37 |
| 25 | Sithija Manage | 23 |
| 26 | Michael Czekanski | 21 |
| 27 | Daniel Coulson | 9 |
| 28 | Nabil Boulos | 18 |
| 29 | Cam Hogan | 19 |
| 30 | Filippo Fiocchi | 20 |
| 31 | Tathagata Sadhukan | 33 |
| 32 | Lin Gui | 34 |
| 33 | Joia Zhang | 8 |
| 34 | Arisina Banerjee | 3 |
| 35 | Minjie Jia | 6 |
| 36 | Haoxuan Fu | 5 |
| 37 | Wang Boyu | 4 |
| 38 | Choi Sunho | 1 |
| 39 | Sharan Sahu | 11 |
| 40 | Wenjie Guan | 2 |
| 41 | Lehao Fu | 7 |
| 42 | Klaus Stier | 10 |
Code used
person <- list()
# Order is so the senior students are prioritised over juniors.
# Within their year students are initially arranged alphabetically
# by their last name and later rearranged.
person[[1]] <- c("Steve Broll",
"Jingyi Duan",
"Derek Hoare",
"Jiayin Li",
"Yixiao Lin",
"Yixin Shen",
"Quinn Simonis",
"Georgia Smits",
"Kevin Tao",
"Tejas Ramdas")
person[[2]] <- c("Jae Byung Cho",
"Kyuseong Choi",
"Navonil Deb",
"Youssef Fahmy",
"Zachary James",
"Shira Mingelgrin",
"Jacob Ornelas",
"Suvadip Sana",
"Xiaohan Wang",
"Thomas Nolan Whitehead",
"Hantao Wu")
person[[3]] <- c("Nabil Boulos",
"Daniel Coulson",
"Michael Czekanski",
"Sang Hee Kim",
"Sithija Manage",
"Ha Nguyen",
"Livia Popa")
person[[4]] <- c("Filippo Fiocchi",
"Lin Gui",
"Joia Zhang",
"Cam Hogan",
"Arisina Banerjee",
"Minjie Jia",
"Tathagata Sadhukan")
person[[5]] <- c("Sharan Sahu",
"Wenjie Guan",
"Choi Sunho",
"Wang Boyu",
"Haoxuan Fu",
"Lehao Fu",
"Klaus Stier")
n_students <- sum(sapply(person, length))
set.seed(2024) #it's traditional to choose the year as the seed
person_order <- unlist(lapply(person, sample))
# Inititalise with:
# seat_assigned = NULL
# and populate it as the seating arrangements continue.
seat_assigned = NULL
# Pad with NAs to form the third column of the table
seat_assigned = c(seat_assigned,
rep(NA, length(person_order)-
length(seat_assigned)-
length(person[[length(person)]])))
# The incoming first years don't get a choice of their seat. Initialise with:
# seat_assigned = c(seat_assigned, rep(NA, length(person[[length(person)]])))
# and populate it after everyone else is assigned.
seat_assigned = c(seat_assigned, rep(NA,length(person[[length(person)]])))
seat_assigned[person_order=="Tejas Ramdas"] <- 22
seat_assigned[person_order=="Derek Hoare"] <- 29
seat_assigned[person_order=="Georgia Smits"] <- 31
seat_assigned[person_order=="Jingyi Duan"] <- 32
seat_assigned[person_order=="Jiayin Li"] <- 30
seat_assigned[person_order=="Kevin Tao"] <- 17
seat_assigned[person_order=="Steve Broll"] <- 16
seat_assigned[person_order=="Yixiao Lin"] <- 24
seat_assigned[person_order=="Quinn Simonis"] <- 28
seat_assigned[person_order=="Jae Byung Cho"] <- 47
seat_assigned[person_order=="Kyuseong Choi"] <- 14
seat_assigned[person_order=="Navonil Deb"] <- 44
seat_assigned[person_order=="Youssef Fahmy"] <- 43
seat_assigned[person_order=="Zachary James"] <- 46
seat_assigned[person_order=="Shira Mingelgrin"] <- 42
seat_assigned[person_order=="Katherine Pulham"] <- NA
seat_assigned[person_order=="Suvadip Sana"] <- 27
seat_assigned[person_order=="Xiaohan Wang"] <- 25
seat_assigned[person_order=="Thomas Nolan Whitehead"] <- 15
seat_assigned[person_order=="Hantao Wu"] <- 45
seat_assigned[person_order=="Nabil Boulos"] <- 18
seat_assigned[person_order=="Daniel Coulson"] <- 9
seat_assigned[person_order=="Michael Czekanski"] <- 21
seat_assigned[person_order=="Sang Hee Kim"] <- 36
seat_assigned[person_order=="Sithija Manage"] <- 23
seat_assigned[person_order=="Ha Nguyen"] <- 37
seat_assigned[person_order=="Livia Popa"] <- 35
seat_assigned[person_order=="Jacob Ornelas"] <- 48
seat_assigned[person_order=="Filippo Fiocchi"] <- 20
seat_assigned[person_order=="Joia Zhang"] <- 8
seat_assigned[person_order=="Cam Hogan"] <- 19
seat_assigned[person_order=="Arisina Banerjee"] <- 3
seat_assigned[person_order=="Minjie Jia"] <- 6
seat_assigned[person_order=="Tathagata Sadhukan"] <- 33
seat_assigned[person_order=="Lin Gui"] <- 34
seat_assigned[person_order=="Sharan Sahu"] <- 11
seat_assigned[person_order=="Wenjie Guan"] <- 2
seat_assigned[person_order=="Choi Sunho"] <- 1
seat_assigned[person_order== "Wang Boyu"] <- 4
seat_assigned[person_order=="Haoxuan Fu"] <- 5
seat_assigned[person_order=="Lehao Fu"] <- 7
seat_assigned[person_order=="Klaus Stier"] <- 10
seat_assigned[person_order=="Yixin Shen"] <- 26
#drop <- indices that don't actually need a desk
knitr::kable(cbind.data.frame("Order"=(1:length(person_order)),
"Person"=person_order,
"Seat"=seat_assigned),
format = "html", booktabs = F, linesep = "", align="lcr")