It's all writing: experience using rewriting to learn in introductory computer science

Writing computer programs is writing to communicate with a human and a machine audience. This fact is often lost on students in introductory computer science courses. At St. Lawrence University, an effort has been made to use techniques developed as part of the writing across the curriculum movement such as portfolio evaluation and multiple drafts of written work to improve student outcomes in introductory computer science courses. Motivation and evaluation of the St. Lawrence experience is reported.