Buy new: $79.61$79.61 FREE delivery Saturday, March 28 Ships from: Amazon Sold by: MbBooks
Save with Used - Very Good $28.44$28.44 FREE delivery April 4 - 6 on orders shipped by Amazon over $35 Ships from: Amazon Sold by: LuxuryMerchandise (Veteran Owned)
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.
Follow the authors
OK
Programming Challenges: The Programming Contest Training Manual (Texts in Computer Science) 2003rd Edition
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.
- ISBN-100387001638
- ISBN-13978-0387001630
- Edition2003rd
- Publication dateMay 12, 2003
- LanguageEnglish
- Dimensions7.01 x 0.87 x 9.25 inches
- Print length748 pages
There is a newer edition of this item:
Similar items that may deliver to you quickly
Guide to Competitive Programming: Learning and Improving Algorithms Through Contests (Undergraduate Topics in Computer Science)PaperbackFREE Shipping by AmazonGet it as soon as Saturday, Mar 28
The Modern C++ Challenge: Become an expert programmer by solving real-world problemsPaperbackFREE Shipping on orders over $35 shipped by AmazonGet it as soon as Saturday, Mar 28
The Algorithm Design Manual (Texts in Computer Science)HardcoverFREE Shipping by AmazonGet it as soon as Saturday, Mar 28Only 17 left in stock (more on the way).
Introduction to Algorithms, fourth editionHardcoverFREE Shipping by AmazonGet it as soon as Saturday, Mar 28
Concrete Mathematics: A Foundation for Computer Science (2nd Edition)HardcoverFREE Shipping by AmazonGet it as soon as Saturday, Mar 28
The Coding Interview Prep Handbook: A concise guide for solving Data Structures & Algorithms problems. (The Coding Interview Prep Handbook – Multilingual Editions)PaperbackFREE Shipping on orders over $35 shipped by AmazonGet it as soon as Saturday, Mar 28
Customers also bought or read
- Competitive Programming 4 - Book 1: The Lower Bound of Programming Contests in the 2020s
Paperback$19.98$19.98Delivery Sat, Mar 28 - Guide to Competitive Programming: Learning and Improving Algorithms Through Contests (Undergraduate Topics in Computer Science)
Paperback$44.99$44.99FREE delivery Sat, Mar 28 - Introduction to Algorithms, fourth edition#1 Best SellerComputer Algorithms
Hardcover$93.60$93.60FREE delivery Sat, Mar 28 - Start Competitive Programming!: Ace the USACO Bronze Competition
Paperback$21.99$21.99Delivery Sat, Mar 28 - Guide to Competitive Programming: Learning and Improving Algorithms Through Contests (Undergraduate Topics in Computer Science)
Paperback$53.00$53.00FREE delivery Apr 11 - 17 - Coding Interview Patterns: Nail Your Next Coding Interview
Paperback$40.00$40.00FREE delivery Sat, Mar 28 - Algorithmic Thinking, 2nd Edition: Learn Algorithms to Level Up Your Coding Skills
Paperback$32.49$32.49Delivery Sat, Mar 28 - Introduction to Graph Theory (Dover Books on Mathematics)#1 Best SellerGraph Theory
Paperback$11.96$11.96Delivery Sat, Mar 28 - Concrete Mathematics: A Foundation for Computer Science (2nd Edition)
Hardcover$81.79$81.79FREE delivery Sat, Mar 28 - How to Solve It: A New Aspect of Mathematical Method (Princeton Science Library)
Paperback$11.82$11.82Delivery Apr 7 - 23 - 50 Algorithms Every Programmer Should Know: Tackle computer science challenges with classic to modern algorithms in machine learning, software design, data systems, and cryptography
Paperback$35.55$35.55FREE delivery Sat, Mar 28 - Build a Large Language Model (From Scratch)#1 Best SellerComputer Neural Networks
Paperback$49.24$49.24FREE delivery Sat, Mar 28 - Design Patterns: Elements of Reusable Object-Oriented Software#1 Best SellerObject-Oriented Design
Hardcover$29.09$29.09Delivery Apr 12 - 16 - Operating Systems: Three Easy Pieces#1 Best SellerComputer Operating Systems Theory
Paperback$28.27$28.27Delivery Sat, Mar 28
Editorial Reviews
Review
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)
About the Author
Steven S. Skiena is a professor of computer science at SUNY Stony Brook and is the author of many widely used books, including The Algorithm Design Manual. He received the 2001 IEEE Computer Society Undergraduate Teaching Award. Miguel A. Revilla is a professor of applied mathematics at the University of Vallodolid, Spain. He is the official website archivist of the ACM ICPC and creator/maintainer of the primary robot judge and content-hosting website.
Product details
- Publisher : Springer
- Publication date : May 12, 2003
- Edition : 2003rd
- Language : English
- Print length : 748 pages
- ISBN-10 : 0387001638
- ISBN-13 : 978-0387001630
- Item Weight : 1.5 pounds
- Dimensions : 7.01 x 0.87 x 9.25 inches
- Part of series : Texts in Computer Science
- Best Sellers Rank: #1,281,097 in Books (See Top 100 in Books)
- #56 in Computer Programming Logic
- #84 in Computer Programming Structured Design
- #967 in Software Development (Books)
- Customer Reviews:
About the authors

