Play SudokuSponsorshipGoogleSyndicationPurchase GamesShop Sudoku
Sudoku Books
Home

Sudoku Books

Programming Sudoku (Technology in Action)

 
 
Programming Sudoku (Technology in Action)
View larger imageEmail a friend

 
 
 
 
 

Programming Sudoku (Technology in Action)

Sudoku is an addictive new puzzle game that is amazingly popular. Sudoku puzzles are 9x9 grids made up of 3x3 sub-grids called regions. Some boxes contain numbers or symbols, which offer clues to the solution. The goal is to fill in the boxes so that each, column, row, and region contains the numbers 1 through 9 exactly once.

This book catches the wave of huge popular demand for Sudoku and offers every developer their favorite approach to any puzzle like Sudoku: how to get a computer to solve it for them, using ingenious artificial intelligence and game theory techniques!

This book is a fun and intriguing read for novice to advanced programmer alike. It uses the Microsoft’s .NET platform as a base, but programmers from any background with an interest in Sudoku will find it interesting, since the core techniques involved will solve Sudoku on any programming platform.

SKU: 

2150788129

In Stock
Availability: Usually ships in 1 business days
List Price: $24.99
Our Price: $18.12 & eligible for FREE Super Saver Shipping on orders over $25.
You Save: $6.87 (27%)

Note: Item may be sold and shipped by another company. Learn more.
Product Details:
Author: Wei-Meng Lee
Paperback: 232 pages
Publisher: Apress
Publication Date: March 17, 2006
Language: English
ISBN: 1590596625
Product Width: 186.0 centimeters
Product Height: 229.0 centimeters
Product Weight: 1.01 pounds
Package Length: 9.1 inches
Package Width: 7.0 inches
Package Height: 0.8 inches
Package Weight: 0.95 pounds
Average Customer Rating: based on 7 reviews
 
 

Customer Reviews:
Average Customer Review:3.5 ( 7 customer reviews )
Write an online review and share your thoughts with other customers.

Most Helpful Customer Reviews

31 of 31 found the following review helpful:

4A decent start, but does not deal with advanced strategies  Mar 31, 2006
By RC Karr
This is a short, straight-forward book that shows the reader how to create a simple sudoku program for Windows. I read this book cover to cover in about 2 hours. It is a very practical introduction to programming a sudoku application in Visual Basic 2005 (I'm not sure what book the previous reviewer is referring to, as this one contains no C or Java code. Any competent C programmer could convert this code easily). The book walks through the creation of an interface, code to enforce the rules of the game (preventing illegal moves), a (limited) set of solving strategies, and an algorithm for creating new puzzles.

The biggest strength of the book is that it is very practical -- you can type in (or download) all the source code and you'll have a running application. Using Visual Basic makes it ideal for the beginner/intermediate programmer (of course you need VB 2005 -- previous versions won't work).

