Holiday Hosting Essentials for the Kitchen
Enjoy fast, free delivery, exclusive deals, and award-winning movies & TV shows.
Buy new:
$79.61
FREE delivery Saturday, March 28
Ships from: Amazon
Sold by: MbBooks
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

  • Programming Challenges: The Programming Contest Training Manual (Texts in Computer Science)

Follow the authors

Get new release updates & improved recommendations
Something went wrong. Please try your request again later.

Programming Challenges: The Programming Contest Training Manual (Texts in Computer Science) 2003rd Edition


{"desktop_buybox_group_1":[{"displayPrice":"$79.61","priceAmount":79.61,"currencySymbol":"$","integerValue":"79","decimalSeparator":".","fractionalValue":"61","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"afJl3wKn8GpNYg1e32CsnVXw76y%2FM4067MP87319xfEFj1pNCfcd6GZUGKDund%2FPJFGObQ9BQ7I2ucfVu5H77%2BCak8jgcxGX5OhMJJTZiaiJNYKJiWm76duhl70vA3H0%2B9Ssq8WuI%2B38TGFytVxkadDElQZRUU4CH1FXJhFd7JPAVDjkbceAHnTN6pYNQygq","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}, {"displayPrice":"$28.44","priceAmount":28.44,"currencySymbol":"$","integerValue":"28","decimalSeparator":".","fractionalValue":"44","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"afJl3wKn8GpNYg1e32CsnVXw76y%2FM406023syyPr926LexoSpJX5CvneFxcerg74BurBrUXUHtMzczDa3bmq583CJxYxYobuFlqXDMhLbn6l7EelmrCQ%2Bhpk%2BDYz0R8W3hdpwbQXJKCrKWUUOWSkbXaNvm0FxktK%2FgjJ1CagqDC1AkcQNeSaPoL0lAjD10dL","locale":"en-US","buyingOptionType":"USED","aapiBuyingOptionIndex":1}]}

Purchase options and add-ons

There are many distinct pleasures associated with computer programming. Craftsmanship has its quiet rewards, the satisfaction that comes from building a useful object and making it work. Excitement arrives with the flash of insight that cracks a previously intractable problem. The spiritual quest for elegance can turn the hacker into an artist. There are pleasures in parsimony, in squeezing the last drop of performance out of clever algorithms and tight coding.

The games, puzzles, and challenges of problems from international programming competitions are a great way to experience these pleasures while improving your algorithmic and coding skills. This book contains over 100 problems that have appeared in previous programming contests, along with discussions of the theory and ideas necessary to attack them. Instant onlinegrading for all of these problems is available from two WWW robot judging sites. Combining this book with a judge gives an exciting new way to challenge and improve your programming skills.

This book can be used for self-study, for teaching innovative courses in algorithms and programming, and in training for international competition.

The problems in this book have been selected from over 1,000 programming problems at the Universidad de Valladolid online judge. The judge has ruled on well over one million submissions from 27,000 registered users around the world to date. We have taken only the best of the best, the most fun, exciting, and interesting problems available.

There is a newer edition of this item:

Customers also bought or read

Loading...

Editorial Reviews

Review

"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

From the Back Cover

Studying the challenges of problems from international programming competitions is an effective way to improve your algorithmic and coding skills and understanding.

This new programming companion uses international programming competition-type problems to motivate the study of algorithms, programming, and other topics in computer science. The book includes more than 100 programming challenges, as well as the theory and key concepts necessary for approaching them. Problems are organized by topic and supplemented by complete tutorial material. Readers gain a concrete understanding of both algorithmic techniques and advanced coding topics.

Unique features:

  • Offers a wealth of programming problems suitable for self-study―all with online judging atwww.programming-challenges.com
  • Presents practice training for all the major programming contents―ACM International Collegiate Programming Contest (ACM ICPC), International Olympiad in Informatics (IOI), and Topcoder Challenge
  • Serves as a convenient, web-based means for adding a programming component to any algorithms or software engineering course
  • Contains complete working code for fundamental data structures and graph, string, numerical, and geometric algorithms
  • Provides a brief-yet-thorough treatment of key elements of number theory, geometry, dynamic programming, and graph algorithms
  • Supports all popular programming languages (C, C++, Pascal, Java)

Product details

About the authors

Follow authors to get new release updates, plus improved recommendations.

Customer reviews

4.2 out of 5 stars
47 global ratings

Top reviews from the United States

  • Reviewed in the United States on April 5, 2008
    Format: PaperbackVerified Purchase
    The problems are fun and I see more and more and more of these kinds of programming problems on job interviews these days so it's good to be quick at doing them. Beware though that problems are collected by the author from various sources and some are in my opinion, poor problem statements and you can fail their robots until you realize some part of the weasel wording in the problems. It's part of a game they play in the contests, which is more what this book is designed for than what I am using it for. On their web site after you pass a problem, you can then work on trying to beat the best time; that's the most fun part for me.
    6 people found this helpful
    Report
  • Reviewed in the United States on September 19, 2004
    Format: PaperbackVerified Purchase
    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.
    27 people found this helpful
    Report
  • Reviewed in the United States on March 30, 2011
    Format: PaperbackVerified Purchase
    Hi. My name's Paulo Giovani and I'm a professor here in Brazil. I teach C/C++ programming and databases. Also, I work with some students that like to take a part in contests. This book is a very good material for teach programming skills to every student, not only for programming challenges. It helps a lot. For those who want to take a part in competitions, it'll help the training, improving the programming skills. Its samples and exercises are great.
    One person found this helpful
    Report
  • Reviewed in the United States on July 23, 2015
    Format: Kindle
    This book takes me back. When I began programming, it was coding up math formulas. After that, it was not always so easy to think of ways to utilize the different techniques that we're using. This book has a number of interesting concepts that relate to "real" life in a way that makes algorithms and programming tangible. It also does a good job of teaching and covering the background concepts as well as providing sample pseudocode for these different techniques which are both very important.
  • Reviewed in the United States on January 5, 2011
    Format: PaperbackVerified Purchase
    This book does not hand-hold. Each chapter gives a summary introduction of some CS topic (data structures, computational geometry, for example), and then includes 5 - 10 relevant Olympiad problems. You must actually write the problems and try the test inputs on them, to benefit from the book.

    The book does not provide problem solutions. It would have been advantageous to see master algorithmists' (Skiena & Revilla) approaches to an Olympiad problem. Tips on algorithmic efficiency for every problem would have been helpful, for those who are interested in training for the competition, as well as for those who want to be better programmers. Alas, you may continue to write programs in an inefficient manner without feedback.
    16 people found this helpful
    Report
  • Reviewed in the United States on July 25, 2016
    Format: KindleVerified Purchase
    I do think that this book is showing its age a bit (see below), but it is still a good introduction to this world. One drawback to this book is the inclusion of so many actual problems from the archive. The fact that they are actual problems prevents the author from providing a solution, which would be very helpful.

    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!
    2 people found this helpful
    Report
  • Reviewed in the United States on January 13, 2014
    Format: Paperback
    Out of nowhere, this became my favorite algorithms book. There's no proofs of correctness or proofs of runtime, only minimal exposition, hyper-minimal C implementations and screwball challenges. If you want to memorize algorithms like guitar players memorize chords this is the book for you. If you want to dive deep, stick to CLR and Knuthy.
  • Reviewed in the United States on August 30, 2019
    Format: PaperbackVerified Purchase
    I am not sure why this book has a low rating. I purchased this book to help me understand various CS topics and programming techniques used to solve common interview-style questions. The book is packed with useful recommendations for tackling problems you will see in interviews and programming contests and contains excellent diagrams and representations of tracing through a program by hand.

    This book is not intended to compete with the traditional CS texts; use it as a supplement to provide you with greater context and understanding of what you learn in those books.
    5 people found this helpful
    Report

Top reviews from other countries

  • StephM
    5.0 out of 5 stars Challenging Programming
    Reviewed in Germany on October 31, 2010
    Format: PaperbackVerified Purchase
    'Programming Challenges' is a must-have book for those who either intend to enter programming competitions or who, in their own lives as programmers, have discovered a deficit in algorithmic thinking. In fourteen chapters the willing student is introduced to the basic algorithmic principles of various problem classes (such as dynamic programming, algorithms on graphs or geometric problems) which are at the foundation of computing. These principles include the general strategies for solving particular problem domains along with the basic algorithms and data structures suitable for the problem domain.

    Each chapter opens with an introduction to a particular algorithmic domain. This domain is explained informally through extensive worked examples, so that the student is prepared for the main body of the chapter: a collection of problems taken from various competitions. These problems are classified according to popularity, average success rate and difficulty. This classification is an indispensable aid for anybody with a view towards competition. It helps to roughly gauge one's own abilities with respect to (anonymous) others. Unfortunately, the book does not provide solutions (but it does contain a very few hints for selected problems). If you wish to get your solution checked you can submit it online to the authors.

    I have taken much pleasure in reading the examples and solving some of the problems. It is a book, I find, I wished more people in the field of computing would read. It is a wonderful antidote to all those books about processes, standards, and global architectures. It reminds us that computing, at its very root, is about (mathematical) reasoning and efficient programming.
  • Mateusz Dymczyk
    4.0 out of 5 stars Great resource for algorithm passionates!
    Reviewed in Japan on April 21, 2014
    Format: PaperbackVerified Purchase
    Professor Skiena is a great teacher and he sure knows a lot about algorithms, that goes without a saying! No wonder this book is so good, it contains a fair amount of interesting programming challenges which will definitely come in handy if you are preparing for programming challenges (contests, interviews etc.).

    As for the other reviews - this is *not* a book about algorithms, there is no explanation of common data structures etc. This is supposed to be a compilation of programming challenges with brief solutions. If someone is looking for a great book on algorithms then how about "The algorithm design manual" by the same author or "Introduction to algorithms" by CLRS.
  • xyoakville
    5.0 out of 5 stars Five Stars
    Reviewed in Canada on March 20, 2018
    Format: PaperbackVerified Purchase
    almost a new book - I was very happy with the decision I had made.
  • "nanang"
    2.0 out of 5 stars not good, it's better to buy (another) algorithm book
    Reviewed in Japan on October 30, 2003
    Format: PaperbackVerified Purchase
    first fime when I saw this book in amazon, I though that this book was very good for me, who want to join a programming contest
    but when after I got the book, I was very dispointed
    almost half of the book is only problems, which are can found in their site (programing-challenges.com)
    the explanation is very poor
    it's better to buy algorithm book, like Algorithm Design Manual or Introduction to Algorithm
  • あるとき
    2.0 out of 5 stars 買わなくてもいいかも
    Reviewed in Japan on May 18, 2010
    Format: PaperbackVerified Purchase
    買った後に気がついたのですが、ちょっと検索すればPDF版が手に入ります。
    持ち歩くのが重いので結局PDF版を読んでいます(笑)
    あとProgramming Challengesがやっているオンラインジャッジはバグっているようです。
    11章の1問目、"Is bigger smarter?"の問題ですが正解者が0ということになっています。
    私も提出して蹴られました。絶対あっていると思ったのでUVAのオンラインジャッジの方に
    提出したら正解でした。バグ報告しようにもサイトのどこにコンタクトがあるのやら・・
    UVAのジャッジも今はフォームサブミットに対応しているようですし(本執筆時点では
    ソースをメールでおくらないといけないと書いてあった)、ジャッジにはUVAを使った方が
    よいでしょう。

    英語の本のレビューなのに日本語ですいません