Learn More
We describe an approach to personalization that emphasizes the "client side." We posit the need for a highly individualistic user context that resides on the client machine. This context and the system that exploits it can then be used in conjunction with a broad range of search services, from highly specialized and structured digital libraries to the(More)
To address the critical shortage of students entering computing fields, as well as broaden participation in computing, we present a summer and afterschool program in Interactive Journalism through which middle school students and their teachers develop an appreciation for and competence in computational thinking. We report on the outcomes of our first year(More)
This paper describes how to incorporate user interactivity and graphics into a first course in computer science. Problems and alternative solutions are discussed. A Java package called simpleIO that we developed is presented. It allows novice programmers to build simple GUI -based programs while maintaining good design principles. The package includes(More)
Teaching a new programming language in CS1 requires the instructor to make several important decisions regarding sequencing of topics. In teaching Java, the basic decisions center around how to perform input and output, when to teach the AWT (Abstract Window Toolkit) and threads, whether to begin with applets or applications, and how much detail about(More)
To broaden participation in computing we need to look beyond traditional domains of inquiry and expertise. We present results from a demonstration project in which interactive journalism was used to infuse computational thinking into the standard curriculum and regular classroom experience at a middle school with a diverse population. Outcomes indicate that(More)
We address the problems of effectively teaching introductory programming in the multi-media age. We provide a short history on user interfaces, contrasting the line o~iented, turn taking dialogue model with the event driven, desktop model. We summarize the major conceptual outcomes of this shift: the event model itself, the object-oriented paradigm, and the(More)