A Computer Science Laboratory for Teaching and Research