Closed SheepTester closed 2 years ago
Ok cool. Look into that, but I agree that using just the major is more readable. We could look into just putting the curricula into different Child Organization on the Curricular Analytics website and leave the current naming system.
You also might want to use https://blink.ucsd.edu/instructors/academic-info/majors/major-codes.html for pairing major codes to departments, it has clear pairs between full department name and major code.
You also might want to use https://blink.ucsd.edu/instructors/academic-info/majors/major-codes.html for pairing major codes to departments, it has straight pairs
OH I thought that was the same as the major codes spreadsheet so I ignored it. That'll be useful, thanks!
console.log(`{
${[...document.querySelectorAll('.body')].map(td => {
const major = td.parentNode.children[2]?.textContent || td.parentNode.nextElementSibling.children[1]?.textContent
return ` '${major.slice(0, 2)}': '${td.textContent}',`
}).join('\n')}
}`)
produces
{
'AN': 'Anthropology',
'BE': 'Bioengineering',
'BI': 'Biology',
'CH': 'Chemistry and Biochemistry',
'CG': 'Cognitive Science',
'EN': 'Economics',
'EC': 'Electrical and Computer Engineering',
'HS': 'Human Developmental Sciences',
'IN': 'Individual Studies',
'IS': 'International Studies',
'LT': 'Literature',
'MA': 'Mathematics',
'PY': 'Physics',
'PS': 'Political Science',
'SI': 'Scripps Institution of Oceanography',
'SO': 'Sociology',
'SE': 'Structural Engineering',
'TH': 'Theatre and Dance',
'UN': 'Undeclared',
'VA': 'Visual Arts',
}
Seems to be missing department names, alas. Will try course catalog
I already had
depts = ['ANTH', 'BENG', 'BIOL', 'CENG', 'CGS', 'CHEM', 'CHIN', 'CLAS', 'COGS', 'COMM', 'CSE', 'DSC', 'ECE', 'ECON', 'EDS', 'ESYS', 'ETHN', 'GLBH', 'GMST', 'GSS', 'HDS', 'HIST', 'INTL', 'ITAL', 'JAPN', 'JWSP', 'LATI', 'LING', 'LIT', 'MAE', 'MATH', 'MUS', 'NENG', 'PHIL', 'PHYS', 'POLI', 'PSYC', 'RELI', 'RUSS', 'SE', 'SIO', 'SOC', 'SPH', 'THEA', 'UNAF', 'USP', 'VIS']
depts.map(dept => document.querySelector(`a[href$='${dept}.html']`) ?? dept)
set up to get the "Courses" links on the page, but it seems a few departments can't be found that way. Shouldn't be too bad I think
Huh, that's so weird that some of the rows just aren't given the body class... oh well.
depts = ['ANTH', 'BENG', 'BIOL', 'CENG', 'CGS', 'CHEM', 'CHIN', 'CLAS', 'COGS', 'COMM', 'CSE', 'DSC', 'ECE', 'ECON', 'EDS', 'ESYS', 'ETHN', 'GLBH', 'GMST', 'GSS', 'HDS', 'HIST', 'INTL', 'ITAL', 'JAPN', 'JWSP', 'LATI', 'LING', 'LIT', 'MAE', 'MATH', 'MUS', 'NENG', 'PHIL', 'PHYS', 'POLI', 'PSYC', 'RELI', 'RUSS', 'SE', 'SIO', 'SOC', 'SPH', 'THEA', 'UNAF', 'USP', 'VIS']
console.log(`{
${depts.map(dept => ` '${dept}': '${document.querySelector(`a[href$='/${dept}.html']`)?.closest('p').textContent?.split('[')[0].trim() ?? dept}',`).join('\n')}
}`)
{
'ANTH': 'Anthropology',
'BENG': 'Bioengineering',
'BIOL': 'Biological Sciences',
'CENG': 'CENG',
'CGS': 'Critical Gender Studies',
'CHEM': 'Chemistry and Biochemistry',
'CHIN': 'Chinese Studies',
'CLAS': 'Classical Studies',
'COGS': 'Cognitive Science',
'COMM': 'Communication',
'CSE': 'Computer Science and Engineering',
'DSC': 'Data Science',
'ECE': 'Electrical and Computer Engineering',
'ECON': 'Economics',
'EDS': 'Education Studies',
'ESYS': 'Environmental Systems',
'ETHN': 'Ethnic Studies',
'GLBH': 'Global Health Program',
'GMST': 'GMST',
'GSS': 'Global South Studies (formerly Third World Studies)',
'HDS': 'Human Developmental Sciences Program',
'HIST': 'History',
'INTL': 'International Studies',
'ITAL': 'Italian Studies',
'JAPN': 'Japanese Studies',
'JWSP': 'Jewish Studies',
'LATI': 'Latin American Studies',
'LING': 'Linguistics',
'LIT': 'Literature',
'MAE': 'Mechanical and Aerospace Engineering',
'MATH': 'Mathematics',
'MUS': 'Music',
'NENG': 'NENG',
'PHIL': 'Philosophy',
'PHYS': 'Physics',
'POLI': 'Political Science',
'PSYC': 'Psychology',
'RELI': 'Religion, Study of',
'RUSS': 'Russian, East European, and Eurasian Studies',
'SE': 'Structural Engineering',
'SIO': 'Scripps Institution of Oceanography',
'SOC': 'Sociology',
'SPH': 'SPH',
'THEA': 'Theatre and Dance',
'UNAF': 'UNAF',
'USP': 'Urban Studies and Planning',
'VIS': 'Visual Arts',
}
still some departments to find names for but this is pretty good so far
UNAF
probably stands for Unaffiliated (it has a mix of majors under it, and not much else)
CENG
and NENG
are probably Chemical and Nanoengineering (the catalog groups them under NANO
)
SPH
might be the School of Public Health
In looking for GMST
I found this https://registrar.ucsd.edu/ver2/dservices/thirdweek/FA16/REGBDM04.FA16.PDF which is pretty nice except it abbreviates the department names which makes me unhappy, but it does seem to suggest that GMST is "German Studies" which is in line with the other regional studies departments
Yup UNAF
is unaffiliated, or at least that's what the plans tool calls it. It should have UN27
, UNHA
, UNPS
and UNSS
.
I can confirm CENG
and NENG
are Chemical Engineering and Nano Engineering respectively. It's interesting that the catalog lists them both under Nano Engineering. The plans tool and the blink website list them as separate entities.
Totally tangential, but that's a really cool document you uncovered. I'd never seen full enrollment numbers broken down like that :0
Yup
UNAF
is unaffiliated, or at least that's what the plans tool calls it. It should haveUN27
,UNHA
,UNPS
andUNSS
.
Ah, forgot that they also have a list of departments. Conveniently, all their names and codes are there directly 👏
https://plans.ucsd.edu/controller.php?action=LoadSearchControls
Riiiiiiight I completely spaced on that one too. That's super convenient.
Currently, upload.py uses the major name (column E, "Major Description," of isis_major_code_list.xlsx) after the major code for the curriculum name.
https://github.com/ArturoAmaya/ExploratoryCurricularAnalytics/blob/8bab5be8d8b2e4cc4a1bdc56eea5e8840dbb90f8/upload.py#L264
IMO, the major name is good enough and probably is better for distinguishing between different majors under the same department.
However, the uploading instructions say
Currently, none of the data we have gives department names, but they do give abbreviations of the major departments, both in column J, "Department," of isis_major_code_list.xlsx, and column A, "Department," of academic_plans.csv. For example, for BE25, both spreadsheets have
BENG
as its department.I think it's feasible to get department names from the course catalog: https://catalog.ucsd.edu/front/courses.html