Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Home Topics Titles Quotes Blog Featured Help
Search
 
Richard John Botting
California State University
San Bernardino, California
 

Richard Botting’s research focuses on the theory and practice of software development. He wrote his first program (solving a quadratic equation) while still a schoolboy in the 1950s. His search for better methods started when he worked as a scientific programmer at Imperial Chemical Industries in the 1960s. In turn, he has been agile, formal, modular, structured, data driven, dynamic, functional, incremental, and object oriented.

Richard earned a PhD in Computer Science (1971) and a B. Tech. in Applied Mathematics (1968) at Brunel University (UK). His PhD thesis explored the fundamental algorithms of computer graphics. Richard joined the faculty of the Computer Science Department at Brunel University in 1970. He researched structured methods and tools. In 1978, he moved to the British Civil Service College to learn Michael Jackson’s methods. He taught about the systems development method (SDM), and helped develop the structured systems analysis and design methodology (SSADM).

In 1981, Richard moved to California State University, San Bernardino. He founded its computer science department in 1982, and was its first chair. He pioneered using computers in teaching in the 1980s, and using the Web in teaching in the 1990s. He started by experimenting with rapid prototyping and evolutionary delivery to make tools for his students. He is in the fifth and eighth editions of Who’s who among America’s teachers, after being nominated for the campus’ outstanding teacher reward. Richard serves on many committees.

From 1996 to 2001, he was the network administrator for the computer science department. Currently, he gives seminars introducing new technologies. In the 2005 series, he initiated the move from UML1 to UML2. He also presents papers at national and international conferences. Recent topics have been the evolution of software, and ethical ways to teach professional ethics. He is a reviewer for many conferences, journals, and publishers.

He developed a documentation language that included discrete mathematics, logic, and proofs, and created a translator into Hypertext Markup Language (HTML). He now uses this in teaching and to maintain a searchable Web site on software development (http://www.csci.csusb.edu/dick/). This covers people, notations, tools, methods, processes, languages, logics, and mathematics. The site has notes and links on every topic from "agility" to "Z," and a growing bibliography of at least 3,000 publications. It has specifications and tutorials for many languages, including ML, Java, unified modeling language (UML), and PHP: hypertext preprocessor (PHP). He records his current interests and activities in a blog on his site.

Richard lives in San Bernardino, California, and acts as system administrator for his wife’s Macintosh. His interests include music, books, birds, and classic movies.


     

Do-it-yourself textbook publishing
Fox A., Patterson D.  Communications of the ACM 58(2): 40-43, 2015. Type: Article

Professors should read this short article, but beware of the hidden agenda! It is based on experiences with both traditional and do-it-yourself textbook publishing for profit. Previously, one author coauthored a traditional text on operating syste...

 

Using formal reasoning on a model of tasks for FreeRTOS
Cheng S., Woodcock J., D’souza D.  Formal Aspects of Computing 27(1): 167-192, 2015. Type: Article

Z (pronounced Zed) is a rigorous specification language developed in the 1980s. It uses sets to describe system states plus required invariants, operations, and pre- and post-conditions. This paper is a tutorial demonstrating the usability of Z an...

 

Mining unit tests for discovery and migration of math APIs
Santhiar A., Pandita O., Kanade A.  ACM Transactions on Software Engineering and Methodology 24(1): 1-33, 2014. Type: Article

Unit tests are not just about testing [1]. A unit test is a piece of code that executes a part of a program (the unit) and checks to see if it worked. Therefore, the test documents a way to use the unit. Two teams (at least) are independently expl...

 

Exact scalable sensitivity analysis for the next release problem
Harman M., Krinke J., Medina-Bulo I., Palomo-Lozano F., Ren J., Yoo S.  ACM Transactions on Software Engineering and Methodology 23(2): 1-31, 2014. Type: Article

The next release problem (NRP) is part of the search-based software engineering (SBSE) paradigm. SBSE studies algorithms that find solutions to software developers’ problems....

 

Foundations of digital government: leading and managing in the digital era
Veit D., Huntgeburth J.,  Springer Publishing Company, Incorporated, Berlin, Germany, 2014. 170 pp. Type: Book (978-3-642385-10-0)

I learned today that Estonia was the first country to use electronic voting (e-voting) in a general election. It is because of tidbits like this that I so appreciated reading this book, a textbook covering the use of information and communications...

 
  more...

 
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright © 2000-2015 ThinkLoud, Inc.
Terms of Use
| Privacy Policy