Joshua Crotts

ljcrotts at iu.edu

I am a (third-year) computer science PhD student and course instructor at Indiana University, 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.

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 CV.

Note, this website was heavily inspired by Carlo Angiuli's website. In fact, you could say it was the entire inspiration. :-)

Current and Past Research

Learning Java: A Test-Driven Approach
Joshua Crotts
Springer, 2024
[Description] [Springer Store] [Amazon Store]

Principles of Computer Science: An Invigorating, Hands-On Approach
Joshua Crotts
J-Ross Publishing, 2023
[Description] [J-Ross Publishing Store] [Amazon Store]

Comparison of Natural Deduction Theorem Provers used in Electronic Tutoring Systems
L. Joshua Crotts and Stephen R. Tate
ICEEL 2022 6th International Conference on Education and E-Learning, 2022
[PDF]

Promoting a Common Testbed for Natural Deduction Tutoring Systems
L. Joshua Crotts and Stephen R. Tate
ICEEL 2022 6th International Conference on Education and E-Learning, 2022
[PDF]

Nifty Assignments
Nick Parlante, Julie Zelenski, Stephanie Valentine, Mike Izbicki, Eric S. Roberts, Jed Rembold, Juliette Woodrow, Kathleen Creel, Nick Bowman, Ben Stephenson, Jonathan Hudson, Larry "Joshua" Crotts, Andrew Matzureff.
SIGCSE 2022 In Proceedings of the 53rd ACM Technical Symposium on Comp. Sci. Ed. Vol. 2, 2022.
[PDF] [Assignment Description]

Construction and Evaluation of a Gold-Standard Syntax for Formal Logic Formulas and Systems
Joshua Crotts
M.S. thesis @ UNCG
[PDF]

A First Experiment Using ILP for Argument Mining
Nancy L. Green and L. Joshua Crotts
CMNA 2021 (Workshop on Computational Models of Natural Argument)
[PDF]

Argument Schemes for AI Ethics Education
Nancy L. Green and L. Joshua Crotts
CMNA 2020 (Workshop on Computational Models of Natural Argument)
[PDF]

Towards Automatic Detection of Antithesis
Nancy L. Green and L. Joshua Crotts
CMNA 2020 (Workshop on Computational Models of Natural Argument)
[PDF]

Instructor-On-Record Courses Indiana University

CSCI-C212/A592: Introduction to Software Systems
Spring 2025
[Website]

CSCI-C212/A592: Introduction to Software Systems
Fall 2024
[Website]

CSCI-C212/A592: Introduction to Software Systems
Spring 2024
[Website]

CSCI-C212/A592: Introduction to Software Systems
Fall 2023

Associate Instructor Courses at Indiana University

CSCI-C212/A592: Introduction to Software Systems
Summer 2023

CSCI-C212/A592: Introduction to Software Systems
Spring 2023

CSCI-C211/H211/A591: Introduction to Computer Science
Spring 2023

CSCI-C211/H211/A591: Introduction to Computer Science
Fall 2022

Teaching Assistant Courses at University of North Carolina Greensboro

CSC-490: Senior Capstone
Spring 2022

CSC-471: Principles of Database Systems
Spring 2022

CSC-462/662: Principles of Operating Systems
Spring 2022

CSC-454/654: Algorithm Analysis and Design
Spring 2022

CSC-362: System Programming
Spring 2022

CSC-490: Senior Capstone
Fall 2021

CSC-471: Principles of Database Systems
Fall 2021

CSC-362: System Programming (two sections)
Fall 2021

PHI-310: Introduction to Formal Logic
Spring 2021

CSC-130: Introduction to Computer Science (two sections)
Spring 2021

PHI-310: Introduction to Formal Logic
Fall 2020

CSC-130: Introduction to Computer Science (two sections)
Fall 2020

CSC-130: Introduction to Computer Science (two sections)
Spring 2020

CSC-130: Introduction to Computer Science
Fall 2019

Luddy Hall 3025Q
700 N Woodlawn Ave
Bloomington, IN 47408