  Most software development projects rely on Integrated Development
Environments (IDEs) based on the desktop paradigm, with an interactive,
mouse-driven user interface. The standard installation of ACL2, on the other
hand, is designed to work closely with Emacs. ACL2 experts, on the whole, like
this mode of operation, but students and other new programmers who have learned
to program with desktop IDEs often react negatively to the process of adapting
to an unfamiliar form of interaction.
  This paper discusses Proof Pad, a new IDE for ACL2. Proof Pad is not the only
attempt to provide ACL2 IDEs catering to students and beginning programmers.
The ACL2 Sedan and DrACuLa systems arose from similar motivations. Proof Pad
builds on the work of those systems, while also taking into account the unique
workflow of the ACL2 theorem proving system.
  The design of Proof Pad incorporated user feedback from the outset, and that
process continued through all stages of development. Feedback took the form of
direct observation of users interacting with the IDE as well as questionnaires
completed by users of Proof Pad and other ACL2 IDEs. The result is a
streamlined interface and fast, responsive system that supports using ACL2 as a
programming language and a theorem proving system. Proof Pad also provides a
property-based testing environment with random data generation and automated
interpretation of properties as ACL2 theorem definitions.
