Teaching

Courses, curriculum development, and student mentoring.

Courses taught

Security

Computer and network security · Secure software development

Compilers and languages

Programming languages · Compiler construction · Compiler optimization · High-level program analysis and optimization

Systems and parallelism

Parallel programming

Foundations

Introduction to programming II · Discrete mathematics · Data structures · Numerical methods · Introduction to computation theory

Student mentoring

Dr. Carr served as Graduate Program Director at Michigan Tech from 1996–2003 and 2006–2010, and as undergraduate adviser from 2000–2009. At WMU he has mentored six faculty members in the Department of Computer Science through to tenure.

Curriculum development

Much of his NSF-funded work has been curricular, aimed at teaching topics that students typically find abstract — concurrency, access control, memory safety — through tools that let them see the behavior directly. That work is described in more detail on the research page, and the resulting papers are collected under publications.

Degree programs he has helped design, launch, or substantially revise:

Accreditation