
Teaching and research go hand in hand, and I have actively sought opportunities to teach during my academic career. At the CCICADA Center teaching is one of my priorities and I am in the middle of teaching my third semester of Rutger's introductory course on the internet and the information environment (ITI 111). This class introduces a wide range of CS topics, including networking, programming, graph theory, and machine learning. As a graduate student, I taught BYU’s discrete structures class (CS 236). I also substituted frequently in CS 455, BYU’s computer graphics course for seniors, and CS 659, BYU’s graduate level natural phenomena course.
One of my favorite teaching methods is doing in-class labs with my students. I write my own html/javascript webpages that students can use to explore new topics together with me in real-time. Feel free to explore the examples below. Programming Introduction Ranking Activity Encryption IntroductionI can teach courses in any introductory CS topic and advanced courses in:
- Physical security
- Crowd simulation
- Simulation
- Natural phenomenon
- Artificial intelligence
- Real-time graphics
- Photorealistic rendering
- Game development
- Computer animation
- Machine learning
- Computer vision