CV (before 2006)

John R. Fisher 
  Emeritus Professor of Computer Science, 
  California State Polytechnic University, 
  Pomona, California

email: jrfisher@cpp.edu
       fisher.r.john@gmail.com
Home address:
  6630 Sunset Circle
  Riverside, CA 92505
  (951) 689-1999

Previous work address (1971-2014):
  Computer Science Department
  California State Polytechnic University
  3801 West Temple Avenue
  Pomona, CA 91768

CSU Pomona website:  http://www.cpp.edu/~jrfisher/

----------
What interests me: 

1. Programming art and science, all aspects.
2. Formal and semi-formal (i.e., practical) software specification and construction 
   methodologies, especially using logic.
3. Diagrammatic visualization.  Diagrams and logic.
4. Software design methods and visual programming tools.
5. Artificial intelligence, especially logic topics.
6. Object-oriented programming,  especially using Java.
7. Graphics programming, especially using images.
8. Logic  programming theory, logic visualization, and applications.
9. Prolog programming, especially my online "Prolog Tutorial".
10. Natural language processing and NL interfaces.  Vocal user interfaces.
11. Probable logic theory and computational implementations.
12. Human and Computer Interactions, especially the design of internet 
    collaboration portals .
----------
COURSES I TAUGHT at Cal Poly   

(Computer Science Undergraduate)
Introduction to Computer Science
Introductory programming I, II
Data Structures I, II
Graphics
Programming Languages
Formal Languages (Theory)
Software Engineering
Theory of Computing
Symbolic Computing (Lisp and Prolog)
Artificial Intelligence

(CIS undergraduate -- Business Information Systems)
Advanced Java Programming and Design Principles, JSP

(Computer Science Graduate MS)
Automated Reasoning, Theorem Proving
Programming Language Semantics
Computer Aided Education (Software Engineering approach)
Natural Language Processing, vocal user interfaces
Human-Computer Interaction

(Mathematics)
Mathematical Logic
Calculus
Advanced Calculus
Abstract Algebra (Groups, Rings, Lie Theory, Radical Theory)
Linear Algebra
Real and Complex Analysis
Number Theory
Probability Theory
Statistics
Business Calculus
Business Statistics
Projective Geometry 
Computational Geometry and Computer Graphics 

Cal Poly ITAC Science Teaching Award 2000 -- Collaborative software 
development project teams involving students from Computer Science,
Mathematics, Physics, Chemistry, Music and Engineering.

For three years (1998-2000) I offered a version of the software 
engineering course where student teams could develop interactive 
Java applets for use in finance, music, engineering, physics, chemistry, 
and mathematics courses.  These teams were required to meet with 
a professor in those areas. The requirements for the project came 
from that professor and the final product was use-tested in their 
courses. 

I taught Java programming to Computer Engineers and Project 
managers from several major Japanese companues for several summers (1999 - 2001) 
under special contract at Cal Poly Pomona.  This contract was managed by
Cal Poly's School of Business and School of Engineering.
----------

EDUCATION AND ACADEMIC APPOINTMENTS (earliest 1st)

Sept. 1962 - June 1966:  undergraduate studies at the University of California
at Riverside.  BS degree in Mathematics, 1966.

Sept. 1966 - Dec. 1971: graduate studies at the University of California
at Riverside. Ph.D. degree in mathematics, 1971;
dissertation on Hopf algebras under professor Richard Block.

Sept. 1971 - Sept. 1983: faculty member in the Mathematics Department
at the California State Polytechnic University Pomona.  
Promoted to associate professor Sept.1975. 
Promoted to full professor Sept. 1980.

Sept. 1979 - Sept. 1982: Chairman of the Mathematics and Computer Science 
Department at California State Polytechnic University Pomona. I and Prof.
Carlos Ford Levine were tasked with the plannning and implementation for the
new Computer Science Department at Cal Poly Pomona.

Sept. 1983 - 2001: professor of Computer Science at the California State 
Polytechnic University Pomona.

Spring quarter 1983: sabbatical leave from the university.

Academic year 1989-90: sabbatical leave from the university.

1992-Present: Science editor, Journal of Interdisciplinary Studies, 
California State Polytechnic University, Pomona.  

Winter Quarter 1997: sabbatical leave from the university.

Spring Quarter 1998: California State University grant leave to study 
interactive web elements for education

Academic year 2000-2001:  CSU research leave.
----------
MASTER's THESES DIRECTED at Cal Poly Pomona
 
Ronald Baalke,
Evaluation of Two New Filters for Digital Image Processing.
Spring 1987.

Michael Paul Chandler,
Machine Translation of Finnish to English.
Summer 1986.

Francis Ching-Hong Ko,
PC-Based Monitor for Multiple ECG Systems.
Summer 1989.

Hang Kwok,
Intelligent Lexicon Searching Mechanism 
for Vocabulary Recognition.
Winter 1991.

Thian-Oen Lie,
Logical Forms for Natural Language Processing.
Summer 1992.

Steven Chingyao Lin,
A Robot Manipulation and Object Recognition System.
Fall 1985.

