Dianne Hansford, Ph. D.
Contact Information:
Tel: 480-703-0263

Consulting Services
my books



This teaching page lists the courses I teach/have taught at Arizona State University , the books I have written, and the students I have mentored.

CPI 101: Introduction to Informatics

Google, YouTube, Blogs; It is obvious that we live in a data-centric world! People are getting rich by leading the way in capturing and packaging data in creative ways. Informatics is the study of how we collect, store, manipulate, retrieve, and visualize data. Not only is Informatics a key tool for popular web applications, but also for just about any other discipline: life sciences, social sciences, business, mathematics, and engineering. The real winners in this new world will be the ones that have the tools to transform data into information and then into knowledge. In fact, our ability to find answers to the most pressing problems of today, such as global warming and curing diseases, depends on our abilities to develop innovative methods in Informatics.

CPI 200: Math Foundations of Informatics

This course provides a practical introduction to the mathematics necessary for studies in Informatics. In particular, students will develop the tools needed for interdisciplinary, user-based work in information and data management, modeling, geometric modeling, computer graphics, and visualization.

CPI 220: Applied Data Structures and Algorithms

Thorough grounding in applied knowledge and skills related to algorithms and data structures used in the development of software designed to solve complex problems. Overview of computational and critical thinking skills that can be called upon to analyze and solve complex problems in multiple domains.

CSE 470: Introduction to Computer Graphics

The class is based on WebGL. We don't just learn the API, we lift up the hood and look inside. By the end of the semester, students will understand interactive applications, realistic rendering, and 3D viewing.

CSE 477: Introduction to Geometric Modeling

This class is an undergraduate introduction to topics in Geometric Modeling / Computer Aided Geometric Design (CAGD). Students will learn about curve and surface methods that are used in CAD/CAM, computer animation, and medical imaging.
See some of the fun things we do in CAGD: visit the Font Design Project student gallery!

CSE 570: Advanced Computer Graphics

This course serves as an introduction to 3D shape analysis techniques for computer graphics, geometric modeling, motion capture and computer vision research.

CSE 577: Advanced Geometric Modeling

This class will cover a variety of geometric modeling methods used in CAD/CAM, computer animation, and medical imaging. Topics covered include NURBS, subdivision surfaces, Voronoi diagrams, volume deformations, and more!



Teaching goes hand-in-hand with writing books. In both endeavors, the goal is to share my knowledge and passion for the subjects with the students/readers. I feel fortunate to have the opportunity to teach computer graphics and CAGD at ASU. It gives me a forum to improve my communication skills, and in turn, improve the texts that I have co-authored with Gerald Farin include the following.

Practical Linear Algebra -- A Geometry Toolbox
Through many examples and real-world applications, PLA teaches undergraduate-level linear algebra in a comprehensive, geometric, and algorithmic way. It is an excellent companion book for computer graphics. There really is quite a bit of math behind computer graphics, and a solid understanding of linear algebra is essential.

The Essentials of CAGD
An introduction to the basic concepts of Computer Aided Geometric Design (CAGD). It is aimed at non-mathematicians and could be used as an undergraduate text in Geometric Modeling. The visual approach of the book appeals to the students, helps them retain key elements, and as a result, many students leave prepared for programming jobs in geometric modeling.
Gerald Farin has written the seminal advanced CAGD text, Curves and Surfaces for CAGD..

Mathematical Principles for Scientific Computing and Visualization is intended for students and researchers in science-related areas, such as biology, geography, or psychology. Advanced math or computer science knowledge are not needed. Our goal is to create informed users of sophisticated software tools in these areas.


One of the benefits of being a part of the ASU community is the opportunity to make a difference in the lives of students.

Please see my long CV for details on my mentoring activity.