- Series: Texts in Computer Science
- Paperback: 364 pages
- Publisher: Springer; 2003 edition (May 12, 2003)
- Language: English
- ISBN-10: 0387001638
- ISBN-13: 978-0387001630
- Product Dimensions: 7 x 0.9 x 9.2 inches
- Shipping Weight: 1.7 pounds (View shipping rates and policies)
- Average Customer Review: 23 customer reviews
- Amazon Best Sellers Rank: #767,084 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Other Sellers on Amazon
+ $3.99 shipping
+ $3.99 shipping
+ $3.99 shipping
Programming Challenges: The Programming Contest Training Manual (Texts in Computer Science) Paperback – May 12, 2003
|New from||Used from|
"Enlightenment Now: The Case for Reason, Science, Humanism, and Progress"
Is the world really falling apart? Is the ideal of progress obsolete? Cognitive scientist and public intellectual Steven Pinker urges us to step back from the gory headlines and prophecies of doom, and instead, follow the data: In seventy-five jaw-dropping graphs, Pinker shows that life, health, prosperity, safety, peace, knowledge, and happiness are on the rise. Learn more
Frequently bought together
Customers who bought this item also bought
Customers who viewed this item also viewed
"Skiena and Revilla's new book 'Programming Challenges: The Programming Contest Training Manual' is just the ticket for those interested in a jumpstart to the world of contest programming. With special emphasis on the international ACM collegiate contests, the book's best feature is each chapter's pithy introduction that demystifies a particular scheme or algorithmic approach. The ensemble of these explications coupled with the contest strategy guidelines in the appendix can enable a novice to enhance contest results dramatically in a short time simply by solving the suggested exercises in each chapter. Even contest veterans are likely to be able to find a nugget or two in the explanations and strategies. "Presented in a logical order (contest programming has over a dozen different primary attacks), the book guides readers not only through the techniques and algorithms required but also through a huge set of problems that can be used for training. Solutions can be submitted to Valladolid University's online trainer for quick feedback and reinforcement. "If you're the sort who likes to have a single volume that covers the vast majority of a field, you'll love Skiena and Revilla's new tome." --Rob Kolstad, Ph.D., Head Coach, USA Computing Olympiad
About the Author
Steven S. Skiena is a member of the faculty of computer science at SUNY Stony Brook and is author of many widely used books, including The Algorithm Design Manual. He received the 2001 IEEE Computer Society Undergraduate Teaching Award.
Miguel Revilla is a member of the faculty of computer science at the University of Valladolid, Spain. He is official website archivist of the ACM ICPC and creator/maintainer of the primary robot-judge, contest-hosting website.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
I do realize that this book is meant to be used as a course text, so including solutions for all problems is not ideal, but having one or two non-UVA problems that could be dissected would be great.
Now as to how the book shows its age, I think the complete omission of unit testing is a real detriment to the book - in all cases, problem statements include sample input and output. Adding tests up front to ensure that at least the sample cases are always passed really helps to keep things on track when coming up with a solution to a problem.
Don't get me wrong - these are minor things that do not take away from the content of the book. This book (and/or a course based on it) should be required for all CS undergrads!
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.
WHAT I THINK ABOUT THIS BOOK:
The book falls very short of what it promises. It does contain a few selected programming problems (several of which I encountered when I competed in the ACM contests myself!), but it merely gives hints on things to think about and nothing about how to select appropriate solution algorithms. Also example code is only given for the simplest of situations. I would have preferred examples of more complex scenarios with a discussion of how to scale it back for simpler situations. Also, the book purports to be language neutral, and in their defense, although all the code is in C, there are discussions of how to use libraries from other languages. The only real use I got out of it was how to categorize problems into subsets and what those subsets look like. Essentially, the book is written to an audience who likely doesn't need the book in the first place...which is a shame.
If you are a master programmer and you just need some "nudges" in the right direction, this will be an excellent book for you.
If you are a novice, this book is all levels of wrong for you...consider getting a good data structures book (that includes graph algorithms...many of them don't!).
If you are an average to good programmer, just go to one of the contest sites and practice problems. It might also be useful to download the FREE guide to the ACM International Contests at acmsolver dot org. Also, the problems presented in this book are mostly covered in the collection of problems published as "From Baylor to Baylor".