Practice + Paradigms: Experience with a First-Year Programming Workshop Philip M. Dorin Department of Electrical Engineering and Computer Science Loyola MaP/mount University Los Angeles, California 90045-2699 pdorin@popmail.lmu.edu Background hroughout the 1970's and early 1980's, the computer science sequence at Loyola Marymount University began with a traditional course in programming - - one semester using, for example, Pascal - - followed by a course in data structures and algorithms. Each course had a lecture-type format; assignments involved the design and implementation of self-contained programs, in the first course, and abstract data types (packages) plus programs in the second course. Instructors had almost no direct involvement in the student's programming process; rather, the instructor always graded a finished program, with little effect on whether the student used sensible structures, or careful design methodology, or, at a more mundane level, whether the student indented statements and made liberal use of comments. About ten years ago we inserted a new course between the two: a programming workshop, conducted in the lab, one student per workstation, with the teacher circulating continually among the dozen or so students, offering real-time instruction. Teachers in the subsequent data structures course have reported a qualitative improvement in
/lp/association-for-computing-machinery/practice-paradigms-experience-with-a-first-year-programming-workshop-XJwZODsWZz