Expand All Collapse All


General
How can I download various input files (such as fair-coin.txt and world.txt) for testing?
Click the Project link at the top of the page. It contains an IntelliJ project, together with various input files, which you can use to develop your program. Even if you don’t use IntelliJ, the zip file contains various sample input files.
I’m not familiar with the command line. How do I get started?
If you installed our custom IntelliJ programming environment, you can access a bash shell from OS X, Windows, or Linux.
How do I access the standard libraries in stdlib.jar?
You must add stdlib.jar to your Java classpath.
Shannon entropy
How do I compute the base-2 logarithm of x?
Unfortunately, Java’s math library does not have such a function. The function Math.log(x) returns the natural logarithm (base e) of x; the function Math.log10(x) returns the base-10 logarithm of x. You can use Math.log(x) / Math.log(2) to get the base-2 logarithm.
How do I print a floating-point number x with 4 digits of precision after the decimal point?
Call StdOut.printf("%.4f\n", x). See the booksite for more details about the formatted printing. Many other programming languages (e.g., C, Python, Matlab, R, Ruby, Go) also support printf for formatted printing, so it’s worth your time to learn the basics.
Checkerboard
How do I set the pen color to blue or light gray?
These are predefined colors. Use StdDraw.setPenColor(StdDraw.BLUE) or StdDraw.setPenColor(StdDraw.LIGHT_GRAY).
Can I draw the background in light gray and explicitly draw only the blue squares?
No. The instructions says to draw all n2 squares, one at a time.
World maps
Can I draw the boundaries as a sequence of line segments instead of a polygon?
No. You must draw each polygon using StdDraw.polygon(), as specified.
My favorite country is not supplied as one of the data files. Why not?
Sorry, please don’t take any offense. A few of the source data files that we used had technical discrepancies, which made converting them into our format more challenging. If you wish to add a country, please send us an input file in the specified format.