I've edited it. Nice first draft; I didn't have to change all that much. (But please read it carefully, I make some committments that we need to discuss.) We should talk by phone before changing it further so we don't get into an editing war. :-) (One point: I really want to move away from calling it a Lesson plan, and call it a lesson plan. 280 felt very strongly about this.) Here you go: To: Paul Crockett, Editor RE: Summary of Reviews The Gries-Halls have reviewed the summary. Below, we make comments on the weaknesses pointed out by the reviewers. (We don't comment on the strengths, except to point out where the weaknesses contradict them.) We then describe what we will do to meet your expectations regarding ProgramLive, its Companion, and the website that will be constructed. Of course, at appropriate places, we comment on your suggestions for improving the Companion and ProgramLive. We noticed (as did you) that many/most of the weaknesses have to do with ProgramLive, not the Companion. What is the time frame for ProgramLive? That is, when would you need the final disk image in order to meet the July release date? Once we know that, we'll work with Data Description to make sure we meet that deadline. We have rearranged the weaknesses: the first set affect the Companion, and the second set only affect ProgramLive. Please let us know if we miscategorized. > Overall, these reviews were very good. There is work do be done before it > is ready for publication. > > The numbers next to each bullet indicate which reviews the feedback > appeared in. > Strengths > * Well written (1, 2, 3, 4) > * Excellent reference (1, 3, 4) > * Provides exceptional practice opportunities for students (1, 2, 3, 4) > * Appropriate for an academic course (1, 2, 3, 4) > * Best of its kind and different than any other texts (1, 2, 3, 4) > * Two lesson plans make it very flexible and appropriate for different > courses (1, 2) > * Java API is perfect length and a major strength (1, 3) > * Appropriate breadth and depth (1, 2, 3, 4) > * Syntax coverage is complete (1, 2, 3, 4) > * Balanced coverage of syntax, OO, and programming concepts (1, 2, 3, 4) > * Great examples and exercises (1, 2, 3) > * Will compete well in trade market (2) > * Appropriate organization (2, 3, 4) > * Great for self-paced environment (1, 2, 3) ---------------------------------------------------------------- > WEAKNESSES, COMPANION ---------------------------------------------------------------- > 1. Only provides reason for objects-first lesson plan (1). > 2. Having different lesson plans would be a huge improvement (1, 2, 3, > 4). RESPONSE: Valid points. We expect to have the Horstmann lesson plan soon. Nino too, if there is space and we have time. Would that suffice, or did you want something more general? Also, we had discussed putting these on the web site rather than in the Companion. We're assuming that we've dropped that idea. > 5. Include coverage of Javadoc (1). RESPONSE: We will add Javadoc coverage to the Companion and ProgramLive. That's a fun topic. > 10. Java API can be condensed or separate (2, 4). RESPONSE: This directly contradicts (1,3), which say that the length of the Java API specs is perfect and is a major strength (and it is a unique feature of the Companion, over all other texts). We're assuming that Wiley wants them in there, right? We feel strongly that they belong in the Companion. > 13. Index a must (4). RESPONSE: The Companion now has thorough index --we've been working on this for the past month. ---------------------------------------------------------------- > WEAKNESSES, PROGRAMLIVE We believe the following comments apply only to ProgramLive, not the Companion. Let us know if we're wrong about any of them. Also, ones that we don't agree with are here. > 3. Needs more coverage of Collections framework (1). RESPONSE: This is a topic for a second programming course. We noticed that this reviewer teaches an intermediate, not an introductory, Java course. ProgramLive is for a first course. The author mentions this point: Q: Is the material presented at an appropriate level for your course? Does it have the appropriate rigor? A: Not quite, the level is a little introductory for my intermediate course...my students are familiar with Java For the next edition, we will look seriously at extending coverage, but at this time, we do not see the need to expand the coverage at this time. > 4. GUI coverage should be enhanced (1, 3). RESPONSE: Again, this is a topic for a second programming course, not the first. Therefore, at this time, we do not expect to change much. For the next edition, we will look seriously at extending coverage. We do discuss this point later, because it's the closest to being correct. > 6. Add coverage of design patterns (1). RESPONSE: Again, this topic is not taught in CS1, or even in many second courses. We do not see the need to address it in this edition. > 7. Include BlueJ on CD (1). RESPONSE: At SIGCSE, we talked at length with BlueJ people, and we have a copy of their software. A tutorial on BlueJ, and also its use in discussiong objects and classes earlier, will definitely be in the next edition, say, for June 2002. However, there is not time to do justice to the material in this edition. We perhaps write a brief introduction to it, and include it on the CD. (Would Wiley be interested in packaging a CD containing BlueJ separately from ProgramLive?) The crux of this decision for us: we noticed that Cay Hortsmann has an online tutorial for BlueJ at http://www.horstmann.com/ccj2/help/bluej.html. The screenshots and text in the beginning of that web page would make a great starting point for a lesson page on BlueJ. Can we license that from him? It would save at least a week, probably 2 weeks, and we would be in a much better position to say yes to having a basic introduction to BlueJ. > 8. Add more practical/real-world and more rigorous examples (1). RESPONSE: Agreed. We will add examples in the form of many more exercises and more projects in this edition of ProgramLive. We discuss this in depth farther below. > 9. Cover primitive data types earlier (2). RESPONSE: The basics of primitive types are covered in Lesson 1 (in the new version). Primitive types int, bool, and float, etc., are introduced and discussed enough to let students work with them. For purposes of organization (only), primitive types are covered in full detail in a Lesson (chapter) of their own. The lesson plan allows the instructor to choose to have students study the primitive types in detail whenever the instructor wants. > 11. More concepts needed in the text (2). RESPONSE: We really don't know what this means. The text covers in a practical manner more "concepts" than most texts. The reviewer gave no examples of what he meant. He stated that the examples were good, and that the level was appropriate for a CS1 course. Could he have been referring to his CS2 course? > 12. Coverage of I/O is inaccurate (3). RESPONSE: We believe the reader just did not go far enough in our discussion of input. We discuss exception handling on the current version of ProgramLive, and have coverage of how first-course students should deal with them. We will certainly review this part carefully and change where necessary, but all our examples have been compiled and run. Note that PLive and its Companion are for a first course, and IO in first courses is usually done in a minimal fashion. > 14. Give more attention to threads, multimedia and files (4). RESPONSE: Threads are rarely, if ever, studied in a first programming course. Multimedia is covered perhaps only in the ability to load a jpg or gif file onto a web page in an applet. Files, in a first course, are used almost only for input, and for the next version of ProgramLive we've got a page of activites on reading from files. > 15. Applets earlier (3). RESPONSE: Applets are an optional topic and can be covered whenever the instructor wants them covered. They can be done as early as before Lesson 3 on classes. It all depends on whether the course stresses running applications or running applets. We ourselves prefer the applications because that actually is easier. One needs to know less. But an instructor can do applets whenever they want --PL isn't tied to applications, the basic CS concepts are used in both applets and applications. > 16. Too much coverage of multi-dimensional arrays (4). RESPONSE: The appearance of a thorough discussion of multidimensional arrays does not mean that an instructor must cover that topic. It is optional; Cornell and Toronto both teach most of this material. > 17. Too much coverage of recursion (2, 4). RESPONSE: The appearance of a thorough discussion of recursion does not mean that an instructor must cover that topic. It is optional. We will not delete material. Actually, some instructors would rather teach recursion than loops! And they can, with our material. Toronto uses recursion as an optional topic that instructors can use if they get ahead in the teaching schedule. > 18. Needs better "programming" exercises (4). RESPONSE: As soon as the Companion is done (beginning of April), we will work on adding more short exercises and more programming exercises to ProgramLive. And we will stop only when ProgramLive has to go to press. That will give us at least a month of work on exercises. > General > 1. Java Tutorial on the Sun web site or a syntax guide is very useful > (1, 3). RESPONSE: Our language summary in the Companion and also the glossary on ProgramLive satisfy the need for a syntax guide. > 2. Could have a button that says "Sorry, I did not understand this. Please > explain in a different way." (4). RESPONSE: We could not imagine being able to introduce such a feature into ProgramLive at this point. It's beyond the scope of ProgramLive. (Textbooks certainly don't have anything like this feature!) We believe that instructors already fill the role of that button. > 3. Possibly put text on a different CD (4). RESPONSE: The whole reason for the Companion is that people want paper, something that they can hold and read when they are not at their computer. So we see no need for this. Does Wiley think this is a good idea? Or did the author mean the spoken text? It's possible that the reviewer just didn't know that all activities can be displayed by selecting View Exposition Text from a menu. > 4. We should do PowerPoint Slides and Solutions for supplements (1, 2, > 3, 4). RESPONSE: Absolutely. After ProgramLive goes to press, we expect to have at least two months to develop the web site for ProgramLive and its Companion. At the moment, we envision the website containing the following: (1) Powerpoint slides for lectures, available only to teachers. David Gries developed such slides the first time he taught Java at UGA (Spring 2000), and these slides will be the basis for this. (2) Answers to all questions in the Companion, available only to teachers. (3) A subset of the answers to all questions in the Companion, available to students. (4) More exercises and programming projects, available only to teachers. (5) Tests (midterms and finals), available only to teachers. > A. Key issues to address: > All of the weaknesses above should be considered/addressed, but the following > elements are most important: > I. Only provides reason for objects-first lesson plan. > II. We need multiple lesson plans. RESPONSE: Absolutely. We will address these in the Companion. We will have a Horstmann (and probably Nino) lesson plan. > III. Increase GUI coverage. RESPONSE: As discussed earlier, this is generally not a first-course topic. We will address it in the next edition, not this one. > IV. Needs more and better programming exercises. RESPONSE: Absolutely, this will be done for this edition. > V. Coverage of I/O is inaccurate. RESPONSE: This will be fixed, if it is indeed broken. > VI. Include BlueJ on the ProgramLive CD. RESPONSE: To write thorough activities will require at least a full month of our time, and then a month of DataDescription's time, recording, cleaning audio files, synching audio files, etc. For a brief intro, based on Horstmann's web page, we could have it done quite a bit sooner. This is, of course, a ProgramLive issue, not a Companion issue. We do regard this topic as very important, and it will be included in the June 2002 edition. > VII. Supplements are a must. RESPONSE: As discussed above, we will have supplements on the web site. > B. Detailed suggestions for addressing above issues: > I. Only provides a reason for using the objects-first lesson plan. RESPONSE: Provide reason for procedure-first lesson plan as well in first chapter. One reviewer mentioned it was confusing to see the CD set up one way and have the companion recommend another way. We will fix this. And we do expect to have a second (and third, hopefully) lesson plan in the Companion. > II. Add multiple lesson plans to CD. We should definitely offer three > lesson plans with the CD. I recommend that we have a drop down menu when > students first sign on (as you have now) with the following options. This > will make the package incredibly flexible and marketable. Reviewers made it > clear that this would be a major strength. > 1. ProgramLive Companion Text > 2. Horstmann, Computing Concepts in Java (loops, arrays, algorithms and > objects early) > 3. Nino, Intro to Programming and Object-Oriented Design Using Java > (objects first) RESPONSE: The technology in the ProgramLive software does not make this possible, and we do not own the software. This would need to be discussed with Data Description, and will almost definitely not be ready for this summer. All we can do is reorder Lessons, not Lesson pages in a Lesson or activities (lectures) within a Lesson page. The best we can do is to provide a lesson plan, either in the Companion or on the supplemental web site. We really like the idea! But Data Description is the decision-maker on this, not us. > III. GUI coverage should be enhanced. This is an increasingly important topic > that we consistently hear professors asking for. Additional coverage (even > optional coverage) should be added. RESPONSE: We cover some GUI basics, but it is not THAT important for a first-year course. Toronto, Cornell and Georgia do not cover GUIs, not even in CS2. It's a huge topic, and we can't get it done in time for this version; in fact, it would take us several months to do it justice. > IV. Needs better "programming" exercises. This and the comment that we need > more "real-world" exercises is a big red flag for me. It is vital that we > have substantial programming exercises at varying levels of rigor. I must > insist that this be incorporated into your changes. ). RESPONSE: We agree completely. As soon as the Companion is done, we will work on adding more short exercises, more programming exercises, more projects, and more labs to ProgramLive. > V. Coverage of I/O is inaccurate. Can you take a close look at this for > mistakes. Obviously, this would need to be fixed. RESPONSE: This will certainly be fixed, if indeed it is a problem. > VI. Include BlueJ on CD. BlueJ has become huge in academia as an > exceptional way to teach objects. You might really consider adding this as > a lesson in the compiler section. Maybe just do BlueJ and CodeWarrior and > drop the other. BlueJ is free and I have a copy here. Cay Horstmann's next > book will include references to BlueJ and there were various discussions > about it at SIGCSE. I think this is a great recommendation. RESPONSE: As mentioned earlier, we DO want to have BlueJ on ProgramLive, and it will be on there, well integrated, by June 2002. > VII. Supplements. 5. I know you were planning on supplements. It is clear > from this review that we need solutions and slides at the very least. RESPONSE: Agreed. We'll have them ready by late June, as discussed above. > C. Recommended Schedule > > The situation is simple. If we want to get this out by the end of July, we > need to have all the changes made by April 1. I know you guys work quick, > but is this possible? RESPONSE: Again, no detailed comments on the Companion content or the questions themselves were given. We take it that we are free to polish the Companion as we see fit, right? We will do this and have a pdf file ready for copyediting on 1 April. We would like a beginning-July deadline, not an end-July deadline. People won't adopt if any slippage would mean not meeting the deadline. The 1 April copy will go out immediately to those who have requested desk copies, right? > There are many things in here that apply to the CD and not the > text. These include adding the choice of different lesson plans and > adding a lesson on BlueJ. You will need to work on these based on the > schedule you have with Data Description. Obviously, I think it is very > important for Paul and I to work out a way to do the lesson plans. The > BlueJ thing is your call and may be something that you feel should wait > until the next release. I will say, however, that it is quite popular > and would be a perfect complement to ProgramLive. RESPONSE: BlueJ will be on the June 2002 edition, not the July 2001 edition, unless we can "borrow" Horstmann's text. We are not yet familiar enough with BlueJ to write a good tutorial ourselves in the current time frame. At least one lesson plan will be added to the Companion. As mentioned earlier, we cannot change the CD to produce something that follows Horstmann or El Nino, but we can put a lesson plan in the Companion or on the supplementary web page. > Also, the supplements are not as urgent as the text. Therefore, you should > plan to have supplements submitted to me by the end of June. This will give > me a month to look at them and suggest any changes. RESPONSE: Great! We're actually gathering materials for this already, although we haven't even started to organize them. Again, we'll be doing that once the Companion is ready.