NAME: Richard John Botting FROM: September 29th 1996

TO: September 26th 2001

COLLEGE: Natural Science DEPARTMENT: Computer Science


A. Teaching and Instructionally Related Assignments

1. Courses Taught one or more times, Sep 1996-Aug 2001

CS201 Computer Science I [items 259, 260]

CS202 Computer Science II [items 261,262,338]

CS290 C

CS290 C++

CS320 Programming Languages [items 263, 264, 265, 266, 292, 346]

CS360 Systems Tools [http://www.csci.csusb.edu/dick/cs360]

CS365 Systems Administration

CS488 Ethics and Professionalism [item 267]

CS489 Senior Seminar

CS599 -- one quarter of team teaching accelerated graduate class [JAR#1, item 269]

CS620 Programming Language Theory [http://www.csci.csusb.edu/dick/cs620]

2. Other

CS299 Project -- programming a church web site in Riverside (Winter 2001)

CS575 Internships

Fall 1999

Ellen Stubbs @ Riverside County Medical center, made billing software Y2K compliant.

Winter 2001

Giovanni Valdivia @ Probation SB County B

Bradley J Harral @ Imperial Dental Center Perris CR

Tuan H Nguyen @ VTS Manufacturing, Anaheim

CS595 Independent Studies

Winter 2000

distance/independent/online study version of CS360(2)

Spring 2000

a distance learning version of 50% of CS360 (1)

study of "Goedel Escher Bach" by Douglass Hofstadter.

Spring 2001

Hassan's Ethics course.

Andre Thanalertvisuti's University Honors Project on Python

CS698 Masters Projects -- 6 in progress, also served on several committee [item 382].

B. Development of New Courses & Programs &/or Innovative Approaches

(1) In advanced classes (CS489, CS505, CS620) the final exam took the form of a conference with students presenting papers to the rest of the class.

(2) I invented the idea of a generic syllabus to hold information common to several syllabi. This was inspired by inheritance in object oriented programming. [Item 258]

(3)In Fall 1997 I offered a class (CS360) where all the presentations, assigned work, discussion, materials, lab work, interaction etc. were mediated by the Internet. Students had no need to attend either the lecture/discussions or the laboratory sections. Only the examinations are face-to-face to allow identity verification. Initially I experimented with recording lectures [ http://www.csci.csusb.edu/dick/cs360/audio ]. It was inefficient and ineffective. I replaced them with written "lectures" before the quarter was finished. Work was submitted via EMAIL. Discussions used various mailing list programs I developed and some free BBS software. I added a simple extension to my MATHS language that allows an author to put interactive tutorials on a WWW pages. The final was online, open book, notes, and Internet. It required the students to use UNIX workstations and the Internet to (1)decrypt the questions, (2) answer them, (3) fill in the answers, and (4) Email them back. I developed grading software for the answers. In 1999-2000 I developed several self-paced distributed learning versions[ item 380]. The course has now been passed onto a graduate student. I have reconstituted the old WWW site on the new Comp Sci WWW server as an archive of the teaching techniques [http:///www.csci.csusb.edu/dick/cs360/].

(4) I taught the Ethics class for the first time in Fall 1998. I prepared by attending a National Science Foundation sponsored workshop (details below)[item 297]. I set up my course to minimize the number of preplanned lectures. The class periods were taken up with student presentations and active learning exercises [item 389] based on the assigned reading in the text. Typical exercises followed the Think-Pair-Square-Share pattern and so involved individual work and group work. Students brought in evidence that they had studied the assigned portion of the text. This was graded and returned while they did the first exercise.

(5)I used an essay based model in the Ethics class inspired by work done in the CSU on writing across the curriculum and holistic grading. Each class culminated in writing an essay answering a question based on the work done in the class. This was graded and returned at the start of the next class.

(6) I helped embed Object-Oriented methods in CS201, CS202, and CS320 as part of the departments ROOT project [JAR#2]. I developed the WWW documentation on the Unified Modeling Language(UML) [Item 266, 292, 346, 337, 365, http://www.csci.csusb.edu/dick/samples/uml.html ]. I completely redesigned CS320 to incorporate the new material by using the active learning format model designed for the Ethics class ( http://www.csci.csusb.edu/cs320/) [items 263, 264, 265, 266, 292, 346]. Students prepare WWW pages recording their lab work ( http://www.csci.csusb.edu/cs320/labs.html ). In 1999 Oct I contacted Grady Booch re partnership to do C++ in UML and got a free upgrade from Rational Rose. It was never installed by our technicians.

(7) I developed the essay driven format for the Ethics class (see 4 above) into a weekly problem-essay driven format for CS365. After collecting homework I presented a real life instances of the class of problem that fitted the topic in the assigned reading for the coming week. The week proceeded with discussion of the problem, some reading, discussion of solutions, construction of action plans, and laboratory work based on the action plans. Each week ended when the students write an essay on the topic as homework. I encouraged students to incorporate their own experiences into the class and essays.

(8) I invented an efficient lab reporting technique for CSci 365. To earn full credit, each student, at the end of the lab, must make a short and original public statement. The format is "In this lab I learned . . . " This is simple, reinforces learning, and shares new ideas with the whole class.

(9)Noticing the discussion of Teaching Portfolios I started a personal portfolio. It records a series of plans, post mortems and analyses of my classes [item 311].

(10) By Fall 1996 most of my classes had WWW sites. In this FAR period I added indexing and searching tools. Examples:




(11) The FEEDBACK'99 Project. Financed by a CSUSB Learning Productivity Grant, I created a WWW page that allows any CSUSB teacher to add anonymous student feedback to their web site. Prototypes were used in CS320 Winter 1999. Faculty or staff with an EMAIL account on mail.csusb.edu and a web site went to http://www.csci.csusb.edu/dick/mkfb.html to create new forms. This project was terminated in September 2001 when a new CSci WWW server was put in place.

(12) 1999 Oct 15th-Nov 30th: Proposed the"Research Experience for Undergraduates" topic for CS594.

(13) 1999-2000 Explored use of Palm Pilot in teaching. Found a way to convert captured SIS+ screens into a useful roster for personal, laptop, and palmtop computers using Corel Quatro Pro. Good for recording grades -- especially for instantly graded laboratories. This is a variation of the time-box technique used in software development. The grade is given for the amount of the lab completed in the time available.

(14) 2000-2001: Adjusted teaching CS320 to teaching in a computer lab with many whiteboards and so developed what I call the Promenade pedagogical pattern. Pedagogical Patterns are an idea developed by Joseph Bergin inspired by the Software Development and Architectural patterns movements: "Patterns are designed to capture best practice in a specific domain. Pedagogical patterns try to capture expert knowledge of the practice of teaching and learning. The intent is to capture the essence of the practice in a compact form that can be easily communicated to those who need the knowledge. Presenting this information in a coherent and accessible form can mean the difference between every new instructor needing to relearn what is known by senior faculty and easy transference of knowledge of teaching within the community " [from http://www.pedagogicalpatterns.org/ ]. It worked well in my part of the CS599 Graduate Class. Once I've assessed it's learning effectiveness I plan to publish it.

(15) Spring 2001: Team taught CSci 599. New course. New teaching technique. Acted as web master for all four teachers [ item 269, JAR #1]. I developed new outlines of a modern Software Requirements Specification for graduate students to use on assigned work and projects [ http://www.csci.csusb.edu/dick/SRS/ ].

C. Participation in conferences and seminars on instruction, special preparation for courses and other activities.

(1) I attended and successfully completed the "Active Learning Workshop" offered by the Teaching Resource Center(Nov 1st 1996)[Item 389]. I have added these methods to all my classes.

(2) I attending a National Science Foundation sponsored workshop August 2 -- 7 1998 in Tampa Florida [item 297]. During this workshop we developed activity plans. These were published on the world wide web [ http://marathon.csee.usf.edu/~kwb/nsf-ufe/ or else http://www.cse.nd.edu/~kwb/nsf-ufe/ ].

(3) I presented my experiences of Internet and WWW teaching at the 5th CSU symposium on University Teaching [item 294].

(4) September 21, 1999: I presented a training session workshop and a poster(UML) on FEEDBACK'99 (see 11 above) as part of the CSUSB Teaching Resource Center 1999-2000 Annual Opening Events. All comment sheets by workshop participants praised my presentation [item 336].

(5) Worked on a joint paper on the ROOT project with Dr. Concepcion and Darryl Scroggins [Jar #3]. This was accepted for presentation and publication by the International Conference on SCI'2000 in August 2000. I presented it [items 365, 391].

(6) (October 2000): Presented position paper at OOPSLA 2000 Workshop on active learning, Attended OOPSLA 2000 Educators Symposium, and OOPSLA 2000 technical program(

http://www.csci.csusb.edu/dick/samples/OOPSLA2000.html ) [Item 391]

D. Other Information...

(1) I was in "Who's Who among America's Teachers, 1998" because I was nominated for the CSUSB Outstanding Professor Award [item 272].

(2) I was invited in March 1997 to take part in the Beta test of Sun Educational Services JavaTutor 280. [item 277 ]

(3) My WWW sites are gaining international interest. In 1998, the cs320 site was used as a reference to the SIT-313 course in North Territories University, Darwin Australia [item 292]. The documentation of the ML language for CS620 was published on a CD-ROM by Brighton University (UK) [item 283]. In 1997 Robert L. Phillips of the USCG Civil Engineering Technology Center was able use the LISP documentation: "You gave me the tools to start intelligently building my own LISP parser." [ item 288]

(4) Some CSUSB students thank me [Item 347, 397]



I study the way that software is developed in practice and the theory of how it might be developed [http://www.csci.csusb.edu/dick/research.html]. The 1991-2001 period has seen a revolution against rigid software engineering. I've been studying and contributing to it [items 282, 283, 288, 292, 321, 350, 351, 353, 355, 358, 388].

High points (details follow)

I continue to develop my MATHS language.[ http://www.csci.csusb.edu/dick/maths/ ] I moved it to the WWW. I added new features [Item 334] and tools. In this 5 year period I used it to document many languages and notations, write papers & essays, prepare pages for classes, etc.. I now have a description of most of the logic and mathematics used in formal methods of software development.

I translated my personal annotated bibliography of software development publications from a Hypercard data base to a MATHS data base. I put it on the WWW. I created a prototype search engines [

http://www.csci.csusb.edu/cgi-bin/dick/lookup]. It now has over 3,000 items.

In 1996, I rewrote part of a previous faculty seminar as a paper on an economic model of software development for the mass market. It was presented at the International Conference on Software Engineering(ICSE).

In April 1997. I discovered that the UML was useful for describing programming language semantics and published this result in July 1999.

Throughout this period I published about one review every two months in the Assoication for Computing Machinery (ACM) Computer Reviews journal.

Detailed Activities

September to December 1996

I presented in a faculty seminar ("A Stochastic Model of Immature Program Debugging and Evolution", November 1996).

Published two reviews for ACM Computing Reviews (1996 Volume 37), numbers 9611-0907, 9609-0695 [Items 269, 271]

Reviewed a paper on OMT semantics submitted to IEEE Transactions on Software Engineering.

Short Paper published in the IEEE Transactions on Software Engineering. Vol 22, No 12 (Dec 96) page 911 Comments on "A Formal Semantics for Object Model Diagrams" [Item 273]


Presented Paper: "On the Economics of Mass-Marketed Software," Proceedings of the 19th International Conference of Software Engineering, Boston, May 1997. (Part of my theory of socioeconomic determinism: that market situations determine methods, languages, tools, and processes) [Items 280, 391]

Message selected for printing in the ACM SIGSOFT Software Engineering Notes Vol 22 No 2(Mar 1997)Page 11 [Item 278]

Published six reviews for ACM Computing Reviews (1997 Volume 38) numbered 9712-0996, 9709-0695, 9709-0633(Book review), 9707-0519, 9705-0324, and 9702-0118 [Items 289, 286, 281, 276,...]


Published Letter: "Earthquake Insurance," IEEE Computer Magazine, Vol31 No 2(Feb 1998)p115 [Item 293]

Published six reviews in the ACM Computing Reviews (1998 Volume 39)[Items 298, 301, 302, 303, 306, 312]


Three reviews published before July 1st 1999 in the ACM Computing Reviews Volumes 40: Numbers 9906-0403(Book), 9904-0230(Book), 9902-0108,[ Items 326, 316, 314].

Sabbatical (Spring and Summer 1999) I attended part of ICSE'99 in Los Angeles [Item 391]. I renewed my contact with one or two colleagues, met David L. Parnas, attended the ACM SIGSOFT Annual General Meeting, and supported the CSUSB team when they presented the RMT tool and method. I also published the following WWW Pages as part of the continuing MATHS project: A HyperTalk Handbook (sample of MATHS specification of a language), an improved Search Engines for Bibliography and included link to Beebe's exhaustive bibliography of research papers, samples of mathematical notes on the Python, XML, VRML [Item 319], Perl, and JavaScript languages [Item 388], an essay arguing that "Y2k is Business As Usual" (it was), a paper: "Using UML to Define Programming Languages," a short paper: "Student outcomes from ROOT in CS320."

Published note on the use of UML to define Programming languages published in the ACM Special Interest Group on Program Languages's SIGPLAN Notices V34n6(Jun 1999)pp82-83. [Items 320, 321]

July 1999: Published a review of paper in IEEE Trans SE on Petri Nets in Requirements Engineering in the ACM Computer Reviews, review number CR9907-0526 [Item 327]

July 1999: Published a "Request For Comment" on my MATHS language in ACM SIGSOFT Software Engineering Notes Vol 24 No 4(July 1999)page 4 [Item 328].

Sep 15-30th 1999: Reviewed three submissions to the Programming Languages session of the ACM Symposium on Applied Computing (ACM SAC) [Item 331].

Oct 1999: Published a review of book by Felix Redmill on Evolutionary vs Big-bang Software Development in ACM Computing Reviews [Item 333].

Oct 1999: Published a review of book by Watts Humphrey on the Team Software Process in the October 1999 issue of ACM Computing Reviews( CR 9910-0765) [Item 339].

Dec 1999: Published a reply to Oleg Kiselyov's comment on my "On the Application of a Popular Notation to Semantics" in ACM SIGPLAN V34n12(Dec 1999)pp37-38 [Item 341]

Dec 1999: Published review (CR 9912-0921): "Evaluating emerging software development technologies: Lessons learned from assessing aspect-oriented programming" by Murphy, Walker, and Baniassad (IEEE Trans SE-25n4(Jul 1999)) in ACM Computer Reviews [Item 342]


Feb 2000: Published review of "Adaptive software development:..." by Highsmith (Dorset House, 2000) in Computer Reviews(CR 0002-0090) [Item 344]

Mar 2000: Published a Letter to Editor of IEEE Software on the relation between analysis and design models in software development, IEEE Software Magazine V17n2(Mar/Apr 2000)pp8+9 (submitted Nov 1999) [Item 352].

Apr-May 2000: Published review of Ginac's book "Creating high performance software development teams" (Prentice Hall 2000) A quote in this review appears on the front of the April 2000 issue of ACM Computing Reviews [Item 349].

June 27, 2000: Volunteered to act as anonymous reviewer for IEEE Software Magazine [Item 372].

(July 2000): Took part in the Beta Testing of the Computer Reviews Interactive web site: http://cr.reviews.com. This has now been launched as http://reviews.com/home.cfm .

(Aug 2000): Session Chair at the International Conference on SCI'2000 in August 2000. for first session on "Object Orientation" [undocumented -- panic mode].

(April 2000): Published a review(CR0004-0298) for ACM Computer Reviews of CR item #30793 by Janne Ropponen & Kalle Lyytinen "Components of Software Development Risk: How to address them? A Project Manager Survey", IEEE Trans Softw Eng V26n2(Feb 2000)pp98-112[Item 359]

(June 2000) Published a review(CR0006-0410) for ACM Computer Reviews of M S Krishnan & Marc I Kellner, Measuring Process Consistency: Implications for Reducing Software Defects, IEEE Trans Software Engineering V25n6(Nov/Dec 1999)pp800-815 [Item 360].

(September 2000) Published a review(CR0009-0517) for ACM Computer Reviews of A P Sistla, Victor Gyuris, and E A Emerson's paper " SMC: A Symmetry-based model checker for verification of safety and liveness properties" ACM Trans Software Eng Methodol Vol 9 No 2 (April 2000) pp133-166. [Item 366]

(August-October 2000): Consulted with Michael Wing<wing@swcp.com> about setting up a workshop at ICSE2001 on "Complexity in Software Engineering" [Item 368].

(October 2001): Attended OOPSLA2000 Conference and technical program [Item 391].


Winter 2001: Presented Faculty Seminar on "The Objects are Restless" summarizing OOPSLA2000 ( http://www.csci.csusb.edu/dick/samples/OOPSLA2000.html ) [Item 381]

(January 2001): Published review of CR 0103-0694: "Software Product Lines: Experience and Research directions" edited by Patrick Donohoe (Kluwer Acad Pub, Norwell MA 2000) ISBN 0-79237-940-3. This was the longest review I've done [Item 384].

Professional Societies.

I am a voting member of the Association for Computing Machinery(ACM), the IEEE Computer Society, and SigmaXi. I am member of the ACM Special Interest Groups in Computer Science Education and Software Engineering. I been on various Technical Committees of the IEEE Computer Society [Items 274, 317, 355, 356]. I subscribe to several journals and magazines from the ACM and IEEE including: The ACM Digital Library, the ACM Communications and Surveys, Computing Reviews, ACM Transactions on Software Engineering and Methods(TOSEM), IEEE Transactions on Software Engineering, IEEE Computer magazine, and IEEE Software Magazine. I also keep in contact with practitioners via free subscriptions to trade papers like Software Development magazine [Items 348, 363].


July 2000. Asked if I could consult with Numerically Controlled Machine tools firm in Silicon Valley about PhD Work. No follow up [Item 383].

August 2000. Two HTML hands-on courses at Riverside County IT (August 2nd and 3rd) for local company "PC University".

September 2000. Researched, Designed, Prepared, and taught one day class at Riverside County IT on JavaScript for "PC University".

I write pre-publication reviews of manuscripts for several well known text book publishers. I carried out pre-publication reviews of manuscripts on (1)systems administration and (2)programming. I also have taken part in Beta tests of new WWW sites and CDs [Items 277, 279, 304, 307, 315, 318, 325, 331, 357]. My contribution to "Software Engineering with Java" by Stephen R Schach was acknowledged in both the preface and as a side bar on page 479 [Item 275].

Work in progress

(1) I will continue to maintain a set of WWW pages listing WWW sites of interest to software developers and researchers. Don Gotterbarn(Prof., East Tennessee State University) refers his students to these pages in his teaching. It now includes a 3000+ item annotated bibliography of papers and books researching software development and a search engine to find relevant items. There are also pages on methods, languages, and general:




(2) I have some papers drafted: "Student to Teacher Feedback Via the World Wide Web". "Open Source: A Question of Ethics"[Item 370]. "The Logic of Systems Administration". "The PQRST Requirements Framework" [Item 371]etc. .I self-publish my drafts in http://www.csci.csusb.edu/dick/papers/.

(3) MATHS continues to evolve.

(4) I'm still working on my stochastic models of random evolution and debugging [Item 270]

(5) I have a dozen other ideas incubating in my PDA [Item 390]


A. Community Service

I maintain the "Unofficial Inland Symphony Association" Page on the world wide web: http://www.csci.csusb.edu/dick/symphony.html. 1999-2001: Member of Inland Empire Symphony Association Board.[Items 295, 330, 386].

I was a consultant to the San Bernardino, Sun/Telegram Life Styles Team (e.g. page B10, Tuesday Sept 9th 1997). [Item 287]

I presented two special sessions introducing the Internet to people in the WR&AR Center in 1997.

Aug 1999, 2000, 2001: Judged Desk-Top Publishing submissions to the Los Angeles County Fair. I advised them to add the category of "Web Page" [Items 332, 387]. I've just (Sep 23 2001) suggested my name as a judge for computer work done in schools.

B. Student Academic and Career Advisement

There are half-a-dozen CSci majors who come to me on a regular basis for advice. When a student seeks advice the department sends them to whatever faculty is available at the time. I advise about 2 or 3 students per week at the start of each quarter and during official advising periods. The rest of the quarter I typically advise one student per week.

C. Service to Programs, Departments, School, University

I have contacts in the campus computer facilities and always support them when they ask for help. In the fall 1998 I was interviewed by the CSUSB AC&M about Y2k preparedness of the Computer Science network [Item 310]. In January, they asked my advice on a Y2k product [Item 313]. I told them it was a scam I had studied at an Ethics Workshop in August 1998. In 2000-2001 I was on the selection committee for the CSUSB Campus Information Security Officer. Sep 22 1999: I launched and moderate the PalmPeople (pp) mailing list for people on campus using PalmOS devices.

November 2000. Prepared a WWW page describing CSUSB responses to high wind conditions for landerso@csusb.edu (Lea Anderson). See "Campus Emergency Plan" from the Public Safety web page.

Winter-Spring 2000: Member of the Ad Hoc Faculty Senate committee developing evaluation instruments and SETEs for electronically mediated courses [Item 345].

I serve on: Department Curriculum Committee, Graduate Committee, RPT/Evaluation Committee [Items 296, 309].

On the curriculum committee I proposed changing the name and description of the CS320 course. I proposed a new elective in Formal Methods for seniors and graduate students. This was accepted by the two department committees involved. I proposed new REU Topic for CS594, and 2 formal methods class CSci654, 554, plus special online/distance/independent versions of CS360. The formal methods classes were accepted by CNS Curriculum with editorial changes but then vanished. I became chair of undergraduate curriculum committee in AY 2000-2001. Discovered previous proposals had been lost. Made sure they made to the university committee and catalog. Lead the successful department effort to develop a BA in CSci through to the CNS and University level [Item 385].

Ex-officio College of Natural Sciences Curriculum Committee AY 2000-2001

From September 1996 to September 2000 I was given one course time to act as network administrator for the computer science department [Item 284, 285].

In AY2000-2001 I was appointed internship coordinator for the department.

D. Other Activities

I keep up-to-date Vita and AARs on my web site http://www.csci.csusb.edu/dick/.

I will be putting a translation of this document on the WWW at http://www.csci.csusb.edu/dick/FAR2001.html


___________________________________________ ________________

Signature Date


FACULTY MEMBER Richard John Botting


A. Team Teaching CSci599

Four faculty: myself, Dr. Concepcion, Dr. Karant, and Dr. Zemoudeh taught this class.

B. I taught 1/4 of the course and maintained the WWW site. I researched and developed a set of templates for student project Software Requirement Specifications.

C. About 35% of the total effort.


FACULTY MEMBER Richard John Botting


A. The ROOT project.

This was a wide ranging curriculum change where every faculty contributed something under Dr. Concepcion's leadership.

B. I worked specifically on changing CS320. I prepared documentation describing the UML that was and is used by the faculty in their classes and (on the WWW) by students.

C. Between 10% and 20% of the total effort.


FACULTY MEMBER Richard John Botting


A. Joint paper on the ROOT project with Dr. Concepcion and Darryl Scroggins.

B. Dr. Concepcion managed the development of the paper. He and Darryl wrote much of the paper. I contributed the first 4 figures and a couple of paragraphs. I helped correct errors. I suggested submitting it to the International Conference on SCI'2000. I presented it there in August 2000.

C. 20% of the writing, 100% of the presentation.