TEACHING STATEMENT
Teaching Philosophy
I start from the view that learning in computing, data science, and information systems is not primarily the accumulation of procedures. It is the development of disciplined ways of thinking: asking better questions, tracing relationships among people, data, and systems, testing assumptions, and explaining choices. Technical skills matter, but they matter most when students can use them to understand situations, evaluate trade-offs, and act responsibly.
Information technology is socio-technical. A database, model, program, or platform is never only a technical artifact; it is also a way of organizing work, shaping decisions, and distributing responsibility. For this reason, technical education should attend to human, organizational, ethical, and managerial contexts. Students need more than a correct answer; they need to understand why an approach is appropriate, what its limits are, and how it might transfer to a new problem.
I also see learning as developmental. Students arrive with different levels of preparation, confidence, work schedules, and professional goals. A learnable course gives them enough structure to know what matters, enough context to see why it matters, and enough support to recover when they struggle. In that sense, inclusion is not only a value I hold; it is a design responsibility in every course I teach.
Instructional Approach
My course design moves from foundations to applied integration to synthesis. Students first build core concepts through focused examples and exercises. They then work with realistic datasets, systems, or scenarios that connect concepts to professional practice. Finally, projects require design decisions, testing, documentation, and reflection. This structure has guided my teaching in courses on information systems, database management, business intelligence, Python for data science, and artificial intelligence.
I use worked examples, structured exercises, iterative feedback, and applied projects to make the reasoning behind technical concepts visible. In technical courses, mistakes are not interruptions to learning; they are part of learning. Clear expectations, transparent assignments, frequent low-stakes practice, and multiple feedback channels help students move from demonstration to independent work without hiding the difficulty of the material.
My teaching is also a form of curriculum development. At Missouri S&T, I have built and refined course materials in programming, data science, analytics, and artificial intelligence. My open textbooks, thinkpy.org and thinkdsm.org, reflect this approach: instructional resources should be public, executable, reusable, and continuously improved.
Teaching and research strengthen each other in my work. My research on information seeking, human-computer interaction, decision-making, and learning systems gives me concrete examples for classroom discussion, while teaching regularly surfaces new questions about how people learn technical material and make decisions with information. I see teaching as part of the broader scholarly work of creating, organizing, disseminating, and applying knowledge.