Teaching introductory programming today presents considerable challenges, which traditional techniques do not properly address. Students start with a wide variety of backgrounds a...
Plagiarism of material from the Internet is a widespread and growing problem. Computer science students, and those in other science and engineering courses, can sometimes get away...
Experimentation has shown that in-class educational technologies, by permitting anonymous, authored participation, can dramatically alter student communications in the classroom. ...
Tamara Denning, William G. Griswold, Beth Simon, M...
We argue that the failure to separate the concerns in CS1 is the leading cause of difficulty in teaching OOP in the first year. We show how the concerns can be detangled and prese...
Visualization and interactivity are valuable active learning techniques that can improve mastery of difficult concepts. In this paper we describe jFAST, an easy-to-use graphical s...
Case-based analysis is a bottom-up methodology for ethical reasoning. In a teaching environment, it can be a useful alternative to top-down methods, such as Kantianism, utilitaria...
Target tracking is one of the most important applications of wireless sensor networks. Optimized computation and energy dissipation are critical requirements to maximize the lifet...
Undergraduate and master’s students enrolled in a programming language paradigms class are given the assignment to design a new programming language paradigm. The students are a...
Windows Media Player user interface “skin” creation has proven an extremely effective method to reinforce practical object oriented programming techniques. Skin creation motiv...