Skip to content

Instantly share code, notes, and snippets.

@jstevans
Created January 24, 2020 20:03
Show Gist options
  • Save jstevans/5e6672db4b5ff190846e9496c91de673 to your computer and use it in GitHub Desktop.
Save jstevans/5e6672db4b5ff190846e9496c91de673 to your computer and use it in GitHub Desktop.
Department Course Humanities Humanities (performance) Social Science Diversity
American Sign Language 121 true false false false
American Sign Language 122 true false false false
American Sign Language 123 true false false false
American Sign Language 221 true false false false
American Sign Language 222 true false false false
American Sign Language 223 true false false false
Anthropology 100 false false true true
Anthropology 104 false false false true
Anthropology 106 false false false true
Anthropology 108 false false true true
Anthropology 117 false false false true
Anthropology 180 false false true true
Anthropology 200 false false false true
Anthropology 204 false false true false
Anthropology 206 false false true true
Anthropology 208 true false true true
Anthropology 209 false false false true
Anthropology 210 false false false true
Anthropology 211 false false false true
Anthropology 212 false false false true
Anthropology 214 false false false true
Anthropology 219 false false true true
Anthropology 220 false false true true
Anthropology 222 false false true true
Anthropology 224 false false true true
Anthropology 230 false false true false
Anthropology 232 false false true false
Anthropology 234 false false true false
Anthropology 235 false false true true
Anthropology 236 false false true false
Anthropology 260 false false false true
Anthropology 265 false false false true
Arabic 121 true false false false
Arabic 122 true false false false
Arabic 123 true false false false
Art 101 true false false false
Art 103 true false false true
Art 105 true false false false
Art 110 false true false false
Art 111 false true false false
Art 112 false true false false
Art 120 false true false false
Art 121 false true false false
Art 150 false true false false
Art 151 false true false false
Art 153 false true false false
Art 154 false true false false
Art 201 true false false false
Art 202 true false false false
Art 203 true false false false
Art 205 true false false false
Art 206 true false false false
Art 221 false true false false
Art 222 false true false false
Art 225 true false false false
Art 230 false true false false
Art 235 false true false false
Art 240 false true false false
Art 242 false true false false
Art 245 false true false false
Art 247 false true false false
Art 253 false true false false
Art 254 false true false false
Art 256 false true false false
Art 260 false true false false
Art 261 false true false false
Art 280 false true false false
Art 281 false true false false
Business 101 false false true false
Chinese 121 true false false false
Chinese 122 true false false false
Chinese 123 true false false false
Chinese 221 true false false false
Chinese 222 true false false false
Chinese 223 true false false false
Communication Studies 101 true false false false
Communication Studies 102 false false true false
Communication Studies 105 true false false false
Communication Studies 106 true false false false
Communication Studies 107 true false false false
Communication Studies 115 true false false false
Communication Studies 119 true false false false
Communication Studies 120 true false false false
Communication Studies 121 true false false false
Communication Studies 131 true false false false
Communication Studies 132 true false false false
Communication Studies 133 true false false false
Communication Studies 134 true false false true
Communication Studies 136 true false false false
Communication Studies 138 true false false false
Communication Studies 141 true false false false
Communication Studies 143 true false false false
Communication Studies 144 true false false false
Communication Studies 145 true false false false
Communication Studies 146 true false false false
Communication Studies 151 true false false false
Communication Studies 161 true false false false
Communication Studies 163 true false false false
Communication Studies 202 true false false false
Communication Studies 210 true false false false
Communication Studies 216 true false false false
Communication Studies 220 true false false false
Communication Studies 230 false false true false
Communication Studies 241 true false false false
Communication Studies 250 true false false true
Communication Studies 260 true false false false
Communication Studies 261 true false false false
Communication Studies 280 true false false true
Communication Studies 285 true false false false
Cultural & Ethnic Studies 100 true false true true
Cultural & Ethnic Studies 101 true false true true
Cultural & Ethnic Studies 102 true false true false
Cultural & Ethnic Studies 103 true false false false
Cultural & Ethnic Studies 104 true false true false
Cultural & Ethnic Studies 106 false false true true
Cultural & Ethnic Studies 109 false false true true
Cultural & Ethnic Studies 115 true false true false
Cultural & Ethnic Studies 120 true false true true
Cultural & Ethnic Studies 121 true false true true
Cultural & Ethnic Studies 130 true false true true
Cultural & Ethnic Studies 140 true false true true
Cultural & Ethnic Studies 152 true false true true
Cultural & Ethnic Studies 160 true false true false
Cultural & Ethnic Studies 170 false false true false
Cultural & Ethnic Studies 180 true false true true
Cultural & Ethnic Studies 200 true false true true
Cultural & Ethnic Studies 201 false false true true
Cultural & Ethnic Studies 203 false false true true
Cultural & Ethnic Studies 205 false false true true
Cultural & Ethnic Studies 210 true false true true
Cultural & Ethnic Studies 241 false false true true
Cultural & Ethnic Studies 255 true false true false
Cultural & Ethnic Studies 257 true false true true
Cultural & Ethnic Studies 260 true false true false
Cultural & Ethnic Studies 285 true false true false
Cultural & Ethnic Studies 286 true false true false
Cultural & Ethnic Studies 287 true false true false
Cultural & Ethnic Studies 288 true false true false
Dance 130 false true false false
Dance 131 false true false false
Dance 140 false true false false
Dance 141 false true false false
Dance 151 false true false false
Dance 152 false true false false
Dance 201 false true false false
Dance 202 false true false false
Dance 203 false true false false
Drama 101 true false false false
Drama 106 true false false false
Drama 141 true false false false
Drama 151 false true false false
Drama 153 false true false false
Drama 154 false true false false
Drama 155 false true false false
Drama 159 false true false false
Drama 161 false true false false
Drama 200 true false false false
Drama 210 true false false false
Drama 212 true false false false
Drama 215 true false false false
Drama 224 true false false false
Drama 241 true false false false
Drama 251 false true false false
Drama 252 false true false false
Drama 253 false true false false
Drama 254 false true false false
Drama 256 false true false false
Drama 270 true false false false
Drama 280 false true false false
Drama 281 false true false false
Drama 284 false true false false
Drama 285 false true false false
Economics 100 false false true false
Economics 201 false false true false
Economics 202 false false true false
Economics 250 false false true false
Economics 260 false false true false
English 111 true false false false
English 112 true false false false
English 113 true false false false
English 114 true false false false
English 115 true false false false
English 131 true false false false
English 210 true false false false
English 215 true false false false
English 219 true false false false
English 220 true false false false
English 221 true false false false
English 223 true false false false
English 224 true false false false
English 225 true false false false
English 226 true false false false
English 228 true false false false
English 229 true false false false
English 237 true false false false
English 238 true false false false
English 239 true false false false
English 241 true false false false
English 244 true false false false
English 245 true false false false
English 246 true false false false
English 247 true false false false
English 248 true false false false
English 249 true false false false
English 253 true false false false
English 254 true false false false
English 255 true false false false
English 260 true false false false
English 261 true false false false
English 263 true false false false
English 264 true false false false
English 265 true false false false
English 266 true false false false
English 276 true false false false
English 279 true false false false
French 121 true false false false
French 122 true false false false
French 123 true false false false
French 131 true false false true
French 132 true false false true
French 133 true false false true
French 221 true false false false
French 222 true false false false
French 223 true false false false
French 231 true false false true
French 232 true false false true
French 233 true false false true
Geography 100 false false true false
Geography 102 false false true false
Geography 105 false false true false
Geography 123 false false true true
Geography 200 false false true true
Geography 250 false false true false
Geography 258 false false true false
Geography 277 false false true true
German 121 true false false false
German 122 true false false false
German 123 true false false false
German 221 true false false false
German 222 true false false false
German 223 true false false false
History 101 true false true false
History 102 true false true false
History 103 true false true false
History 110 true false true false
History 115 true false true false
History 120 true false true false
History 146 true false true false
History 147 true false true false
History 148 true false true false
History 150 true false true false
History 180 false false true false
History 185 true false true true
History 205 false false true false
History 207 true false true false
History 209 true false true false
History 210 true false true false
History 211 true false true false
History 212 true false true false
History 214 true false true false
History 223 true false true false
History 230 true false true false
History 236 true false true false
History 242 true false true false
History 245 true false true false
History 246 true false true true
History 250 true false true false
History 261 true false true false
History 280 true false true false
Humanities 224 true false true false
Humanities 230 true false true false
International Studies 105 false false true false
International Studies 123 false false true false
International Studies 150 false false true false
International Studies 200 false false true false
International Studies 201 false false true false
International Studies 202 false false true false
International Studies 204 false false true false
International Studies 227 false false true false
International Studies 261 false false true false
International Studies 280 false false true false
Italian 121 true false false false
Italian 122 true false false false
Italian 123 true false false false
Japanese 121 true false false false
Japanese 122 true false false false
Japanese 123 true false false false
Japanese 221 true false false false
Japanese 222 true false false false
Japanese 223 true false false false
Music 100 false true false false
Music 101 false true false false
Music 102 false true false false
Music 103 false true false false
Music 104 false true false false
Music 105 true false false false
Music 106 false true false false
Music 107 true false false false
Music 109 false true false false
Music 110 true false false false
Music 111 true false false false
Music 112 true false false false
Music 113 true false false false
Music 114 true false false false
Music 115 true false false false
Music 116 true false false false
Music 117 true false false true
Music 118 true false false false
Music 120 false true false false
Music 126 false true false false
Music 130 false true false false
Music 131 false true false false
Music 132 false true false false
Music 135 false true false false
Music 136 false true false false
Music 139 false true false false
Music 140 false true false false
Music 143 false true false false
Music 150 true false false false
Music 151 true false false false
Music 152 true false false false
Music 153 true false false false
Music 156 true false false false
Music 157 true false false false
Music 158 true false false false
Music 200 false true false false
Music 203 false true false false
Music 205 false true false false
Music 206 false true false false
Music 210 true false false false
Music 211 true false false false
Music 212 true false false false
Music 240 false true false false
Music 243 false true false false
Philosophy 101 true false false false
Philosophy 102 true false true true
Philosophy 112 true false true false
Philosophy 115 true false false false
Philosophy 122 true false true false
Philosophy 145 true false false true
Philosophy 160 true false true false
Philosophy 201 true false true false
Philosophy 206 false false true false
Philosophy 225 true false false false
Philosophy 247 true false false false
Philosophy 248 true false true false
Philosophy 260 true false true false
Philosophy 263 false false true false
Philosophy 265 true false true true
Philosophy 267 true false false false
Political Science 101 false false true false
Political Science 121 false false true false
Political Science 122 false false true false
Political Science 123 false false true false
Political Science 125 false false true false
Political Science 160 false false true false
Political Science 175 false false true false
Political Science 201 false false true false
Political Science 202 false false true false
Political Science 203 false false true false
Political Science 204 false false true false
Political Science 206 false false true false
Political Science 220 false false true false
Political Science 221 false false true false
Political Science 222 false false true false
Political Science 223 false false true false
Political Science 227 false false true false
Political Science 230 false false true false
Psychology 100 false false true false
Psychology 109 false false true false
Psychology 110 false false true false
Psychology 200 false false true false
Psychology 203 false false true false
Psychology 205 false false true false
Psychology 209 false false true false
Psychology 210 false false true false
Psychology 220 false false true false
Psychology 240 false false true false
Psychology 250 false false true true
Psychology 257 false false true false
Psychology 260 false false true false
Sociology 101 false false true true
Sociology 105 false false true false
Sociology 120 false false false true
Sociology 121 false false false true
Sociology 122 false false true true
Sociology 149 false false false true
Sociology 150 false false true false
Sociology 201 false false true true
Sociology 205 false false false true
Sociology 210 false false true true
Sociology 215 false false true true
Sociology 222 false false true true
Sociology 230 false false true true
Sociology 240 false false true false
Sociology 244 false false true false
Sociology 246 false false true false
Sociology 248 false false true true
Sociology 249 false false true true
Sociology 250 false false true false
Sociology 252 false false true false
Sociology 253 false false true true
Sociology 254 false false true true
Sociology 255 false false true false
Sociology 256 false false true false
Sociology 257 false false false true
Sociology 258 false false true false
Sociology 260 false false true true
Sociology 262 false false true true
Sociology 264 false false true true
Sociology 265 false false true false
Sociology 267 false false false true
Sociology 268 false false true true
Sociology 270 false false true false
Sociology 275 false false true true
Sociology 278 false false true false
Spanish 121 true false false false
Spanish 122 true false false false
Spanish 123 true false false false
Spanish 221 true false false false
Spanish 222 true false false false
Spanish 223 true false false false
// manually transcribed from https://www.bellevuecollege.edu/ws/1920/Transfer/AAS_DTA.pdf
var classes = {
"humanities":{
"Anthropology": [
"208"
],
"Art": [
"101",
"103",
"105",
"110*",
"111*",
"112*",
"120*",
"121*",
"150*",
"151*",
"153*",
"154*",
"201",
"202",
"203",
"205",
"206",
"221*",
"222*",
"225",
"230*",
"235*",
"240*",
"242*",
"245*",
"247*",
"253*",
"254*",
"256*",
"260*",
"261*",
"280*",
"281*"
],
"Communication Studies": [
"101",
"105",
"106",
"107",
"115",
"119",
"120",
"121",
"131",
"132",
"133",
"134",
"136",
"138",
"141",
"143",
"144",
"145",
"146",
"151",
"161",
"163",
"202",
"210",
"216",
"220",
"241",
"250",
"260",
"261",
"280",
"285"
],
"Cultural & Ethnic Studies": [
"100",
"101",
"102",
"103",
"104",
"115",
"120",
"121",
"130",
"140",
"152",
"160",
"180",
"200",
"210",
"255",
"257",
"260",
"285",
"286",
"287",
"288"
],
"Dance": [
"130*",
"131*",
"140*",
"141*",
"151*",
"152*",
"201*",
"202*",
"203*"
],
"Drama": [
"101",
"106",
"141",
"151*",
"153*",
"154*",
"155*",
"159*",
"161*",
"200",
"210",
"212",
"215",
"224",
"241",
"251*",
"252*",
"253*",
"254*",
"256*",
"270",
"280*",
"281*",
"284*",
"285*"
],
"English": [
"111",
"112",
"113",
"114",
"115",
"131",
"210",
"215",
"219",
"220",
"221",
"223",
"224",
"225",
"226",
"228",
"229",
"237",
"238",
"239",
"241",
"244",
"245",
"246",
"247",
"248",
"249",
"253",
"254",
"255",
"260",
"261",
"263",
"264",
"265",
"266",
"276",
"279"
],
"History": [
"101",
"102",
"103",
"110",
"115",
"120",
"146",
"147",
"148",
"150",
"185",
"207",
"209",
"210",
"211",
"212",
"214",
"223",
"230",
"236",
"242",
"245",
"246",
"250",
"261",
"280"
],
"Humanities": [
"224",
"230"
],
"Music": [
"100*",
"101*",
"102*",
"103*",
"104*",
"105",
"106*",
"107",
"109*",
"110",
"111",
"112",
"113",
"114",
"115",
"116",
"117",
"118",
"120*",
"126*",
"130*",
"131*",
"132*",
"135*",
"136*",
"139*",
"140*",
"143*",
"150",
"151",
"152",
"153",
"156",
"157",
"158",
"200*",
"203*",
"205*",
"206*",
"210",
"211",
"212",
"240*",
"243*"
],
"Philosophy": [
"101",
"102",
"112",
"115",
"122",
"145",
"160",
"201",
"225",
"247",
"248",
"260",
"265",
"267"
],
"Arabic": [
"121",
"122",
"123"
],
"American Sign Language": [
"121",
"122",
"123",
"221",
"222",
"223"
],
"Chinese": [
"121",
"122",
"123",
"221",
"222",
"223"
],
"French": [
"121",
"122",
"123",
"131",
"132",
"133",
"221",
"222",
"223",
"231",
"232",
"233"
],
"German": [
"121",
"122",
"123",
"221",
"222",
"223"
],
"Italian": [
"121",
"122",
"123"
],
"Japanese": [
"121",
"122",
"123",
"221",
"222",
"223"
],
"Spanish": [
"121",
"122",
"123",
"221",
"222",
"223"
]
},
"social science": {
"Anthropology": ["100", "108", "180", "204", "206", "208", "219", "220", "222", "224", "230", "232", "234", "235", "236"],
"Business": ["101"],
"Communication Studies": ["102", "230"],
"Cultural & Ethnic Studies": ["100", "101", "102", "104", "106", "109", "115", "120", "121", "130", "140", "152", "160", "170", "180", "200", "201", "203", "205", "210", "241", "255", "257", "260", "285", "286", "287", "288"],
"Economics": ["100", "201", "202", "250", "260"],
"Geography": ["100", "102", "105", "123", "200", "250", "258", "277"],
"History": ["101", "102", "103", "110", "115", "120", "146", "147", "148", "150", "180", "185", "205", "207", "209", "210", "211", "212", "214", "223", "230", "236", "242", "245", "246", "250", "261", "280"],
"Humanities": ["224", "230"],
"International Studies": ["105", "123", "150", "200", "201", "202", "204", "227", "261", "280"],
"Philosophy": ["102", "112", "122", "160", "201", "206", "248", "260", "263", "265"],
"Political Science": ["101", "121", "122", "123", "125", "160", "175", "201", "202", "203", "204", "206", "220", "221", "222", "223", "227", "230"],
"Psychology": ["100", "109", "110", "200", "203", "205", "209", "210", "220", "240", "250", "257", "260"],
"Sociology": ["101", "105", "122", "150", "201", "210", "215", "222", "230", "240", "244", "246", "248", "249", "250", "252", "253", "254", "255", "256", "258", "260", "262", "264", "265", "268", "270", "275", "278"]},
"diversity":{
"Anthropology": [
"100",
"104",
"106",
"108",
"117",
"180",
"200",
"206",
"208",
"209",
"210",
"211",
"212",
"214",
"219",
"220",
"222",
"224",
"235",
"260",
"265"
],
"Art": [
"103"
],
"Cultural & Ethnic Studies": [
"100",
"101",
"106",
"109",
"120",
"121",
"130",
"140",
"152",
"180",
"200",
"201",
"203",
"205",
"210",
"241",
"257"
],
"Communication Studies": [
"134",
"250",
"280"
],
"French": [
"131",
"132",
"133",
"231",
"232",
"233"
],
"Geography": [
"123",
"200",
"277"
],
"History": [
"185",
"246"
],
"Music": [
"117"
],
"Philosophy": [
"102",
"145",
"265"
],
"Psychology": [
"250"
],
"Sociology": [
"101",
"120",
"121",
"122",
"149",
"201",
"205",
"210",
"215",
"222",
"230",
"248",
"249",
"253",
"254",
"257",
"260",
"262",
"264",
"267",
"268",
"275"
]
}
}
var credits = Object.entries(require('./classes.json'))
.reduce((acc, kvp0) => {
let eligibility = kvp0[0];
let depts = kvp0[1];
return [
...acc,
...Object.entries(depts)
.reduce((acc, kvp1) => {
let dept = kvp1[0];
let classes = kvp1[1];
return [
...acc,
...classes.map(c => [
`${eligibility}${c.slice(3)}`,
dept,
c.slice(0, 3)
])
];
}, [])
]
}, []);
var sortedCredits = ([...credits]).sort((a, b) =>
a[1] < b[1] ? -1 // earlier dept
: a[1] > b[1] ? 1 // later dept
: a[2] < b[2] ? -1 // same dept, earlier course #
: a[2] > b[2] ? 1 // same dept, later course #
: a[0] < b[0] ? -1 // same dept/course, earlier eligibility
: a[0] > b[0] ? 1 // same dept/course, later eligibility
: 0); // same same same
var combinedCredits = sortedCredits.reduce((acc, e) => {
let last = acc[acc.length - 1] || [];
if (last[1] == e[1] && last[2] == e[2]) {
last[0].push(e[0]);
return acc;
}
else {
return [
...acc,
[
[e[0]],
e[1],
e[2]
]
];
}
}, []);
var defaultEligibilities = {
humanities: false,
'humanities*': false,
'social science': false,
diversity: false,
}
var mappedCredits = combinedCredits.map(e => ({
department: e[1],
course: e[2],
eligibilities: {
...defaultEligibilities,
...e[0].reduce((acc, el) => ({ ...acc, [el]: true }), {})
}
}));
// output
const csv = [
"Department,Course,Humanities,Humanities (performance),Social Science,Diversity",
...(mappedCredits.map(c => ([
c.department,
c.course,
...Object.values(c.eligibilities)
]).join(',')))
].join('\n');
console.log(csv);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment