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.
101: Introduction to Informatics
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.
200: Math Foundations of Informatics
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.
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.
470: Introduction to Computer Graphics
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.
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.
some of the fun things we do in CAGD: visit the Font
Design Project student gallery!
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.
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!
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.
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.
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..
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.
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.