Back to the Future

Communicating with Computers and Programmers in Introductory Computer Science

Brian C. Ladd

Department of Mathematics, Computer Science, and Statistics
St. Lawrence University
http://it.stlawu.edu/~blad/

It's All Writing

Writing Across the CS Curriculum

Introduction

The Problem

Related Work

This section focuses on the use of writing techniques in computer science rather than on writing techniques.

Portfolios: Overview

Portfolios: Assignment

At least as important as the presentation of your work is the short (1-2 page) essay discussing trends in your work. The purpose of this essay is two-fold: to make you to go back and review all of your work and to give you a voice in how it is viewed as a whole. Make sure your essay discusses the work and what you learned by doing it. This is your opportunity to explain why you think some particular work is good or bad. It is not enough to say "98% says this work is good." You must evaluate your work individually and as a whole.

...Yes, it is all writing and this is your chance, after some small remove, to go back and read your work, looking at it with a critical eye to discuss what went well, what didn't, and what you should be writing in the future.

Portfolios: Assessment

Portfolios: Student Response

"I'm just used to writing code that generally the only other people reading are myself, or people who are in contact with me, so I can answer any questions they might have. [The lack of comments] is something I will have to work on."

- James Tallett, 2004

Refactoring: Overview & Assignment

Refactoring is the process of rewriting written material to improve its readability or structure, with the explicit purpose of keeping its meaning or behavior.

Wikipedia(Refactoring)

Refactoring: Assessment

Refactoring: Student Response

"My grades were almost as high in the end of the semester amidst very complicated programs as they were in the very beginning, in which we were just learning elementary concepts. Although, granted, the frequency of rewrites did increase."

- Lucas Mihuta, 2001

"Being able to do re-writes of the programs was very helpful as well because it gave you the opportunity to really see what you did wrong and how to do it correctly."

- Anonymous Student Evaluation, 2002

Phases: Overview and Assignment

Phases: Assessment

Phases: Student Response

"Very challenging assignment with learning C++. Need to have longer phases, fewer non-project assignments, or both."

- Anonymous Student Evaluation, 2004

1-M Designs: Overview

1-M Designs: Assignment

Supernatural Horror, Inc.

The old mansion where our game takes place has several different types of inhabitants including guard dogs, ghosts, and vampires.

Attributes include strength, health, and agility.

In one (1) minute, sketch out a simple class structure for the given Critters; make note of what methods should be included to support combat.

1-M Designs: Solutions

1-M Designs: Assessment

Conclusion

References

Estell, J. "Programming portfolios on the Web: and interactive approach," Journal of Computing in Small Colleges, Volume 16, Number 1. Consortium for Computing Sciences in Colleges. 2000.

Hunt, A and Thomas, D. The Pragmatic Programmer. Addison-Wesley. 1999.

Ladd, B. "It's all writing: experience using rewriting to learn in introductory computer science," Journal of Computing in Small Colleges, Volume 18, Number 5. Consortium for Computing Sciences in Colleges. 2003.

Van Wyk, C. "Programming as writing: using portfolios" SIGCSE Bulletin. Volume 27, Number 4. ACM Press, New York, NY, USA. 1995. http://doi.acm.org/10.1145/216511.216533

Young, A. Teaching Writing Across the Curriculum, 3E. Prentice Hall. 1999.