Teaching is one of my passions. Via teaching, I deepen my understanding of the field. Teaching courses has provided me with fundamental insight into visualization, and generated new directions for my research. In turn, I bring my research results back into the classroom where they are disseminated and refined. This tie between teaching and research is a theme in many of my classes; several projects from courses I have taught have either been presented at international conferences or published as journal papers.
This page details students currently working with me and about courses I teach. For information about my teaching philosophy, see my CV.
Students Past & Present
Current Students
- Donald Johnson (PhD)
- Flood Visual Analytics
- Andrew Stamps (PhD)
- Heterodox Visualization
- Andrew LaFrance (BS/MS)
- Security visualization
- Morgan Sweeney (BS)
- Bioinformatics Visualization
Alumni
- Ketan Mehta (MS August 2006)
- Thesis: NLCViz: Tensor Visualization and Defect Detection in Nematic Liquid Crystals
- Miao Liu (MS December 2007)
- Project: Visualization Interface for Vortical Flow Simulations
- David Wilson (MS August 2008)
- Project: Computer Forensics Visualization
- Chad Steed (PhD December 2008, co-advised with J. Edward Swan II)
- Dissertation: Development of a Geovisual Analytics Environment to Conduct North Atlantic Tropical Cyclone Trend Analysis
- Yagneshwara Lanka (MS August 2009)
- Project: Security Visualization
- Chris Lewis (MS August 2012)
- Project: Natural Distaster Visualization
- Peter L. Curtis (MS August 2012)
- Project: Security Visualization
- Marlon Taylor (MS August 2013)
- Project: Student Retention Visualization
- Christian Hall (BS May 2014)
- Project: Color Chooser Tool
- Swapnik Shah (BS May 2014)
- Project: Bioinformatics Visualization
Courses
Currently Offered
CSE4/6453: Game Design
[Spring 2009, 2011, 2013–2015] Study the principals, practice, and techniques of interactive computer game design, including design theory, design process, and design production. Analyze existing computer games. Build interactive computer games in a small, interdisciplinary group format.
Past Courses
CSE1284: Introduction to Computer Programming
[Spring 2010, Fall 2010] Introduction to basic problem solving using computer programming and the basic structures of programming. Data types, selection, loops, and functions.
CSE1384: Intermediate Computer Programming
[Spring 2011, 2013] Continuation of problem solving with computing. Analysis of algorithms, recursion, and linear data structures.
CSE2383: Data Structures
[Summer 2012] Trees, hash tables, sort and search algorithms.
CSE3813: Introduction to Formal Languages
[Spring 2005, Summer 2008, Fall 2008, Fall 2011, Spring–Summer 2012, Fall 2013, 2014] Introduction to the theory of computation. Regular languages and automata, context-free languages and automata, computability theory, complexity theory.
CSE4413/6413: Principles of Computer Graphics
[Fall 2003–2005, 2007, 2010–2011, 2013] Introduction to Computer Graphics and OpenGL. 2- and 3-dimensional modeling, transformations, and rendering.
CSE4990/6990: Illustrative and Non-Photorealistic Rendering
[Spring 2007] Introduction to Non-Photorealistic Rendering and its applications.
CSE4/6990: Digital Visual Communication and Analysis
[Fall 2009, Summer 2011, Fall 2014] Introduction to the design principles behind effective digital visual communication and visual analysis.
CSE4/6990: Mobile Computing
[Spring 2012] Basic of web and device-based mobile programming.
CSE4/6990: Web-based Graphics and Visualization
[Summer 2013] Web-based design; web-based computer graphics and visualization tools.
CSE8413: Visualization
[Fall 2005] Essential algorithms for three-dimensional rendering and modeling techniques, viewing transformations, illumination, surface modeling, methodologies for visualization of scalar and vector fields in three dimensions.
CSE8990: Information Visualization)
[Spring 2004, 2005, Fall 2006, 2008, 2012] Introduction to Information Visualization. Theory and techniques including document visualization, database visualization, and graph visualization.
CSE8990: Display Technology
[Spring 2008] Introduction to large and small display technology and interactions for such devices.
Tutorials
Python Tutorials
A rough introduction to Python, the language I use in my research and teaching.