Hands-on labs without computers

Often in teaching an introductory computer science course for non-majors, a primary focus on building programming skills is neither practical nor effective. Many instructors choose a breadth-first approach focusing on building problem solving skills and surveying computer science. This paper argues that conducting hands-on labs where students work together to physically implement algorithms is an effective supplement for programming labs on the computer. We present lab examples and summarize our experiences.