Artificial Intelligence (AI) Course Group Status Report


AI Courses
Course no. Title Credit 
Hours
Reqd (R)/ 
Elective (E)
CSE 612
Introduction to Cognitive Science
3
E
CSE 630
Survey of Artificial Intelligence I: Basic Techniques
3
E
CSE 634
Computer Vision for Human Computer Interaction
3
E
CSE 730
Survey of Artificial Intelligence II: Advanced Topics
3
E
CSE 731
Knowledge-Based Systems
4
E
CSE 732
Computational Linguistics
4
E
CSE 735
Methods in Pattern Recognition
3
E
CSE 737
Proseminar in Cognitive Science
2
E
CSE 739
Knowledge-Based Systems in Engineering
3
E
CSE 776
Hardware/Software Interface Design Project
4
E
CSE 779
Introduction to Neural Networks
3
E
CSE 794L
Foundations of Spoken Language Processing (pilot)
3
E


1. Summary

Artificial Intelligence (AI) is a major area of computer science, broadly concerned with how to make computers "smart". It is one of the focus areas of the Department.

The field of AI continues to evolve at a rapid pace, fueled by the ancient dream of the mankind to make a machine that behaves like a man, as well as by the research and development taking place in industry at companies such as Microsoft, IBM, AT&T, Lucent, GE, just to name a few. In addition, AI has become indispensable in a variety of application areas because of advances in computer vision, speech and language processing, inference engines, knowledge-based systems, and robotics. AI has also become a main bridge between computer science and many other disciplines, such as other engineering disciplines, cognitive science, linguistics, psychology, neuroscience, math/physics/statistics, speech and hearing sciences, and medicine.

We have evolved the AI curriculum continuously to keep pace with the development of the field, the interests of students, and the demands of employers. We currently have nine regular courses in AI, many of which are cross-listed with other departments, reflecting the interdisciplinary nature of the field. The 630/730 sequence is the core introduction to AI. The AI faculty also offer research seminars that cover recent developments in computer vision, neural networks, speech processing, knowledge systems, and cognitive science. Developing new courses on these topics is a priority of the AI faculty.

The AI curriculum satisfies many of the CSE and ABET objectives. On the application side, AI is an area in which students can exercise the principles of software design, databases, algorithms, data structures and programming languages which they have learned in the foundation courses. The AI courses rely heavily on the application of various principles from mathematics, physics, statistics, neuroscience, and psychology. Students who study AI in the Department receive a good grounding in the area, are usually ready for graduate studies in AI and cognitive science, and are very employable. AI also draws from an interdisciplinary background, and several of our courses offer opportunities for working with interdisciplinary teams.

2. Detailed Analysis

The CSE department regularly offers the following AI courses: CSE 630, CSE 634, CSE 730, CSE 731, CSE 732, CSE 739, and CSE 779; it is also currently piloting CSE 794L.  It has also offered two courses in cognitive science: CSE 612 and CSE 737 on a regular basis. 

Section 2.1 describes the individual courses in the group. Section 2.2 explains how the group is related to the rest of the CSE program. Section 2.3 explains how the group helps meet a range of CSE and ABET objectives. Section 2.4 provides information on the feedback we have received from students, recruiters, etc., about the courses in the group. Section 2.5 summarizes changes to the course group since the last report. Section 2.6 summarizes continuing concerns and future changes under discussion.

2.1 Summary of the courses

CSE 612: Introduction to Cognitive Science  provides an introduction to the interdisciplinary study of the nature of human thought, and psychological, philosophical, linguistic, and artificial intelligence approaches to knowledge representation. The course is cross-listed with the Departments of Linguistics, Philosophy, and Psychology.

CSE 630: Survey of Artificial Intelligence I: Basic Techniques  is a survey of the basic concepts and techniques of problem solving paradigms and knowledge representation schemes in Artificial Intelligence. This is the entry-level AI course, and is a prerequisite for many subsequent AI courses.

CSE 634: Computer Vision for Human Computer Interaction  is a course in computer vision algorithms for use in human-computer interactive systems. Topics include image formation, image features, segmentation, shape analysis, object tracking, motion calculation, and applications. This is a newly approved course (634) that was successfully piloted three times under CSE 694I; Autumn 2005 should be the first offering of the permanent course.