Steven S. Skiena is Distinguished Teaching Professor of Computer Science at Stony Brook University. He is the author of six well-regarded books: The Algorithm Design Manual (2020), The Data Science Design Manual (2017), Who's Bigger (2013), Calculated Bets: Computers, Gambling, and Mathematical Modeling to Win (2001), Programming Challenges (with Miguel Revilla, 2003) and Computational Discrete Mathematics (with Sriram Pemmaraju, 2003).

Discover more of the author’s books, see similar authors, read book recommendations and more.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonTop reviews from the United States
There was a problem filtering reviews. Please reload the page.
- Reviewed in the United States on April 5, 2008Format: PaperbackVerified PurchaseThe 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.
- Reviewed in the United States on September 19, 2004Format: PaperbackVerified PurchaseFirst, 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.
- Reviewed in the United States on March 30, 2011Format: PaperbackVerified PurchaseHi. 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.
- Reviewed in the United States on July 23, 2015Format: KindleThis 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, 2011Format: PaperbackVerified PurchaseThis 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.
- Reviewed in the United States on July 25, 2016Format: KindleVerified PurchaseI 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!
- Reviewed in the United States on January 13, 2014Format: PaperbackOut 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, 2019Format: PaperbackVerified PurchaseI 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.
Top reviews from other countries
StephMReviewed in Germany on October 31, 20105.0 out of 5 stars Challenging Programming
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 DymczykReviewed in Japan on April 21, 20144.0 out of 5 stars Great resource for algorithm passionates!
Format: PaperbackVerified PurchaseProfessor 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.
xyoakvilleReviewed in Canada on March 20, 20185.0 out of 5 stars Five Stars
Format: PaperbackVerified Purchasealmost a new book - I was very happy with the decision I had made.
"nanang"Reviewed in Japan on October 30, 20032.0 out of 5 stars not good, it's better to buy (another) algorithm book
Format: PaperbackVerified Purchasefirst 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
-
あるときReviewed in Japan on May 18, 20102.0 out of 5 stars 買わなくてもいいかも
Format: PaperbackVerified Purchase買った後に気がついたのですが、ちょっと検索すればPDF版が手に入ります。
持ち歩くのが重いので結局PDF版を読んでいます(笑)
あとProgramming Challengesがやっているオンラインジャッジはバグっているようです。
11章の1問目、"Is bigger smarter?"の問題ですが正解者が0ということになっています。
私も提出して蹴られました。絶対あっていると思ったのでUVAのオンラインジャッジの方に
提出したら正解でした。バグ報告しようにもサイトのどこにコンタクトがあるのやら・・
UVAのジャッジも今はフォームサブミットに対応しているようですし(本執筆時点では
ソースをメールでおくらないといけないと書いてあった)、ジャッジにはUVAを使った方が
よいでしょう。
英語の本のレビューなのに日本語ですいません











![Computer Networking Bible: [3 in 1] The Complete Crash Course to Effectively Design, Implement and Manage Networks. Including Sections on Security, Performance and Scalability](https://m.media-amazon.com/images/I/41H4YJnxKgL._AC_SR100,100_QL65_.jpg)

