<canvas width="600" height="400"></canvas>
<script>
var tela = document.querySelector('canvas');
var pincel = tela.getContext('2d');
function desenhaQuadrado (x, y, cor) {
pincel.fillStyle = cor;
pincel.fillRect(x, y, 100, 100);
pincel.strokeStyle = 'black';
pincel.strokeRect(x, y, 100, 100)
}
for( var x = 0; x < 300; x = x + 100 ) {
desenhaQuadrado(x, 150, 'green');
}
pincel.strokeRect(300, 150, 100, 100);
</script>
Basicamente eu utilizei o método da repetição "for" para criar os quadrados e no final apenas criei um quadrado vazio utilizando as bordas do stroke. Espero ter ajudado :3 (desculpe a baixa qualidade)