Most Helpful Customer Reviews
12 of 13 people found the following review helpful:
4.0 out of 5 stars
Excellent problems for programming challenges, December 15, 2003
This review is from: Programming Challenges (Paperback)
By far, the hardest part of teaching programming classes is evaluating the programs. Unless you have the students do only simplistic programs, they are difficult to read and running the executables does not always give an accurate appraisal of what was done. One possible solution to this educational conundrum is to take advantage of the robot judge maintained at the book's companion web site. The book contains many problems to be solved via a program that must accept inputs having a specific, albeit general format and then produce the appropriate output. The robot judge is capable of evaluating programs written in Pascal, C, C++ and Java and it will return one of eleven different results, all of which are two letter acronyms. If the program is not given a passing grade, then the message will not be of much benefit. The problems are placed in several categories, including sorting, combinatorics, number theory, graph traversal, grid operations and geometry. I identified several that I can and most likely will use as assignments the next time I teach basic programming. While some problems require significant background information, in general it is not so great that it is beyond the bounds of what can be done in a basic computing class. The problems were originally created to prepare students for programming contests, so the level of difficulty is such that they could not be used until later in a beginning course. However, the book would be an excellent text for any advanced programming class where the students are split into teams. Each chapter begins with primer material for the problems given in that chapter and I included it in my best books of the year 2003 column for the online "Journal of Object Technology".
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
15 of 17 people found the following review helpful:
4.0 out of 5 stars
This may not be what you are looking for., July 11, 2005
This review is from: Programming Challenges (Paperback)
This is a book about problems in programming contests but I feel it is
also a introduction to algorithms. An introduction that makes you work
out for yourself things that you might expect to have explained to you
in a textbook. There are two approaches for preparing yourself as a
competitive programmer. One approach involves learning lots of relevant
small skills. Later with practice and ability you may be able to put
those skills together in truely creative ways. The other approach
involves learning some general principles and then practicing problems
which apply those principles in more (or less!) obvious ways. I have
always preferred the second approach, especially when it done with
problems whose solutions are less obvious. Solving such problems forces
you to practice what you need need to be a creative problem solver. The
authors of this book seem to agree with me. You may not like that. I, of
course, do.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
22 of 27 people found the following review helpful:
4.0 out of 5 stars
Excellent book - several caveats, September 18, 2004
This review is from: Programming Challenges (Paperback)
First, let me get the caveats out of the way:
1) 'Contest' code like this does not teach nor encourage many of the concepts desirable for large system development. The point is not to have code that is extensible, maintainable, well designed, etc... although there are some good points (see below).
2) This book does not try to 'teach' concepts. That is not the point either (see below).
While the book is not 'teaching', it does set a bunch of interesting playing fields in which people can explore, discover, and learn on their own. In this regard, this book is excellent. I am considering using it to lead a study group at work for this reason.
While it is not promoting the development of many of the desirable skills I think develops generally need more of, it is promoting the use of requirements, detailed design, and acceptance tests... this is how the projects are specified and graded.
Yes, I said graded. This is a really cool feature of the book - there is a website where your solutions can be submitted, and a 'robot' will run and test them, letting you know the results. The way they pull that off is pretty cool. You create an account, and it ranks how well you are doing.
If you are interesting in contest coding, if you are looking for some platform on which to lead a study group on algorithms/problem solving, or if you are the kind of person who picks up Games Magazine looking for little problems to solve, this book is for you.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
|