Courses Taught
- CSC 1100 – Computer Literacy
- CSC 1180 – Intro to C++
- CSC 2240 – Python
- CSC 3050 – Digital Logic
- CSC 3180 – Algorithms
Research Interests
- Formal Verification
- Secure Programming
- Computer Ethics
- Programming Languages
Professional Memberships
- ACM
Selected Publications and Presentations
“Ethical Machines: A Search for What it Means for Machines to be Ethical.” Midsoutheast Association for Computing Machinery Conference, Gatlinburg, TN, November 2017
“Heartbleed, the Limits of Static Analysis and the Need for Formal Specification.” MidSoutheast Association For Computing Machinery Conference, Gatlinburg, TN, November 2016
“Generating Verified Java Components through RESOLVE,” with H. Smith, H. Harton, R. Mohan, and M. Sitaraman. Lecture Notes in Computer Science, Springer (2010)
“Building a Push-Button RESOLVE Verifier: Progress and Challenges,” with M. Sitaraman, B. Adcock, J. Avigad, D. Bronish, P. Bucci, H. M. Friedman, H. Harton, W. Heym, J. Kirschenbaum, J. Krone, H. Smith, and B. W. Weide. Formal Aspects of Computing, Springer (2010).
“Incremental Benchmarks for Software Verification Tools and Techniques,” with B. Weide, M. Sitaraman, H. Harton, B. Adcock, P. Bucci, D. Bronish, W. Heym, and J. Kirschenbaum. Proceedings of VSTTE 2008 (Verified Software: Theories, Tools, and Experiments), Springer-Verlag LNCS 5295, October 2008, 84-98