Icon is a new programming language that includes a goal-directed expression evaluation mechanism. This mechanism is based on generators-expressions that are capable of producing more than one value. If the value produced by a generator does not lead to a successful result, the generator is automatically activated for an alternate value. Generators form an… (More)
This paper describes the development and initial evaluation of a new course ``Introduction to Computational Thinking'' taken by science majors to fulfill a college computing requirement. The course was developed by computer science faculty in collaboration with science faculty and it focuses on the role of computing and computational principles in… (More)
As computational thinking becomes a fundamental skill for the 21st century, K-12 teachers should be exposed to computing principles. This paper describes the implementation and evaluation of a computational thinking module in a required course for elementary and secondary education majors. We summarize the results from open-ended and multiple-choice… (More)
There are many practical situations in which, by policy, software is supposed to run on a specific hardware instance. This is not only useful to combat piracy, but also in national security situations, such as a battlefield loss of critical technology, where it is paramount that an enemy be unable to rehost the system on a different set of (possibly… (More)
Computational thinking (CT) is broadly defined as the mental activity for abstracting problems and formulating solutions that can be automated. In an increasingly information-based society, CT is becoming an essential skill for everyone. To ensure that students develop this ability at the K-12 level, it is important to provide teachers with an adequate… (More)
As a user's computing environment grows from a single time-shared host to a network of specialized and general-purpose machines, the capability for the user to access all of these resources in a consistent and transparent manner becomes desirable. Instead of viewing commands as binary files, we expect the user to view commands as services provided by… (More)
A multipronged approach to preparing computer science teachers is critical to success.
This workshop will provide CS educators with tools to conduct educational research. Primary objectives of this workshop are: (1) learn basic principles of educational research; (2) learn about educational research designs: qualitative vs. quantitative; experimental vs. quasi-experimental; case studies, survey; and (3) to practice designing research. This… (More)