In 1969, the team that developed the ATM at IBM Hursley (UK) used parts from that project to build an IBM School Computer, as a community outreach project, and it toured the region. When it came to James Davenport’s school, he (at age 16) discovered that, although it was ostensibly a six-digit computer, the microcode had access to a 12-digit internal register to do multiply/divide. He therefore used this to implement Draim's algorithm from his father's book, The Higher Arithmetic, and was testing eight-digit numbers for primality until the teacher’s patience wore out.

This is typical of Davenport’s lifelong interests: pushing computers to their limits to do mathematical computations. He worked in a government laboratory for nine months, again writing and using multiword arithmetic, but also using his knowledge of number theory to solve a problem in hashing, which earned him his first published paper at 18. He went to Cambridge University (Bachelor’s in 1974, Master’s in 1978, and PhD in 1980), to IBM Yorktown Heights for a year, back to Cambridge as a Research Fellow, to Grenoble for a year, which significantly improved his French, as well as his cooking, before going to the relatively new University of Bath “for a couple of years" in 1983. He is still there, though he has also spent time researching and teaching in many other countries. In 1986 in France, he finished his textbook Calcul Formel with Grenoble colleagues, which his mother translated into English as Computer Algebra.

Computer algebra remains his main research interest: as he says, “You don't really understand a subject until you can program a computer do to it, and that goes for mathematics at least as much as anything else.” He is finishing a new textbook on the subject, and has also edited four volumes of conference proceedings on the subject, as well as writing over 100 refereed papers. He has also produced four new editions of The Higher Arithmetic. He is active in the UK's professional world as a vice-president of the British Computer Society, the representative of the Institute of Mathematics and Its Applications on the London Mathematical Society’s Computer Science Committee, and a member of the Outer Circle of the National Advisory Committee on [School] Mathematics Education. In 2014, he was one of only two computer scientists chosen among the 55 national teaching fellows (and Tom Crick, the other one, had studied at Bath). Internationally, he is on the Committee for Electronic Information and Communication of the International Mathematical Union, and just moderated the panel on mathematical MOOCs at the 2014 International Congress of Mathematicians.

Is he a mathematician or a computer scientist? “Yes, and if that were a conjunction rather than a disjunction, I would still say yes. What attracted me to Bath was that mathematics and computer science were one department, and when colleagues felt that growth made a split necessary, I was made a member of both departments.”

What attracts him most to Computing Reviews is the ability to read books and papers he would not otherwise read. “We examine PhD students, not just on their thesis, but also on the broader area. How do we professors keep up ourselves? Reviewing for Computing Reviews is my way.”

Guide to pairing-based cryptography El Mrabet N., Joye M., Chapman & Hall/CRC, Boca Raton, FL, 2016. 420 pp. Type: Book (978-1-498729-50-5) In this context, a pairing is a bilinear map from two (not necessarily distinct) groups G_{1},G_{2} to a third. In cryptography, pairings are almost inevitably constructed from el...

Sep 27 2017

Lessons learned in the design and delivery of an introductory programming MOOC Fitzpatrick J., Lédeczi Á., Narasimham G., Lafferty L., Labrie R., Mielke P., Kumar A., Brady K. SIGCSE 2017 (Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education, Seattle, WA, Mar 8-11, 2017) 219-224, 2017. Type: Proceedings A key point of this paper is that the massive open online course (MOOC) was based on an existing face-to-face MATLAB course delivered over 15 years to some 2,500 students (very similar to my experience). The authors believe this is key to the succ...

Jun 26 2017

Number theory: an introduction via the density of primes (2nd ed.) Fine B., Rosenberger G., Birkhäuser Basel, Cham, Switzerland, 2016. 413 pp. Type: Book (978-3-319438-73-3) This is the second edition of a respected text on number theory. The subtitle--an introduction via the density of primes--explains its orientation. It’s certainly ambitious, proving the prime number theorem less than halfway...

Jun 2 2017

Bitcoin and blockchain security Karame G., Audroulaki E., Artech House, Inc., Norwood, MA, 2016. 218 pp. Type: Book (978-1-630810-13-9), Reviews: (1 of 2) This book is not for the faint-hearted: if you don’t already have a rough idea of what Bitcoin is, you won’t learn it here. Nor is it easy reading if you do have a rough idea: the book is poorly edited and has several inconsistencies; ...

A new faster algorithm for factoring skew polynomials over finite fields Caruso X., Le Borgne J. Journal of Symbolic Computation 79, Part 2, 411-443, 2017. Type: Article Let k be a finite field of characteristic p and size p^{qr}, and let σ be an automorphism of k of order r. The ring of skew polynomials

Jan 13 2017

Algorithms for computing backbones of propositional formulae Janota M., Lynce I., Marques-Silva J. AI Communications 28(2): 161-177, 2015. Type: Article The backbone (also called “necessary variables” or “fixed assignments”) of a propositional formula φ is the set of literals that are true in all models of the formula. Put another way, the backbone is the intersection ...

Oct 27 2016

Automatic generation of parallel C code for stencil applications written in MATLAB Spazier J., Christgau S., Schnor B. ARRAY 2016 (Proceedings of the 3rd ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming, Santa Barbara, CA, Jun 14, 2016) 47-54, 2016. Type: Proceedings The authors present StencilPaC, described in the abstract as “an automatic translation from a MATLAB subset into efficient parallelized C code for different architectures: multicores, compute clusters, and GPGPUs.” The paper itself is ...

Python data analytics Nelli F., Apress, New York, NY, 2015. 364 pp. Type: Book (978-1-484209-59-2) The author starts by considering the choice of problem, team (preferably, as he says, interdisciplinary), and data sets, before going into data analysis in the narrow sense. I do hope readers don’t skip over this introduction in a hurry to g...