Art sometimes feels like a living museum of electronic digital computing. As a child, he remembers reading a Ripley’s Believe It Or Not piece on the hand calculation of pi to 707 places. By contrast, he recently reviewed a book that treated calculations of pi including some to over 200 billion digits. As a student at UCLA, he marveled at the primeval SWAC computer, one of two in the US, installed in the late 1940s and tested with numerical computations by his dissertation advisor-to-be, Magnus Hestenes. This beast filled a large room with giant tubes, and looked very much like a fictional super brain should. The computing curriculum at UCLA at the time he started consisted of a one-unit class programming the SWAC.

Art’s first technical job involved FORTRAN II programming on an IBM 1620. His numerical computations led to joint publications in the Astrophysical Journal. When he started teaching at Long Beach State College, students in the introductory programming class submitted batch jobs with a turnaround time of at least 24 hours. Trivial syntax errors took that long to fix. Now COBOL is a symbol of the past, but when he taught the introductory class, he found room for five COBOL weeks at the end of the semester to give students an additional career opportunity. Over the year, he added Pascal, LISP, Ada, C++, Java, and C# to the curriculum, as well as artificial intelligence, object-oriented design, and other courses. After these many years, languages seem relatively less important. A recent Communications of the ACM issue on service-oriented computing identifies his current interest.

Although his advisor was a computing pioneer, Art wound up completing a theoretical dissertation in optimal control theory. Rather than continuing in this area, he pursued an avid interest in history, taking over the history of mathematics course, and wrote his first textbook in that subject. He loves teaching and has taught over 60 different mathematics and computer science classes. His students have often been his teachers. In the mid-1980s when interest in object-oriented programming was starting to grow, his student wrote and implemented an object-oriented language for his Master’s thesis. He taught Art the meaning of polymorphism. In 1995, another graduate student was taking a directed study course in the Standard Template Library. Art had heard of Java, but had not looked into to it. His student gave him the white paper, and suggested he read it. Java seemed like more fun than C++, so Art started teaching it and wound up writing several Java textbooks. Appropriately, his most influential student went on to divinity school. This was not the brightest student in a number theory class, but the one who did the best project because he enjoyed it and put himself into it. Seeing the joy this student had was a revelation to someone brought up in the do-what-is-good-for-you school.

Over the years, Art has had other publications and presentations. His latest textbooks cover C# and .NET. He is currently a professor of computer science at California State University Long Beach. He has no plans to retire, as long as he continues getting paid to have fun.

Harmonies of disorder: Norbert Wiener: a mathematician-philosopher of our time Montagnini L., Springer International Publishing, New York, NY, 2017. 307 pp. Type: Book (978-3-319506-56-2) Norbert Wiener was one of the great geniuses of the 20th century. Harmonies of disorder is a brilliant biography that carefully details every aspect of Wiener’s background and contributions without using any equations, making it acce...

Jan 3 2018

Basic concepts in data structures Klein S., Cambridge University Press, Cambridge, UK, 2016.Type: Book (9781316613849) Data structures are a well-established part of the computer science (CS) curriculum. Courses and textbooks vary in emphasis. Often the introductory sequence for CS majors and others includes both programming and data structures so that students re...

Jun 15 2017

Introduction to computation and programming using Python: with application to understanding data Guttag J., The MIT Press, Cambridge, MA, 2016. 472 pp. Type: Book (978-0-262529-62-4) Welcome to the 21st century. Introduction to computation and programming using Python is meant for a two-semester introductory computer science sequence, but it contains only 445 pages with no programming exercises, tips, hints, or review q...

Dec 14 2016

Python for probability, statistics, and machine learning Unpingco J., Springer International Publishing, New York, NY, 2016. 276 pp. Type: Book (978-3-319307-15-2) Many recent books cover a combination of Python, data science, statistics, and machine learning. They vary widely in prerequisites and approach. This book does not include data science in its title and does not use large data sets. Its examples ar...

Jul 8 2016

Elements of quantum computing: history, theories and engineering applications Akama S., Springer Publishing Company, Incorporated, Cham, Switzerland, 2015. 126 pp. Type: Book (978-3-319082-83-7) Intended for readers with no special knowledge of the theory of computation or quantum mechanics, the author attempts to cover the elements of quantum computing, including history, theories, and engineering applications. Obviously a comprehensive ...

Oct 13 2014

Computing: a historical and technical perspective Igarashi Y., Altman T., Funada M., Kamiyama B., Chapman & Hall/CRC, Boca Raton, FL, 2014. 350 pp. Type: Book (978-1-482227-41-3) The word “computing” in the title of this book must be interpreted in a broader historical context that includes number systems and hand computation. Electronic computing and computer science (CS) occupy just the second half of the boo...

Sep 23 2014

Bayesian programming Bessière P., Mazer E., Ahuactzin J., Mekhnacha K., Chapman & Hall/CRC, Boca Raton, FL, 2014. 380 pp. Type: Book (978-1-439880-32-6) Bayesian programming uses plausible reasoning to extend logic to cases where the premises are not certain. A complete system for efficient problem solving needs modeling, inference algorithms, new programming languages, and new hardware. The autho...

Aug 12 2014

Clojure cookbook: recipes for functional programming VanderHart L., Neufeld R., O’Reilly Media, Inc., Sebastopol, CA, 2014. 476 pp. Type: Book (978-1-449366-17-9) Clojure is a Lisp variant that runs on the Java Virtual Machine (JVM). Like Lisp, it expresses code and data using the same structures, but it also has access to the many Java libraries. With multicore processing growing, interest in functional pr...

Jul 9 2014

It began with Babbage: the genesis of computer science Dasgupta S., Oxford University Press, Inc., New York, NY, 2014. 344 pp. Type: Book (978-0-199309-41-2) More than just a survey of the main developments that led to the discipline of computer science (CS), this book embeds the historical milestones in an intellectual context. In the prologue, CS (of the “ought”) is contrasted with natura...

Apr 15 2014

Symmetry and pattern in projective geometry Lord E., Springer Publishing Company, Incorporated, London, UK, 2013. 195 pp. Type: Book (978-1-447146-30-8) Artists who wanted to represent 3D scenes on 2D canvases developed projective geometry. While it isn’t studied much these days, it has enjoyed some renewed interest with the development of computer graphics and games. This book is not a text...