CSE 730: Survey of Artificial Intelligence II: Advanced Topics is a survey of advanced concepts, techniques, and applications of artificial intelligence, including perception, learning, reasoning under uncertainty, natural language processing, and speech recognition. This course continues the introduction of artificial intelligence in CSE 630.

CSE 731: Knowledge-based Systems is a survey of theory and practice of expert systems and knowledge-based systems, and makes use of current knowledge-based systems software tools. This is a BSCSE capstone design course.

CSE 732: Computational Linguistics is an exploration of the computational processing of natural language; syntactic, semantic, and pragmatic processing techniques are applied to understanding and generating written and spoken language. This course has been recently redesigned and has been offered twice in its new format.

CSE 735: Methods in Pattern Recognition is a survey of pattern recognition and machine learning techniques. This course has not been offered recently, but the AI faculty hope to resurrect it.

CSE 737: Proseminar in Cognitive Science is an in-depth examination of the interdisciplinary field of cognitive science, and it emphasizes fundamental issues of each discipline and provides illustrations of representative research being conducted at OSU. This is the second course in cognitive science, subsequent to CSE 612. The course is cross-listed with ISE, Linguistics, Philosophy, Psychology, and Speech and Hearing Science.

CSE 739: Knowledge-Based Systems in Engineering is an application of knowledge-based system principles to engineering problems, including practical knowledge engineering, techniques for problem assessment, and implementation. This course is cross-listed with Chemical, Mechanical, and Nuclear Engineering Departments.

CSE 776: Hardware/Software Interface Design Project introduces principles and applications of hardware and software design: design, programming, testing, and evaluation of an autonomous mobile robot system. This is a BSCSE capstone design course; it has not been offered recently.

CSE 779: Introduction to Neural Networks is a survey of fundamental methods and techniques of the field of artificial neural networks. Single-layer and multi-layer feedforward networks; Associative memory models; Recurrent and statistical networks; Supervised and unsupervised learning rules; Self-organization networks; Applications to signal processing, pattern recognition/generation, and optimization problems. This course is cross-listed with Electrical Engineering.

CSE 794L: Foundations of Spoken Language Processing is a new pilot course that covers automatic speech recognition and text-to-speech technologies. This course was first piloted in Winter 2005 and will be likely piloted again in Winter 2006.

2.2 Evaluation of courses

Recently, the curriculum committee added a method for evaluating each course against its objectives. In preparing this report, we have only had time to evaluate three courses given the new evaluation guidelines of learning objectives: CSE 630, CSE 731, and CSE 732. In 2005-2006, we will evaluate all current courses against published learning objectives, which will be described in a future report.

CSE 630 lists the following learning objectives:

A typical offering of the course requires students to complete homeworks assignments on search, game play, logic, and machine learning. The course material is drawn from Russell & Norvig "Artificial Intelligence: A Modern Approach," the defacto standard AI text in the community today. This has better coverage of search (including game search), logic, and learning rather than other topics. Furthermore, instructors of this course follow a core curriculum of 8 weeks, and integrate 2 weeks of material of interest to the instructor (for example, including topics in cognitive science or planning). This is desired, as long as it does not overlap with other material in our curriculum, since we have found that the students are most receptive to the areas that the instructor is most passionate about. The course has been slowly (and only modestly) reorganized, particularly because of the change of personnel teaching the course over the last few years. Thus, in our evaluation we found that some of the objectives were no longer appropriate and should be changed. In particular, semantic nets are no longer covered, and given changes in the field, have been (and should be) dropped from the course. We also do not talk about integrated AI architectures any longer, deferring discussion of this to CSE 730 (Bayes Nets) or CSE 731 (Expert systems architecture). Since Russell & Norvig is based around agent-based design, this objective should be replaced with "Be familiar with agent-based approaches to problem formulation." In addition, the section on logic has been strengthened, and most students master logic and proofs in knowledge representation. In sum, we will be proposing the following learning objectives for the course:

CSE 731 lists the following learning objectives:

A typical offering of the course requires students to design an expert system as part of a group project and complete several homework assignments. A recent review of these criteria found that successful students were meeting all of the objectives. This has been demonstrated through the homework assignments on the topics of classification, diagnosis, and design problems, as well as knowledge representation for uncertain, spatial, and temporal knowledge. The last two criteria are met through the design project, which familiarizes students with a task-level architecture for knowledge engineering and provides them experience with the CLIPS programming tool for system development. One desired outcome suggested recently (which is also currently met through the course project) is "Be exposed to issues in participatory design of software systems." We will be adding this to the objective list of 731.

