• Publications
  • Influence
Constructivism in computer science education
Constructivism is a theory of learning which claims that students construct knowledge rather than merely receive and store knowledge transmitted by the teacher. Expand
  • 531
  • 56
  • PDF
The temporal logic of branching time
A temporal logic is defined which contains both linear and branching operators. Expand
  • 548
  • 39
Principles of the spin model checker
The Spin model checker is not only a widely used professional tool but it is also a superb tool for teaching important concepts of computer science such as verification, concurrency and nondeterminism.Principles of Spin is an introductory book, the only requirement is a background in programming. Expand
  • 202
  • 24
Learning computer science concepts with scratch
Scratch is a visual programming environment that is widely used by young people. Expand
  • 293
  • 23
Principles of concurrent and distributed programming
  • M. Ben-Ari
  • Computer Science
  • PHI Series in computer science
  • 9 December 2005
I CONCURRENT PROGRAMMING: 1. The Concurrent Programming Abstraction. 2. the Problem of Dining Philosophers. 3. The Byzantine Generals Problem. 4. The Mutal Exclusion Problem. 5. Biblography. 6. Semaphores. 7. Monitors. 8. Index. 9. occam. 10. Linda. Expand
  • 415
  • 18
  • PDF
A long-term investigation of the comprehension of OOP concepts by novices
This article describes research on the learning of object-oriented programming (OOP) by novices, using Java and BlueJ. Expand
  • 126
  • 16
  • PDF
Visualizing programs with Jeliot 3
We present a program visualization tool called Jeliot 3 that is designed to aid novice students to learn procedural and object oriented programming. Expand
  • 248
  • 15
  • PDF
The Jeliot 2000 program animation system
Jeliot 2000 is a program animation system intended for teaching introductory computer science to high school students. Expand
  • 204
  • 13
Mathematical Logic for Computer Science
Mathematical Logic for Computer Science is a mathematics textbook with theorems and proofs, but the choice of topics has been guided by the needs of students of computer science. Expand
  • 101
  • 9
On understanding the statics and dynamics of object-oriented programs
This paper describes research into the influence of using static (class and object) visualization on understanding program flow in object-oriented programming. Expand
  • 59
  • 9