Joshua Crotts

I am a computer science PhD student and course instructor at Indiana University Bloomington, where I focus on computer science education, programming language theory, compilers, and logic.

I received my Master of Science in Computer Science and Bachelor of Science in Computer Science at the University of North Carolina at Greensboro in the Spring 2022 and Spring 2021 semesters respectively. I was a graduate instructor's assistant for the computer science department in the 2021-2022 academic year. Formerly, I was a graduate assistant for the ITS Learning Center. I was in the Accelerated Master's Program (AMP) which allows students to get their master's degree in one year compared to two.

I have been programming since I was 14 years old, where I started with basic HTML/CSS. I then moved to BASIC and C++ in my sophomore year of high school. Afterwards, I learned Java and several others such as C, Python, F#, Scheme, LISP, Prolog, and others.

Theoretical Computer Science Interests: Computer Science Education, Programming Languages, Compilers, Linguistics Syntax and Semantics, Theory of Computation, Computer Graphics, Algorithm Analysis, Artificial Intelligence

Practical Computer Science Interests: Systems Programming, Embedded Software Engineering, Parallel Computing, Computer Architecture

See also my curriculum vitae for more information.


Current & Past Research

Instructor-On-Record Courses at Indiana University

Associate Instructor Courses at Indiana University

Teaching Assistant Courses at UNC Greensboro

Classes Taken at Indiana University

Classes Taken at UNC Greensboro