Teaching

CS 4326 and 5326 Human Factors
The following aspects human factors of computer systems are going to be covered: eye-gaze human computer interaction, usability evaluation via human visual system behavior, gaze-contingent displays, eye movement detection and processing, Kalman filters. Eye-gaze based interface design. Interdisciplinary applications of eye tracking to the areas of Biometrics, Physical Therapy, Geographic Informational Sciences and Psychology will be discussed. Anatomical and physiological aspects of human vision will be considered. Some aspects of the Brain Computer Interfaces (BCI) are going to be discussed. The students are going to be evaluated based on tests, programming projects and oral presentations of research papers.

This class will provide you with the skill of creating/evaluating novel and existing human computer interfaces. By considering an eye tracker as a novel input tool you will be able to understand advantages/challenges when new technology emerges. You will be able to put these skills and your project on your resume when applying to such companies as Apple and Microsoft, which are interested in this technology as one of the directions of the future of interface design.

Course book: Eye Tracking Methodology: Theory and Practice, 2nd ed. Duchowski, A. T. (2007), Springer- Verlag, London, UK. ISBN: 978-1-84628-808-7 (The book is FREE for all TXSTATE students through Springerlink)

CS 5329 Algorithm Design and Analysis
This course is a graduate course on the design and analysis of algorithms. The course builds on the study of the analysis and implementation of data structures and algorithms from CS 3358. The goal is to introduce a number of important algorithm design techniques as well as basic algorithms that are interesting both from a theoretical and also practical point of view. We will cover basic algorithm design techniques such as divide-and-conquer, dynamic programming, and greedy techniques for optimization. We will cover techniques for proof of the correctness of algorithms and also asymptotic analysis of algorithm time bounds by the solution of recurrence equations. We will apply these design and analysis techniques to derive algorithms for a variety of tasks such as sorting, searching, and graph problems. Some specific algorithm topics include: deterministic and randomized sorting and searching algorithms, depth and breadth first search graph algorithms for finding paths and matchings, and algebraic algorithms for fast multiplication and linear system solving. The knowledge of the course is going to be tested though projects, homeworks, and exams.

Course book: Algorithm Design: Foundations, Analysis, and Internet Examples, Michael T. Goodrich, Roberto Tamassia, ISBN-13: 978-0471383659

CS 2308 - Foundations of Computer Science II
Fundamentals of object-oriented programming. Introduction to abstract data types (ADTs) including lists, stacks, and queues. Searching and sorting. Pointers and dynamic memory allocation. A continuation of CS 1428.

Course book: Starting Out with C++: From Control Structures through Objects, 7th Edition, Tony Gaddis, ISBN-13: 978-0132846820