The Java program in TimeStringConcat.java calculates the time is takes to build up a String of length n by repeatedly concatenating one character at a time to the String. The program takes 3 command-line parameters: the value n for the size of Strings to construct, the number of times to repeat the experiment to improve the accuracy of the timings, and a number, 0 or 1, which turns off or on a verbose output mode. To compile and run the program at the Unix command line (or a DOS prompt, or a Mac Terminal window), one would issue the command javac TimeStringConcat.java to compile to TimeStringConcat.class, then run the program with java TimeStringConcat 128 1000 0 (for example) to run the program for n=128, repeat 1000 times, and verbose mode off. When verbose mode is on, a few lines of output are printed about the timings computed. When verbose mode is off, it simply prints the value of n followed by the computed average time (in nanoseconds) for one instance of the String creation. The Bash script run_timings.sh runs the program 100 times: 10 each with values of n for all powers of 2 from 16 to 8192. If one wanted to capture the output of all 100 runs to a file "timings.out", the command ./run_timings.sh > timings.out would do the job, and would produce a file with 100 lines, suitable for postprocessing into appropriate tabular or graphical forms.