Inventing Numbers Annotated Class Description: > I like to think of numbers as piles of stones. Well, to begin with I do. Going from a pile of stones to the complex number system is an interesting journey that usually requires a semester's college course. Our two hours in this course won't be enough to begin that journey. Instead we'll ask: if we didn't have numbers how would we invent them in Java? How would we imitate the arithmetic of adding and subtracting piles of stones from each other? I mean no ints, no arrays, no numbers! At least no visible numbers, the Java run time system and the computers it runs on will play all they want with numbers. We, however, will do without. We can do without while staying pretty much within the subset of Java that is covered in AP classes. > As a mathematician and computer scientist I like to think of my > work as inventing languages to accomplish abstract tasks. The exercise of imitating pile-of-stones arithmetic in Java will teach us something about creating our own computer models. When we have got addition and subtraction working, multiplication and division can pretty much be left as an exercise. We will move on to translating our number system to and from Roman numerals. Again, we will be thinking in terms of models that avoid Java's numeric data types. We will try to second guess what the Romans were thinking when they came up with their number system. Our Java program will imitate that thinking. > Taking the first steps in creating a number system from a pile of > stones will give us chance to talk about this. The Java code we will come up with may be a bit mind bending (for those who haven't gone through a college course in data structures) but it won't be long and detailed. That should give us time for Q and A as we go along. > Examples will be in Java because that is what is taught in high > school. Java is far from my favorite programming language but is popular and what the College Board tests. This class will help you with that exam. The actual code presented in class will be available as a handout during class and online afterwards.