Edward J Panzer,
Execution Time of Marking Algorithms
During Garbage Collection in LISP.
Fall 1986.

Salvatore J Ragucci,
REPOSE:  An Object-Oriented Extension to Scheme.
Spring 1989.

Siew-Shon Seet,
Central Security Building Automation Systems.
Fall 1986.

Kuang-Chung Sung,
Translating Database Query Sentences.
Winter 1992.

Benjamin Yukfai Yu,
Computer Communication Network Simulation.
Winter 1991.

Luu Tran 
A Visual Logic
1996 

Changchi Tsao 
A Heuristic Strategy for Query Processing 
1994

Kai Tao Huang  
APIs for Remote Interface Systems 
2001
----------

PUBLICATIONS and PRESENTATIONS (latest 1st)

"Diagrams and computational logic", Paper accepted at 
INAP2005, but unable to attend.

"Interaction design issues for vocal user interfaces", Poster IASummit 2005, 
http://www.iasummit.org/2005/finalpapers/posters/109.pdf

"Behavior design using activators", OOPSLA 2002 Educator's symposium, poster
and paper. 
http://www.oopsla.org/fp/files/handheld/files/edu-6.html

"Present value of retirement", with G.J.McKee,  Proc. EDS Business Conference,
San Diego, April 2000. 

"Visual analysis and design for GUI actions", Proc. IASTED Conference on 
Software Engineering, Las Vegas, October 28-29, 1998.

"Interactive Web presentations of topics in international financial management",
with G.J. McKee, Proc. 1998 International Business Association
Conference, Honolulu Hawaii, April 15-20, pp. 79-86.

"A Visual Logic", with graduate student Luu Tran, Proc. 1996 ACM Symposium 
on Applied Computing, Philadelphia, Penn., pp. 17-21.
http://portal.acm.org/citation.cfm?doid=331119.331130

"Prolog Tutorial", a World Wide Web on-line Textbook, 
   http://www.cpp.edu/~jrfisher/www/prolog_tutorial/contents.html.             
   [This link is current and the contents are sometimes updated.]

"Logic Program Based Action Specifications", Proc. 1995 ACM Symposium on 
Applied Computing, Nashville, Tenn., pp 248-253.
http://portal.acm.org/citation.cfm?id=315969

"Semantic Trees for disjunctive logic programs", Proc. Third Golden West 
International Conference on Intelligent Systems, University of Nevada, Las Vegas, 
June 6-8, 1994, Klewer Academic Publishers, pp. 291-306.
http://www.csupomona.edu/~jrfisher/www/logic_topics/ST4DLP.pdf

"Prolog and Natural Language Processing", Invited talk at U.C. Riverside, 
March 15, 1993.

Prolog Primer, preprint form of Prolog Program Design, used in courses, 1992-1993.
(The became Prolog Tutorial weblog textbook.) 

"Tree semantics for logic programs with negation as failure", Proceedings of 
the Third California State University Symposium on Artificial Intelligence, 
158-166, spring 1992.

"Software engineering in education, logic programming, and A.I. tools", with 
C. Lee, Proceedings of the Second California State University Symposium 
on Artificial Intelligence,  pp. 170-180, spring 1991.

"GPL -- A Logic Programming System for AI," Proceedings of the First 
California State University Symposium on Artificial Intelligence, 168-175.  
Cal Poly Pomona Computer Science Departmental Technical Reports 1990-04.

"Implementing procedural negation for indefinite logic programs," 
Cal Poly Scholar, 3, pp. 91-97. Cal Poly Pomona Computer Science Departmental 
Technical Reports 1990-02.

GPL NOTES, Generalized Prolog,  Poly Pomona Computer Science Departmental 
Technical Reports 1989-01. 

"Logic programs with explicit negation,"  Cal Poly Pomona Computer Science 
Departmental Technical Reports 1988-01.

"Pro and Con," Cal Poly Scholar, 1, 109-115.  Cal Poly Pomona Computer Science 
Departmental Technical Reports 1988-02.

"Prolisp, Prolog on top of Lisp," user's guide, 2/19/88 (revised 2/29/88).  
Used for courses CS352, CS420, and CS520 at Cal Poly Pomona.

"Experiments using ranked refutation reasoning," technical report with a 
computer implementation.  Announced and distributed through abstract report 
in Sigart Newsletter, April 1987, No. 100, p. 32. 
Cal Poly Pomona Computer Science Departmental Technical Reports 1986-01.

"Ranked set-of-support resolution and relative consistency for default reasoning", 
technical report July 20, 1985 revised 12/28/85.

"Artificial intelligence: The digital mind," talk presented to the CSU Pomona
Campus Forum, April 23, 1985.

Lisp Notes, a text on LISP programming and guide to UTLISP, July 1983.

"Axiomatic radical and semisimple classes of rings," Pacific Journal of 
Mathematics, 97(1), 1981, 81-91.

"A Goldie theorem for differentiably prime rings," Pacific Journal of 
Mathematics, 58(1), 1975, 71-77.

"A Jacobson radical for Hopf Module algebras,"  Journal of Algebra, 
34(2), 1975, 217-231.