I have served as a TA for undergraduate Intro to American Politics and Comparative Politics classes. I have also served as the TA for the graduate level Research Methods I and Research Methods II classes (twice each).
Introduction to American Politics
A basic introduction to American Politics. Topics include: American Parties and their development, The Legislative Branch, The Executive Branch, Federalism in the U.S. States, Campaign Finance and Election Law, Civil Rights, the American Bureaucracy, etc. As TA I was responsible for two discussion sections (~50 students total) that met weekly to discuss topics related to the lectures as well as the administration of quizzes and all assignment grading.
Introduction to Comparative Politics
A basic introduction to Comparative Politics. Students examine various institutions in governance across the world. Topics include: Party Systems, Legislatures, Executive Branches, Federalism vs. Unitary Governance, Election Systems, Political Culture, etc. As TA I was responsible for two discussion sections (~50 students total) that met weekly to discuss topics related to the lectures as well as the administration of quizzes and all assignment grading.
PLSC 500 Research Methods I
This course covers a wide selection of content necessary for graduate students beginning their research journeys. Topics covered include research ethics, Philosophy of Science, Statistics, changes to Political Science methods over time, and more. As the TA for the class I was responsible for teaching the students how to code and get started with R.
PLSC 501 Research Methods II
The next step in students’ research journeys, this class takes a deeper dive into statistics and modeling. Topics covered include elementary matrix math, linear regression via Ordinary Least Squares (OLS), regression with limited dependent variables, assumptions of common models, and more. As the TA for the class I was responsible for teaching the students more in depth coding techniques in R as well as other technical aspects of scholarship e.g. latex, data collection, data literacy, etc.
As an instructor of record at Binghamton University I have developed and taught two classes independent from any supervising faculty: a seminar class “American Elections and Campaigns” and a simulation-style course “U.S. Campaigns and Activism”
A very useful string rearranger, developed for merging congressional data using member names stored in different formats.
Code
rearrange_string =function(input_string, output_structure, remove =NULL) {# Split the input string based on spaces split_string =strsplit(input_string, "\\s+")[[1]]# Remove specified elements using successive gsub() commandsif (!is.null(remove)) {for (element in remove) { split_string =gsub(element, "", split_string, fixed =TRUE) } }# Analyze for suffixes suffixes =c("Jr.", "Sr.", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X","Jr.,", "Sr.,", "I,", "II,", "III,", "IV,", "V,", "VI,", "VII,", "VIII,", "IX,", "X,")for(i inseq_along(split_string)){if (split_string[i] %in% suffixes){if (i >1){ split_string[i] ="" } } }# Split the output structure based on commas output_indices =as.numeric(strsplit(output_structure, ",")[[1]])# Filter out empty elements desired_elements = split_string[split_string !=""]# Rearrange the elements based on the output structure rearranged_elements = desired_elements[output_indices]# Remove "NA" elements rearranged_elements = rearranged_elements[!is.na(rearranged_elements)]# Combine the rearranged elements into a string output_string =paste(rearranged_elements, collapse =" ")return(trimws(output_string))}# Example Usevector1 =c("Charles Robinson", "Andrea LaSalle", "Merve Yasmina", "David Clark")vector2 =c("Robinson, Charles", "LaSalle, Andrea", "Yasmina, Merve", "Clark, David")# These vectors contain the same people but how can we get R to realize that?# rearrange_string will cut the strings up, number the pieces and rearrange them however you designate.# It will also remove elements, e.g. commas, if you want.vector2b =sapply(vector2, rearrange_string, output_structure ="2,1", remove =",")vector1==vector2b
Robinson, Charles LaSalle, Andrea Yasmina, Merve Clark, David
TRUE TRUE TRUE TRUE
Remove Commas
A simple function that trims commas from numbers and returns in numeric format. Very good for working with currency or data collection where numbers were stored with commas or as strings.
Code
removeCommas =function(input) {# Remove commas cleaned =gsub(",", "", input)# Convert to numeric format result =as.numeric(cleaned)return(result)}# Example Usevector =c("1,000", "213,453", "90", "1", "2,982,124,234.00")vector
vector*3# Won't work these are "character" type values and if you try to coerce using "as.numeric" the ones with commas will be NA
Error in vector * 3: non-numeric argument to binary operator
Code
removeCommas(vector)*3
[1] 3000 640359 270 3 8946372702
Success!
Esample
This function subsets a data frame to include only those observations used in a given model, a handy post-estimation tool inspired by Stata’s esample command.