Home :: Books :: Computers & Internet  

Arts & Photography
Audio CDs
Audiocassettes
Biographies & Memoirs
Business & Investing
Children's Books
Christianity
Comics & Graphic Novels
Computers & Internet

Cooking, Food & Wine
Entertainment
Gay & Lesbian
Health, Mind & Body
History
Home & Garden
Horror
Literature & Fiction
Mystery & Thrillers
Nonfiction
Outdoors & Nature
Parenting & Families
Professional & Technical
Reference
Religion & Spirituality
Romance
Science
Science Fiction & Fantasy
Sports
Teens
Travel
Women's Fiction
Programming Challenges

Programming Challenges

List Price: $32.95
Your Price: $32.95
Product Info Reviews

<< 1 >>

Rating: 4 stars
Summary: Excellent problems for programming challenges
Review: 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".

Rating: 4 stars
Summary: Excellent book - several caveats
Review: 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.

Rating: 4 stars
Summary: Pearl of Programming Contest :)
Review: Great Archimedes appears with his famous "Eureka" in the minds of contestants when they get their solutions accepted by the judge. But if you scan through the famous bookstore's catalog you won't find such sort of books reflecting programming contests rather you'll find many good and huge volumes of professional programming books! You may also find many really good books on mathematical competitions like "Math Olympiads". But they don't get the whole job done!

From the first chapter and appendices this book is trying to familiarize the online judge and contest system to the newcomers and old contestants will know about different language using statistics and problem's level.

Most of the book (80%) generally discusses on "Data Structures". There are of course many very good books on this particular important field, but this book focus on their implementation in contests rather than deep materials. And the good thing is, it gives reference on any specific part of data structures or algorithms for further study.

I think the mathematical problem oriented portion (graph theory, number theory and geometry) is brighter than the other topics. It's good as algorithmic problems of programming contests always carry some special cases that depend on mathematics. Besides, many contestants just miss the higher rankings just for comparatively weakness in mathematics.

A good algorithm book shouldn't depend on any particular programming language but this is not an algorithm book, it's a programming contest tutorial or manual, so, it also contains different tips of algorithmic performance with time and tricky language syntax usage to optimize the solution of any challenging contest problem. But this book seems to be C language oriented. It's true that it has given many good library references on C++ and packages of Java but you won't find any code belongs to these languages. May be both C++ and Java (it's much more than C++) contains many predefined methods to handle data structures. But I think, as there are many good books on data structure and algorithm then it should give more C++ and Java code and their usage in contests, where of course time matters.

And the other thing is, this book contains many problems which are taken from acm.uva.es site, besides it's a book which have a companion website then it can be easily avoided to give the problems (description and sample IO) in the book. The pages used just for the problems can be more utilized by giving many techniques on the contest and tricky language syntax or library usage of C++, Java and another avoided language PASCAL.

Rating: 4 stars
Summary: Outstanding Work!!!
Review: I completely agree with Mr. Shahriar Manzoor who has been selected the Judge of the World Finals 2003 & 2004 for his significant contribution in programming contest activities. He is also the System Administrator of ACM UVa Online Judge of Professor Miguel Revilla and a contributor in this book. You can find several contest problems in this book written by Mr. Shahriar Manzoor. Contestants in Bangladesh are getting profound interest in this book. Students were eagerly waiting for this book and the solution techniques provided are helping them greatly in solving many problems that they were not being able to solve. This is a great help!!

[N. B: Sumit (Mr. Shahriar Manzoor) once told me that if he had to choose a second profession, he would have selected cover-designing.]

-- Tanbir Ahmed

Rating: 4 stars
Summary: Excellent Book for Newcomers
Review: I have been arranging programming contests for a 2/3 years and was a not so successful contestant in my contestant days. The reason behind this was I think that I made some mistakes and there was no one to guide me through the tunnel of programming contests. There are class people in this world who does well in programming contest autometically but others need help. But if you are a new comer then it is quite obvious that you will feel helpless for significant amount of time. This book will help you to get out of that situation. It will introduce you to Valladolid online Judge system which is the now the only judge with more than 1000 programming contest problems.

Please remember one thing "The small mistakes that you make in your regular programming assignments are not seen by your teachers. Programming contest does not allow you to make those mistakes." This book will allow you to come out of those mistakes. Some useful routine are also prepared for you in this book. The reason for which I have given this book four stars are (not five)

a) I expect a lot in future from the writers of this book. So when they will produce next volume (I dearly hope that they will produce a second volume) how will I give that six stars? :)

b) The cover page is not convincing. I am not an art critic and I don't think many programming contestants are.

cheers
Shahriar Manzoor

Rating: 4 stars
Summary: Good programming training manual but needs improvement
Review: In general, this is a good training manual on programming competitions. ... But the authors of this book tried to cover many topics without much depth. The topics should be treated more thoroughly, and more examples should be added. I hope the next revision of the book can be improved in these lacking areas.

Half of the books are a collection of problems you can get from the Programming Challenges website ... The lecture notes (in HTML and PDF formats), and audio (in MP3 formats), which the materials of the book extracted from, can be downloaded from the website.

For Java and C++ coders, some of the data structures and algorithms they provided are already available in classes and methods in the standard and STL libraries, respectively. But it is interesting to see how these data structures and algorithms are being designed and implemented in C from the book.

In my opinion, the code segments and examples chosen for the second half (chapters 8 and up) of the book are pretty good selections. The last two chapters of the book are my favorate chapters since the data structures and algorithms presented there for geometric problems, in particular computational geometric problems, are very subtle making solving some of these problems very simple.

...

Rating: 5 stars
Summary: excellent programming manual
Review: It is well known that programming is more of an art than a science. The best way to obtain proficiency in this subject is to try your hand at constructing algorithms for many different problems, and the present book suits this objective admirably. The problems, coming as they do from several programming contests, are very varied, challenging and often humorous. A very important feature concerning this book is that after obtaining a tentative solution, one can try its correctness and efficiency by submitting the program to a web page, where a checking robot will analyze it automatically. The book is very reasonably priced and undoubtely it will belong in the library of every scientific programmer.

Rating: 3 stars
Summary: Nothing interesting
Review: The book introduces broad range of concepts and algorithms . Sparse in code. You will not learn anything from this book - best to avoid.


<< 1 >>

© 2004, ReviewFocus or its affiliates