CSE 732 lists the following learning objectives:

Since these outcomes were derived in the recent revision of CSE 732, they are currently well in line with current offerings of the course. A typical offering of the course requires students to learn about parsing, representing semantics and logical forms, processing discourse and dialogue, and natural language generation. In a recent review of the objectives, students met all of the criteria except the second, in which they only reached a level of familiarity. In future offerings of this course, we will integrate more symbolic reasoning to increase the proficiency level of students.

2.3 Relation of the courses to the rest of the CSE program

CSE 612: Introduction to Cognitive Science. Prerequisites for CSE 612 are the permission of instructor and a total of 12 credit hours from at least two of the following areas: computer science, linguistics, philosophy, and psychology.

CSE 630: Survey of Artificial Intelligence I: Basic Techniques. Prerequisites for CSE 630 are CSE 222 (Development of Software Components) and Math 366 (Discrete Mathematical Structures I). CSE 630 is a prerequisite for CSE 634, 730, 731, 732, 735, 739, 779, and 794L.

CSE 634: Computer Vision for Human-Computer Interaction. Prerequisites for CSE 634 are CSE 630 (Survey of Artificial Intelligence I: Basic Techniques) or ECE 352 (Systems II); Math 568 (Introductory Linear Algebra I) or Math 571 (Linear Algebra for Applications I); or permission of instructor.

CSE 730: Survey of Artificial Intelligence II: Advanced Topics. Prerequisite for CSE 730 is CSE 630 (Survey of Artificial Intelligence I: Basic Techniques). CSE 730 is a prerequisite for CSE 794L.

CSE 731: Knowledge-based Systems. Prerequisite for CSE 731 is CSE 630 (Survey of Artificial Intelligence I: Basic Techniques), CSE 560 (Elements of Computer Systems Programming), and CSE 601 (Social and Ethical Issues in Computing), or permission of instructor.

CSE 732: Computational Linguistics. Prerequisites for CSE 732 are CSE 630 (Survey of Artificial Intelligence I: Basic Techniques); CSE 625 (Introduction to Automata and Formal Languages) or Linguistics 684.01 (Introduction to Computational Linguistics I); and Linguistics 201 (Introduction to Language in the Humanities), or permission of instructor.

CSE 735: Methods for Pattern Recognition. Prerequisites for CSE 735 are CSE 630 (Survey of Artificial Intelligence I: Basic Techniques) or permission of instructor.

CSE 737: Proseminar in Cognitive Science. Prerequisite for CSE 737 is CSE 612 (Introduction to Cognitive Science) or permission of instructor.

CSE 739: Knowledge-Based Systems in Engineering. Prerequisite for CSE 739 is CSE 630 (Survey of Artificial Intelligence I: Basic Technique) or permission of instructor.

CSE 776: Hardware/Software Interface Design Project. Prerequisites for CSE 776 are CSE 459.21 (Programming in C), CSE 660 (Introduction to Operating Systems); ECE 567 (Microprocessor Laboratory I) or ECE 329 (Electronic Devices and Control Laboratory).

CSE 779: Introduction to Neural Networks. Prerequisite for CSE 779 is CSE 630 (Survey of Artificial Intelligence I: Basic Techniques).

CSE 794: Foundations of Spoken Language Processing. Prerequisites for CSE 794 are CSE 625 (Introduction to Automata and Formal Languages) or Linguistics 684.01 (Introduction to Computational Linguistics I); CSE 630 (Survey of Artificial Intelligence I: Basic Techniques); CSE 730 (Survey of Artificial Intelligence II: Advanced Topics) or Statistics 428 (Introduction to Probability and Statistics II).

2.4 Relation to CSE and ABET objectives

