The first tier of computer programs in this unit is the LearnIt series consisting of BounceIt, CoulIt, JerkIt, Trebuchet, etc. listed on the previous page. These are (hopefully) user-friendly applications that made many of the figures in this book and provide animated visualizations of physical phenomena or analogies thereof. They are analog computers that allow text figures to become dynamic thought experiments.
The suffix “It” attached to most of these programs is derived from the FaceIt interface invented by Dan Kampemier, founder of FaceWare in Urbana, IL, one of the first worldwide programming projects. I participated in FaceWare from 1985 until 1993 and am now involved in its re-application in Apple’s X-Code and IOS. Advantages of FaceWare or X-Code is its graphical user/programmer interface (GUI or GPI) that can be easily updated with new menus, dials, text editors, spreadsheets, OpenGL windows, etc.
Another advantage for academic application is that good GPI’s keep model, control, and view separate. This avoids time wasted reinventing the wheel or debugging buttons in class. Now teaching useful root-level object oriented programming along with physics is possible. Mixing serious academics with deep coding is still regarded as heresy, but sooner or later it should be more a part of serious science education.
GPI’s facilitate a tree of programming projects for a given course. Such project trees make up a CodeIt system. Students learn how to saw-off one or more branches of CodeIt trees to build their own applications as homework or lab projects. Eventually, they can build applications of sufficient complexity to aid in their thesis or dissertation research projects. Also, select CodeIt applications may be added to the LearnIt collection, a way for a student to first “publish” his or her best work. Each LearnIt program is supposed to have an accompanying expository text and/or on-line help hypertext.