Pre programming: evaluation of workspace types and workspace alternatives in educational settings