The courses in this group play a significant role in meeting both CSE program objectives as well as ABET Criterion 3 objectives. In section 2.3.1 we consider the CSE objectives that this course group helps us meet, and in section 2.3.2 we consider the ABET objectives. There are five groups of outcomes for the CSE program.
  1. Students will:
    1. Demonstrate proficiency in the areas of software design and development, algorithms, operating systems, programming languages, information systems, and computer architecture.
    2. Demonstrate proficiency in relevant aspects of mathematics, including discrete mathematics and probability, as well as electrical circuits and devices.
    3. Successfully apply these principles and practices to a variety of problems.
  2. Students will:
    1. Demonstrate an understanding of differential and integral calculus, and of statistics.
    2. Demonstrate an understanding of the basic principles of physics and at least one other laboratory-based science.
    3. Demonstrate an understanding of the basic principles of at least one other engineering discipline in addition to computing and electrical engineering.
  3. Students will:
    1. Demonstrate familiarity with basic concepts and contemporary issues in the social sciences and the humanities.
    2. Demonstrate an understanding of social, professional and ethical considerations related to engineering in general and to computing in particular.
  4. Students will:
    1. Demonstrate an ability to work effectively in teams.
    2. Demonstrate an ability to communicate effectively.
  5. Graduates will:
    1. Find suitable positions in industry and government that offer the prospect of challenging and rewarding careers in computing.
    2. Demonstrate an ability to acquire new knowledge in the computing discipline and to engage in life-long learning.
    3. [Graduates with an aptitude for, and interest in, graduate studies will] Apply to and be accepted for entry by strong graduate programs in computing.
The courses in this group play a key role in meeting both CSE program outcomes as well as ABET Criterion 3 objectives. In Section 2.3.1 we consider the CSE outcomes that this course group helps us meet, and in Section 2.3.2 we consider the ABET objectives.

2.3.1 CSE Outcomes

Criterion I
On the application side, AI is an area in which students can exercise the principles of software design, databases, algorithms, data structures, programming languages and architectures which they have learned in the foundation courses. AI relies heavily on basic mathematical and engineering principles, including calculus, algebra, geometry, discrete math, statistics, and signal processing. AI courses typically involve problem solving in the form of labs, and emphasize practical applications. Courses that help meet this criterion include CSE 630, 634, 730, 731, 732, 776, 779, 794L).
Criterion II
Several AI courses are intimately concerned with developing the principles of mathematical analysis and physics into computational models for artifacts and neural systems (CSE 779). Such principles are also employed in machine perception and machine learning (CSE 634, CSE 730, CSE 732, CSE 794L).
Criterion III
As a highly interdisciplinary field, AI serves as a main bridge between computer science and other studies concerning human cognition and the overall human context within which computing takes place. The two cognitive science courses, CSE 612 and CSE 737, provide necessary knowledge for an understanding of AI in the general context of the study of the brain and the mind. Human computer interaction in multiple modalities, such as language and gesture, is also a major concern of AI. CSE 732 touches on many linguistic and philosophy of language topics such as concept acquisition and how language relates to the world.
Criterion IV
Several courses (CSE 634, CSE 730, CSE 731, CSE 794L) require team projects as part of the evaluated work, and also foster teamwork in the classroom. Students in all of these classes are required to present the results of the class project as part of the project grade.
Criterion V
As a result of increased computing power, more sophisticated user demand, and the Internet, AI training is becoming more important to industry in everything from smart word processing, speech recognition, intelligent search techniques for web search engines to autonomous vehicles (e.g. the Pathfinder on the Mars) and undersea robots. The AI curriculum in the Department covers the basics of AI thoroughly. Students who study AI in the department receive a good grounding in the area, are usually ready for graduate studies in AI/Cognitive Science, and are very employable.
 
Summary of Relation to CSE Objectives
Course no. CSE
I.i
CSE
I.ii
CSE
I.iii
CSE
II.i
CSE
II.ii
CSE
II.iii
CSE
III.i
CSE
III.ii
CSE
IV.i
CSE
IV.ii
CSE
V.i
CSE
V.ii
CSE
V.iii
612
XX
XXX
XX
XXX
X
X
630
XXX
XX
XX
XX
X
X
X
X
XX
634
XX
X
XX
X
X
X
XX
X
730
XXX
XXX
XX
XX
XX
XX
X
X
731
X
X
XXX
XX
X
XXX
XXX
XX
X
X
732
XX
XX
X
XX
X
X
X
XX
XX
735
X
XXX
XXX
XXX
X
X
XX
X
XX
737
XX
XXX
XX
XXX
X
X
739
X
X
XXX
XX
X
XX
XX
XX
XX
X
X
776
XXX
XXX
XX
XXX
XX
XXX
XXX
XX
X
XX
779
XX
XXX
XX
XXX
X
X
XX
X
XX
794L
XXX
XX
XX
XX
X
XX
X
XX
X
X


