CS Departments Benefits
Retention
From its beginning as an academic NSF project, one of the development goals of CodeLab was reduced attrition. CodeLab achieves this by flattening the CS1 learning curve by providing a setting where students can master the syntax and semantics of a programming language. This is clearly having benefits. For example, one instructor reported that six weeks into the term, instead of the usual 30 student withdrawals (out of 150), only 2 had dropped out.
Language Switching
Many departments have a sequence of programming courses in which the language for the introductory course is different from what is used in the Data Structures or Object Oriented Programming course. CodeLab makes it much easier to switch languages without having to devote class time to teaching the fundamentals. Students who have programming experience in one language can quickly get up to speed on a new language by using CodeLab. This allows the instructor to focus on the concepts of Data Structures or Object Oriented Programming, rather than language details..
Confidence of Achievement Level
CodeLab certifies that the student has correctly written code that solves a stated problem. This provides an additional measure of confidence that students coming out of an introductory class have obtained mastery of the topics covered by CodeLab. Instructors in succeeding courses can assume this competence and spend less time reviewing basic concepts and more time teaching the more complicated programming ideas that depend on this base level of mastery.