Elaine's picture

Elaine Rich

Distinguished Senior Lecturer (Retired)
The University of Texas at Austin

Covid Times

some of my masks Covid-19 put a stop to most of our post-retirement activities. No more trips. But we’ve been staying busy.

RBG mask I’ve been sewing. We all need masks. We might as well have fun ones. I’ve made over 350 of them so far. Here are a few of them. Click here to see a lot more. I have also written up directions for how to make your own if you want to.


I've also been quilting. For more about the quilting, click on the quilt or here. I am inspired now by a quilt I made in 2009, when I was full of hope as Obama took office. After four long years of Trump, there is again hope that can inspire us.


oak chair and ottoman


Meanwhile, Alan's been busy in the wood shop. Click on the chair or here for a complete tour, focusing on Mission-style quarter-sawn oak.

Recent Projects

I retired from UT in December, 2016.

image of Frege My last big project was FREGE, an online environment for learning introductory logic and discrete mathematics. It is an interactive textbook with over 500 problems and exercises. There are also 69 videos that complement the text.

We piloted FREGE in CS 301K in Fall, 2014. In Fall, 2015 and 2016, we used it in our Signature Course, UGS 303.

cover of Automata Theory book My previous big project was a book entitled Automata, Computability and Complexity: Theory and Applications. It was originally published by Prentice-Hall in September, 2007 and is now available online here. The theoretical underpinnings of computing form a standard part of almost every computer science curriculum. But the classic treatment of this material isolates it from the myriad ways in which the theory influences the design of modern hardware and software systems. My book was an attempt to change that.

The main part of the book is organized in the standard way: it begins with finite state machines and regular languages. Next it covers context-free languages and it contains an optional chapter on context-free parsing techniques. Then it introduces Turing machines (and several equivalent models of computation) and the question of undecidability. Finally, it considers the problem of practical computability by introducing time and space complexity classes. For more detail, see the book's website.

Throughout the book there are links to applications of the key concepts. A substantial appendix describes many of those applications and pointers within the book to the book's website describe others. Programming languages, compilers, networking, natural language processing, artificial intelligence, computational biology, security, and games are among the applications that are discussed.

Instructors who choose to use the book in their classes have access to a collection of resources designed to make it easy to teach from the book. There is a complete set of Powerpoint slides, as well as answers to most of the problems in the book and a set of additional problems (most with solutions) that can be used for homeworks and exams. Email me for instructions on where to find this material.


I have recently taught, among other things, CS 349 (Contemporary Issues in Computer Science), CS 341 (Automata Theory), UGS 303 (Foundations of Logical Thought - an introduction to formal logic and discrete math using FREGE), UGS 302 (Freshman Seminar - Mirrors on Ourselves: Attempts to Build Artificial People), and CS 302 (Computer Fluency).

Earlier Work

I got a Ph.D. in CS in 1979 from CMU, with a dissertation, entitled Building and Exploiting User Models. In that work, I showed that stereotypes (models of groups of users who share common interests or characteristics) could be effectively exploited by a system (mine was named Grundy) that gives advice to people on things they might like. Grundy recommended novels to people, but the same ideas can be used to recommend everything from music to cars. Two papers, one in IJMMS, and one in Cognitive Science, describe this work.

conversation with Grundy Grundy exploited relatively deep models, both of the books it knew and of its users. This meant that the models of the individual books had to be created by hand. And what about the models of each user? The goal, in designing Grundy, was to minimize the amount of interaction a user would have to have with Grundy in order to get going. To achieve that goal, Grundy used stereotypes, which could be triggered for a particular person just from a small set of words that the person provided as a simple self description. Grundy generated book recommendations by comparing its model of the current user to the models of the books it knew about. It chose the best match and generated a short description of the book, which emphasized the reasons it thought this user would like the book. Then it asked the user whether it liked the recommendation, and, if not, why not. Using that feedback, it updated both its stereotypes and its model of the current user.

Grundy's approach contrasts with the now common technique of collaborative filtering, in which the only thing that the system (for example, Amazon.com) knows about its books is who bought them. The only thing it knows about an individual is what books he or she has bought. It knows no reason why the person likes those particular books. But it does know thousands of other people who liked the same books and it knows which other books those people liked. So it can recommend new books to a current user without any deep model either of the user's preferences or of the books. Collaborative filtering systems substitute a massive, shallow database for Grundy's smaller, deeper one.

box of Crayola crayons While at CMU, I also did a small project on the differences between men and women in their use of color terms. Not surprisingly, women, on average, use a wider array of color expressions than men do. See Sex-Related Colour Vocabulary for the details. At the end you'll find a list of recent translations into several Eastern European languages. I have no idea why they've been done.


1st edition of Artificial Intelligence book Japanese translation of Artificial Intelligence book 2nd edition of Artificial Intelligence book When I left CMU, I moved to Austin to teach in the CS department at UT Austin. The first thing that happened there was that I had to give up knitting (they really don't have winter in Texas), but I eventually found something even better (see below).

In the mean time, I wrote an Artificial Intelligence text book, which later came out in a second edition coauthored with Kevin Knight. Artificial Intelligence was translated into Japanese, French, Spanish, German, Italian and Portuguese. It appeared as number 21 in a list of classic CS books published in the March, 2006 issue of CACM. In June, 2008, the website Techoozie published a list, “10 Books that Will Substitute a Computer Science Degree”. Artificial Intelligence was also on that list. A third edition, with revisions by S. B. Nair was published in 2009. The three editions have sold over 250,000 copies.


a watercolor quilt Sometime in the post knitting void, soon after finishing the second AI book, I discovered quilting and got hooked. I can't talk about my quilting, though, without pictures. So if you've got the time to download some really nice photos, click on the quilt to visit my quilting page.

K-12 Outreach

Computers now are everywhere. So it's critical that we reach out to children and show them the beauty of computing. Click here for some of the outreach projects I've been involved in.

The Dean's Scholars Scrapbook

Dean's Scholars is an honors program in the UT College of Natural Sciences. I've built a scrapbook of our dinners over the years. It's in three volumes: photos, menus, and recipes. Click here to see it.


Presentations I've Put on the Web

Links to Other Websites I've Built