2.3.2 ABET Criterion 3: Program Outcomes and Assessment

Engineering programs must demonstrate their graduates have:

   a.  an ability to apply knowledge of mathematics, science, and engineering
   b.  an ability to design and conduct experiments, as well as analyze and interpret data
   c.  an ability to design a system, component, or process to meet desired needs
   d.  ability to function on multi-disciplinary teams
   e  an ability to identify, formulate, and solve engineering problems
   f.  an understanding of professional and ethical responsibility
   g.  an ability to communicate effectively
   h.  the broad education necessary to understand the impact of engineering solutions in a global and societal context
   i.  a recognition of the need for, and an ability to engage in life-long learning
   j.  a knowledge of contemporary issues
   k.  an ability to use techniques, skills, and modern engineering tools necessary for engineering practice.

The AI courses contribute strongly to a number of ABET objectives. The AI courses are heavily oriented towards interdisciplinary education involving other engineering and scientific disciplines, problem solving through a variety of labs, and theoretical foundations.
 

Summary of Relation to ABET Objectives
Course no. ABET
3a
ABET
3b
ABET
3c
ABET
3d
ABET
3e
ABET
3f
ABET
3g
ABET
3h
ABET
3i
ABET
3j
ABET
3k
612  
X
XX
XXX     XXX XXX
X
X
X
630
XXX
X
XX
XX
X
X
X
XX
634
XXX
XXX
XX
XX
X
XX
730
XXX
XX
XX
XXX
 
X
X
X
XX
731
X
X
XXX
XX
XXX
 
XX
X
X
XX
XXX
732
X
XX
XXX
X
X
 
X
XX
XX
XX
735
XXX
X
XX
X
 
X
X
X
737  
X
XX
XXX     XXX XXX
X
XXX
X
739
X
X
XXX
XX
XXX
 
XX
X
X
XX
XXX
776
XXX
X
XXX
XX
XXX
 
XX
 
X
X
XXX
779
XXX
X
XX
X
 
X
X
X
794L
XXX
XXX
XX
XX
X
 
X
X
X
XX


2.5 Feedback

As elective courses, the popularity of AI courses speaks to the success of the curriculum. Students who have gone out to industry have reported back concerning the satisfaction of their AI education. Student evaluations have also expressed the value of the material. It is not uncommon for employment agencies to contact the AI faculty concerning the possibility of locating potential employees. Recent OSU graduates with AI backgrounds have been accepted to top graduate programs, such as Stanford, Michigan, and USC. And finally, both undergraduate and graduate student applicants often select OSU specifically because of its reputation in AI instruction and research.


2.6 Changes since last report

CSE 630: Survey of Artificial Intelligence I: Basic Topics now incorporates a unit on introductory machine learning topics in order that students receive a broader introduction to AI, particularly since much of the field is moving towards machine learning techniques for complicated tasks. We no longer teach semantic networks as a topic.

CSE 634: Computer Vision for Human-Computer Interaction was developed to introduce the fundamental algorithms, concepts, and applications of computer vision to the AI curriculum. There previously was no computer vision course offered in the CSE department, though this area is a mainstream topic for AI and is taught at most major universities. Together with the ECE Department, we have successfully created a series of complementary courses related to this area.

CSE 730: Survey of Artificial Intelligence II: Advanced Topics now incorporates a final project and has been reorganized to highlight the research in the department through a combination of lectures by the primary lecturer and talks by guest lecturers illustrating approaches to research in AI. The audience of the course is about half undergraduates and half graduate students; the changes were primarily targeted for new AI graduate students (since this course is taught in the autumn quarter). However, several undergraduates commented on the course evaluations that they enjoyed having research topics integrated into the curriculum, as most coursework does not offer insights into the research done at OSU. In the AU03 offering, we noticed that many students had trouble formulating an appropriate research paper. Subsequently, in AU04 we added a small unit on how to write an AI research paper, using models from the guest lectures. This led to marked improvement in the final papers for the class.

