Academic Interests
Middle-school and High-school Outreach
Other Interests
Scripts, code, etc.
Why is this site so boring?

Academic Interests:

  1. Active-Learning Techniques
    1. Peer Instruction
    2. POGIL
    3. Just-in-time Teaching
    4. Any other educational best practices
  2. Computing in Christian missions.
  3. Tools for teaching CS in middle schools and high schools
  4. Teaching virtues while teaching computer science


  1. CS104: Applied Computing
    1. An introductory programming course for engineering majors.
  2. CS106: Introduction to Scientific Computing and Modeling
    1. An introductory programming course for non-computer-science science majors.
  3. CS108: Introduction to Computing
    1. An introductory programming course for CS majors/minors, IS majors/minors, Digital Computing majors/minors, and Data Science majors/minors.
  4. CS232: Operating Systems and Networking
    1. An introduction to the concepts and implementation of Operating Systems and Computer Networking
  5. CS332: Advanced Networking
    1. An advanced look at TCP/IP networking, including building a networked applications and building a custom networking stack.
  6. CS338: Systems Administration
    1. A look at the concepts, tools, and techniques required for an individual to manage the computer systems, files systems, and networking systems for a small or medium-sized business.
  7. Computing in Missions Interim
    1. An occasionally-offered Interim course in which I take students to a missions organization to do programming and learn the impact and importance of computing in missions.
  8. Design Principles and Patterns Interim
    1. An occasionally-offered Interim course in which we investigate Design Principles and Patterns and high-level object-oriented programming techniques.
  9. IDIS-110: Foundations of Information Technology
    1. A look at the basics of computing, their impact on society, and a Christian perspective on technology.
  10. CS Senior Projects
    1. Year-long senior "research" projects.

Research Projects

  1. Investigating application and integration of Christian virtues into computer programming
  2. ip_audit_v6
    1. Student Charles Larson's senior project
    2. Ported ipaudit to work with IPv6.
    3. Available at https://github.com/mister-c/ip_audit_ipv6
  3. Motion Capture with Xbox Kinect that generates Alice classes
    1. Student Andrew Temple's senior project.
    2. See https://github.com/FreedCapybara/KinectMotionCapturePrototype.
    3. Demo can be seen here.
  4. Scratch+Kinect
    1. Integrate Xbox Kinect with Scratch so you can control objects on the screen with your body!
    2. Summer research with Isaac Zylstra.
    3. Download packages from here and here.
  5. ScratchFoot
    1. Automatic conversion of Scratch Projects to Greenfoot scenarios.
    2. Summer research project with Jordan Doorlag.
    3. Available here.
  6. Agora: Project Showcase.
    1. Senior project for Joel Stehouwer, Drew Campo, Andrew Lang, and Corwin Webster.
    2. Allow anyone to run student projects, securely, in a browser.
    3. Try it now!
    4. Download it for your own user from here.
  7. Development of POGIL activities for Operating Systems and Networking.
  8. Integration of best-practice, student-centered, active learning techniques into CS classrooms.

Academic Conferences I Attend