I think it defines a board for a puzzle, what it does as far as I can see is make a numRows times numCols matrix of characters. And I guess the puzzle is then to do something with the characters on the board. But "puzzle", the variable in the constructor, seems to be undefined, so I think this code needs some more work.