CSE 732: Computational Linguistics was revived in SP04 with significant changes. The textbook has been changed to Jurafsky & Martin: Speech and Language Processing, which discusses a variety of techniques and has good coverage of the wide-ranging tasks that the field encompasses currently. The course content is targeted at advanced undergraduates and beginning graduate students in the artificial intelligence (CSE) or computational linguistics (LING) major. The course has been modified to include programming assignments in which the students build several simple components for a spoken dialog system. Based on current needs and our desire to distinguish this course from other offerings at OSU, this course has been refocused to concentrate on how knowledge representation and reasoning come into play during language processing, to expose the students to the special processing needs of interactive spoken language, and to provide a basic introduction to techniques for generation within interactive systems.

CSE 779: Introduction to Neural Networks has had a name change (from Introduction to Artificial Neural Network Methods) to reflect the more common usage of the term "neural networks". Coupled with the adoption of a new textbook, there is also more emphasis on statistical learning. This course has been cross-listed with ECE in the past, but there are now no faculty on the ECE side who are teaching this course, so this course is now being solely taught by CSE faculty.

CSE 794L: Foundations of Spoken Language Processing was piloted in Winter 2005; this course was developed to allow graduate and undergraduate students to interact in a team-based environment while learning about issues in automatic speech recognition and text-to-speech processing. The course attracted an interdisciplinary collection of students from CSE, ECE, and Linguistics.

2.7 Continuing concerns and future changes

CSE 612: Introduction to Cognitive Science has not been offered in the past two years because of the departure of the primary instructor (Palmer). However, it will be offered in 2005-06 by a new instructor from Psychology (Jaymiung). Teaching responsibility for this course is coordinated by the Center for Cognitive Science.

For CSE 630: Survey of Artificial Intelligence I: Basic Topics, the faculty have been discussing the differential in backgrounds of students that come to CSE 630; both undergraduate and graduate students come from a number of different departments with varying expertise. This is in part because CSE 630 serves different purposes: as a technical elective in the CSE undergrad program, as a requirement in the Cognitive Science minor program, and as an intro for non-AI graduate students. Possible solutions include offering an honors section, or a gentler introduction (possibly listed as CSE 530), but these solutions require further discussion. We also, in preparing for this report, conducted an evaluation of how we felt the students were performing against the published outcomes for the course, which identified some outcomes that were outdated because of topic shifts in the course over time. Similarly, the course description included items no longer taught in the class. Thus, we are currently rewriting the outcomes and course description to better reflect the course content.

CSE 735: Methods in Pattern Recognition and CSE 776: Hardware/Software Interface Design Project have not been taught in recent history, but the AI faculty maintain interest in offering these courses. We expect that CSE 735 will be reactivated in the next few years with the hiring of Mikhail Belkin. We hope that CSE 776 can be reactivated if we are able to hire new faculty in related areas.

CSE 739: Knowledge-Based Systems in Engineering has been cross-listed with Chemical Engineering and Civil Engineering, and has most recently been taught by Adeli in Civil Engineering. Adeli recently approached the faculty to see about changing content of the course, which is still under discussion.

We hope to turn CSE 794L: Foundations of Spoken Language Processing into a permanent course if the subsequent pilots are successful.


3. Conclusions

AI is a popular application area for the CSE program and serves as a testbed for the core programming concepts and techniques taught in the spine of the curriculum. AI is also an intrinsically interdisciplinary area. The AI courses, as they currently stand, are doing well; students are generally satisfied with the courses. We are placing students in with top-notch employers and graduate programs in the field and there is strong faculty commitment to the courses.
 
Course no. Coordinator Recent Instructors
CSE 612 Jaymiung  Palmer, Jaymiung 
CSE 630 Byron Byron, Davis, Fosler-Lussier
CSE 634 Davis Davis
CSE 730 Fosler-Lussier Fosler-Lussier,Wang 
CSE 731
Fosler-Lussier Davis, Mikkilineni
CSE 732
Byron 
Byron 
CSE 735
Not offered recently
CSE 737
Wang 
 Todd, Wang
CSE 739
 Adeli
Adeli 
CSE 776
Not offered recently
CSE 779
 Wang
Ahalt, Wang 
CSE 794L
 Fosler-Lussier
Fosler-Lussier 

People involved in preparing report: Jim Davis and Eric Fosler-Lussier, with comments from Donna Byron and Leon Wang.

Date of report: May 2005 


Jim Davis and Eric Fosler-Lussier

May 2005.