Skip to main content

Automating GPA and Hours for administrative purposes, University of Houston: the 'coogs' package

In the realm of institutional effectiveness, it is often necessary to batch process the hours earned and gpas of both the content area and cumulative area for undergraduates that are applying for particular majors in certain programs of study. Such calculations involve many students applying at one time for majors. Therefore, one can either calculate tens to hundreds of students at a time or automate the process.

To ease the process through automation, I have created a function in R called 'bulkgpa' in the 'coogs' package, available to the institutional effectiveness community at the College of Education at the University of Houston. 

The function is a hard worker. It takes three raw files directly from peoplesoft queries and cleanses them by eliminating unneeded columns, duplicated rows, and eliminates classes that have drop dates associated with them. 

Argument slots are created for raw data excel spreadsheets including transfer classes, transfer hours, UH courses, and the content areas for which content gpa must be calculated. Since different classes qualify for content gpa based on content areas, the fourth argument slot makes available user input to specify the content area for the content gpa calculation. Below is a list of possible options. When typing in the content area, case and spelling should be observed from the list below.


core-ec-6

art-ec-12

dance-6-12

math-4-8

math-7-12

elar-4-8

elar-7-12

chemistry-8-12

LOTE-spanish-ec-12

physics-math-7-12

life-science-7-12

physical-science-7-12

bilingual-generalist-ec-6

science

social-science

sped-ed-12

journalism

 

Popular posts from this blog

Survey Validation based on Synthetic Data with the Help of Claude

survey creation and validation survey creation and validation Author dr. mario martinez Published August 18, 2025 Introduction This code was generated with the help of Claude Set up synthetic data # Load necessary libraries library (survey) library (lavaan) library (psych) library (dplyr) library (ggplot2) library (missMethods) # Set seed for reproducibility set.seed ( 123 ) # Create simulated survey data n <- 500 survey_data <- data.frame ( id = 1 : n, q1 = sample ( 1 : 5 , n, replace = TRUE ), q2 = sample ( 1 : 5 , n, replace = TRUE ), q3 = sample ( 1 : 5 , n, replace = TRUE ), q4 = sample ( 1 : 5 , n, replace = TRUE ), q5 = sample ( 1 : 5 , n, replace = TRUE ), q6 = sample ( 1 : 5 , n, replace = TRUE ) ) survey_data1 <- impute_median (survey_data) # Round to whole numbers an...

The "Cram" Method of Validation for Machine learning

Our department at the University of Houston has a paper that is accepted and will be presented at the 2026 conference of the American Educational Research Association (AERA) in Los Angeles, CA. Without getting too deep into the purpose of the paper, while simultaneously aiming for the purpose of this writing, which is showcasing our use of novel methodology in action, we used machine learning ML algorithms to make our case. As a result, we needed to validate the machine learning outcomes. Traditionally this is done with an 80/20 holdout reservation of part of the data. Indeed, one of our critics asked us to use a holdout method in a particular way. However, as a data scientist, I am always championing the newest methodologies out there available in the R coding sphere (read as a linguistic sphere altogether). As I was looking out during the break for newest releases, I came across the work of Jia, Imai, and Li (2024/2025). Their methods turn the traditional 80/20 holdout and cross va...

Striking a Balance: How Much Should I Cast My own Site Variables, Versus Referring to the Literature When Doing Predictive Machine Learning as a Data Scientist?

 Recently I came back from the TAIR 2025 conference and I was struck by the number of presenters that focused on using either auto machine learning or artificial intelligence in creating models for predictive analytics in higher education. One of the striking things about the works presented is that the independent variables were somewhat similar to each other but yet different from each other enough to raise the question. How much should there be consistency between predictive machine learning models? Or, how generalizable should any given model be? These two questions strike at the limits of what local work should aim towards. One way to look at the issue is the pressing need to look at all available variables locally and use them to forage a way forward at predictions about issues like retention, enrollment, and so forth at the university level. To a certain degree this is a moot point, as some would argue that data science is about creating actionable insights.  That is, u...