![](https://news.luddy.indiana.edu/images/news/2024/newlearningjava310x310.png)
Joshua Crotts’ passion for teaching and inspiring students has resulted in his writing a second textbook, this one involving Java, a programming language and computing platform instrumental in today’s high-tech world.
Learning Java – A Test-Driven Approach is published by Springer Nature and is available for preorder through Amazon. The official release is mid-September.
Crotts, a Ph.D. student at the Luddy School of Informatics, Computing, and Engineering, said the book is designed to aid the teaching of C212, a Department of Computer Science introductory course on software systems. It aligns with his Ph.D. research on developing better ways to teach computer science.
Crotts said it’s an improvement over typical Java textbooks because it uses a “test-driven development approach” that helps students rigorously test their code.
“This isn’t novel in and of itself,” Crotts said, “but is in the context of introductory Java texts. The old book we used for C212 was completely inadequate for how I taught the class, both in terms of the topic ordering and presentation.”
Testing is not emphasized in most Java textbooks. Crotts said writing tests before designing the implementation aids in debugging and understanding outcomes. It also better prepares students for higher-level courses in data structure and algorithm design and implementation. The book includes multiple code snippets and about 250 exercises.
The goal is for students to not just learn how to program Java, but understand how to write and test commercial software.
This is a follow up to Crotts’ debut textbook, Principles of Computer Science: An Invigorating, Hands-on Approach,a 754-page book that came out last winter that brings computer science to life for beginners while challenging the more advanced.
It’s rare for a Ph.D. student to write one textbook, let alone two, given the demands in earning a Ph.D. in addition to teaching responsibilities. Sam Tobin-Hochstadt, Luddy associate professor of computer science and director of undergraduate studies for computer science, as well as one of Crotts’ Ph.D. advisors, said he’s never seen it before.
Crotts said he’s done with writing textbooks for the “foreseeable future” given the time and work involved. He expects to finish his Ph.D. by 2027 with plans to become a professor doing research on computer science education and teaching.