From jacobson@math-cs.cns.uni.edu Wed May 1 17:42:09 2002 Date: Wed, 01 May 2002 17:41:47 -0500 (CDT) From: Mark Jacobson To: 810-053-01@uni.edu Subject: Extra Credit.... Hi 053 OOP Java students, You can do either of the links from the URL http://www.cns.uni.edu/~jacobson/053/java/class41.html and rewrite the session24 and/or session25 Wallingford lecture notes we covered. They are both linked to from that page. ---- Your rewriting of those notes would not be word for word, but would be idea by idea exploration of and written thinking aloud (or recorded with pen or pencil thinking) of the terms and concepts and definitions. You can integrate it with other parts of our course or the supporting material in the Budd book. You can use the Java examples as occasion to review the Java and OOP specifics, as well as the new general concepts. You can rewrite code examples, and talk about the code in a way that shows you are thinking about it and understanding it. You can come up with a different way to do the same thing, and show the modified Java code. You could do as I did in class today and invent some new idea, such as MOUNTAIN words or VALLEY words or words that start and end with the same letter. You could then write the code and show all the places that would be changed to develop and test that new TEMPLATE or that new STRATEGY. For the students who have been doing VERY BADLY on the quizzes and not being able to learn or retain Java very well at all, you are strongly encouraged to rewrite the Java code examples and talk about the general concepts such as here are the private instance variables, and what they do and why they are needed to remember state information, and here are the constructors, and here are the public methods and private methods and protected methods, and why and so on. And here in this code the == was used and the other 5 operators are: And here in this code example, the StringTokenizer class was used, and what variations on that could be done and what methods were not used but that are very common for that class, or how it could have been done differently using the same class, or using an array or a Vector approach instead, etc. etc. Any extra credit you turn in should be written neatly and deliberately and scribbled out so fast and illegibly that it is unreadable. It can be messy and can have half baked ideas that you come back later and develop further or correct, because it is a workbook and a thinking/learning exercise. It is great to take notes and draw diagrams and raise questions, leaving enough white space to come back a day or a few hours later and reflect further on. This is an excellent way to learn and retain and master information. A great approach also is to come back later and use a differently colored pen or pencil. Ideas that are tough can be rewritten again, ideally in slightly different phrasing and words, but realistically in the same exact language, just to concentrate on and review and learn them better the 2nd or the 3rd or the 4th time through. You may also do material on the Decorator pattern and the Adapter pattern from the following page: http://www.cns.uni.edu/~jacobson/053/java/class38.html That page has a link to Ghostbusters excerpts, which you can read over and try to integrate with the ideas on Inheritance, Polymorphism, general/specific and one/many and abstraction that we have been talking about. So much for the extra credit ideas here. The extra credit is completely optional and not required. Mark