Columns and rows values

I wish to know if the given coordinates (rows and columns) are already exactly in the machine arithmetic (starting from 0) or are they given as we humans read numbers (starting from 1). That is should we always subtract one from them or should we exactly use those coordinates.

Also is this correct: CanAddPiece (piece, 1,0) → true

Yes, the given coordinates are starting at 0, but the given widths and heights are not the maximal coordinates but how many fields the row or the column has.

So yes, canAddPiece(piece, 1, 0) is a valid call.