The biggest limitation is that the solver/puzzle generator only uses four basic strategies: Single Candidate (aka Naked Single), Hidden Singles, Matched Pairs (Twins), and Triplets. It also includes a brute force algorithm. The author presents the four strategies as if they represented all of the known solving algorithms. In reality, there are a variety of other, more complex strategies that are incorporated into good sudoku puzzles (a good place to start would be the Sudoku Programmer's Forum - http://www.setbb.com/phpbb/index.php?mforum=sudoku). When the aformentioned strategies fail, the program tries to find a brute force solution. While that may be fine for solving puzzles, it causes trouble when you want to create new puzzles. The puzzles created by the application's "Extremely Difficult" setting are not guaranteed to be unique. That is, puzzles at the other difficulty levels ("easy" through "difficult") each have a unique solution that can be discovered using up to only 4 solving strategies. Puzzles that are "Extremely Difficult" can be solved mostly by the existing (pretty simple) strategies combined with a number of squares that may be solvable by more advanced strategies or just by blind guessing, and they are likely not "True" sudoku puzzles because there is a good chance that they have multiple solutions.

I also have some minor quibbles with the overuse of strings to store game states, but the author does a good job of using them in an efficient fashion. There's also a chapter thrown in at the end describing the rules and some basic strategies for playing kakuro, the newer number puzzle that publishers are hoping will be as popular as sudoku. The chapter has no real relevance in the book, as it does not discuss computer implementions, and contains no particularly useful information.

In all, this is a good start for a moderately experienced VB hobbyist interested in creating a program that generates and solves (and lets users play) sudoku puzzles. The generated puzzles will either be easy to moderate, or will be a mixed bag.

My recommendation to someone who has a moderate level of VB programming experience, but perhaps doesn't know how to go about writing a sudoku program would be to use this book to create the basic program, then go to the Sudoku Programmer's Forum to learn about other strategies that they could implement in the program. If you have a decent understanding of VB and just want to mess with the code, you can download it for free from the publisher's web site at www.apress.com.

7 of 7 found the following review helpful:

5Better than a Starter Kit  May 09, 2006
By Analyst "coconut55"
Microsoft has hung it's hat on 'starter kits' for Visual Basic .Net Express (2005) both as a learning tool and as a starting point for developers. However those who have tried to use them have found the examples to date to be buggy, hard to understand, excessively complicated and almost impossible for beginners to get to work. Sudoku would seem to be an ideal subject as one of these starter kits. However this book, with the downloadable code, is a much better option. The code works right off, and most of the basics are there. It will generate and solve puzzles. The solver uses 4 basic methods, and, if those fail, it goes to brute force.
This is not "Simple Sudoku" [...] That is a very sophisticated creator and solver with many additional functions built in. The program in this book is a junior version of that. However with the clear explanations of the code in this book and growing skills in VB .Net you can easily add extra functionality and solving methods as needed. Use "Simple Sudoku" to learn how to play Sudoku. Use this book and code to learn to program Sudoku.
This book would make an excellent introduction to Visual Basic .Net Express. It covers a number of useful techniques for a beginner. As a teacher, I am always looking for projects which are the right size and which are of interest to students. Not everything is covered in this book, however by adding one or two more projects, say an RSS reader with persistence, you have the basics of a good introductory course.
I recommend this book.

4 of 4 found the following review helpful:

3Good, but could have had more math  Sep 05, 2006
By Michael Stahnke
This book does a good job of helping a person with
even minimal VisualBasic knowledge write what ends up
being an powerful Sudoku generator and solver. I was
able to get through the example program and understand
the source code with a minimal amount of exposure to
VB.

On the downside, a lot of the source in the book seems
to be redundant. Some of the later
examples--particularly the advanced parts of the
solver--seem as though they could have been better
modularized, making the code-writing less time
consuming. The math geek in me was also hoping for a
more in depth analysis of the different solving
algorithms and their various efficiencies.

If you enjoy Sudoku and want to build your own
solving/generation program, but really aren't
concerned with an in depth analysis of algorithms,
this is a good book.

4 of 4 found the following review helpful:

4Programming Sudoku - a good book  Jul 28, 2006
By Brian Webb "Brian"
Programming Sudoku (Technology in Action) (Paperback) by Wei-Meng Lee

This book teaches more than Sudoku, it covers the process of developing game logic development and intelligence.

There are two games covered, Sudoku and Kakuro. Only Sudoku is covered as a step by step process on developing a game generator and solver. Kakuro, has enough information that a standard programmer should be able to build a generator and solver.

The book is both informative and entertaining to read. When I was finished, I was very motivated to build my own variants.

There is quite a bit of resistance to games built with .Net, specially VB.Net. This book does a great job in showing the power of VB.Net as a competitive platform outside of game development.

The discussion on puzzle solving can be applied to any development language.

Where this book has a short coming is that it does not cover other forms of logical puzzle solving. There are plenty of other methods not covered. An appendix of those, what they are, and what the benefits of them are, would have been a nice bonus.

Over all, I liked this book.


1 of 1 found the following review helpful:

5Great intro book!  Nov 02, 2011
By ajk251
Programming Sudoku is a great intro for those looking to get into developing, particularly with Visual Basic. Though the book is dated at this point - 2011, it is still a nice introduction to programming concepts that aren't found in other books, while only focusing on Sudoku. No, it is not a math-laden or algorithm heavy book, but rather a great starting point for more advanced concepts.

See all 7 customer reviews on Amazon.com
 
 
 
 
 
 
 
 
 
Web business powered by Amazon WebStore