I teach courses in computational modeling and data analysis, focusing on making these skills accessible to students from a variety of backgrounds.

Teaching Philosophy

My approach to teaching computational courses emphasizes:

  1. Conceptual Understanding First: Building intuition before diving into technical details
  2. Real-World Applications: Connecting abstract concepts to meaningful problems
  3. Active Learning: Engaging students through hands-on exercises and projects
  4. Peer Collaboration: Encouraging teamwork and knowledge sharing among students
  5. Professional Skills Development: Preparing students for careers that require computational proficiency
  6. Accessible and Supportive Pedagogy: Creating an environment where all students can succeed

Current Courses

Below are some of the courses I commonly teach in the Department of Computational Mathematics, Science and Engineering (CMSE).

CMSE 201: Computational Modeling and Data Analysis I

An introduction to computational science and data analysis using Python. Students learn to build and analyze models of physical, biological, and social systems while developing programming skills and applying numerical methods.

Key Topics:

  • Python programming fundamentals
  • Data visualization and analysis
  • Numerical methods (integration, differential equations)
  • Agent-based and compartmental modeling

CMSE 202: Computational Modeling and Data Analysis II

A continuation of CMSE 201 that expands modeling and data analysis skills. Students work with larger datasets, apply statistical techniques, and explore more advanced computational methods, including object-oriented programming and machine learning concepts.

Key Topics:

  • Advanced Python programming
  • Object-oriented design and inheritance
  • Statistical modeling and regression
  • Data manipulation and visualization
  • Introduction to machine learning

CMSE 402: Data Visualization Principles and Techniques

Focuses on the theory and practice of effective data visualization. Students learn to design clear, informative visualizations, explore interactive tools, and apply visualization principles to communicate complex data effectively.

Key Topics:

  • Visualization design and human perception
  • Statistical and high-dimensional data visualization
  • Interactive dashboards and tools (e.g., Tableau, Streamlit)
  • Color theory, image visualization, and animation
  • Narrative techniques for data storytelling

CMSE 801: Introduction to Computational Modeling and Data Analysis

An accelerated graduate-level version of CMSE 201 designed for students who's research requires, or would benefit from, modern computational skills. Covers core modeling and data analysis concepts at a faster pace, with additional emphasis on research applications and advanced problem-solving.

Key Topics:

  • Python programming for scientific computing
  • Numerical methods and algorithm design
  • Data visualization and interpretation
  • Modeling with ODEs, agent-based systems, and optimization
  • Research-oriented computational projects