Making Interaction Fundamental in Object-oriented CS1: Programming Tools and Curricular Materials to Support Concurrency and Event-driven Programming
Williams College, Williamstown MA
Investigators
Abstract
Computer Science (31) Despite many efforts, the typical introductory course in computer science still does not present the software development process the way modern software is actually implemented. Our approach is to combine an object-first style with such normally advanced topics as animation, concurrency and event-driven programming. The mechanism for doing so is the use of an extensive library of routines which provides an environment in which students solve interesting problems using simple versions of advanced techniques. By gradually reducing the support provided by this library, we introduce students to deeper issues in computer science naturally motivating advanced material. The results of our work include the library which enables animation, concurrency and event-drive programming at the introductory level; a self-contained tutorial for this libary; an extensive suite of sample programs and exercises which make use of this library; and a textbook. Each of these materials will be evaluated at a variety of institutions ranging from college preparatory to highly selective.
View original record on NSF Award Search →