VLDB 2026 Research / reviewers in the wild / expert
Mordechai Ben-Ari
dblp:b/MBenAri · also Moti Ben-Ari
· DBLP profile ↗
54ranked-venue papers
31as first author
0since 2021 · last 2015
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Human-computer interaction and ubiquitous computing · 34 · 15 first-authorTheory of computation · 9 · 8 first-authorApplied, interdisciplinary, general and emerging computing · 5 · 2 first-authorSoftware engineering, systems software and programming languages · 4 · 4 first-authorSystems, architecture and hardware · 2 · 2 first-authorArtificial intelligence and machine learning · 1 · 1 first-authorDatabases, data management, data science and information retrieval · 1 · 1 first-author
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Theoretical computer science
4 papers |
Logic in computer science · 67% Automated reasoning and model checking · 17% Algorithms and data structures · 13% | |
| Software engineering, system software, and programming languages
2 papers |
Runtime systems and virtual machines · 82% Concurrent programming · 18% | |
| Computer architecture, parallel and distributed computing, and storage systems
1 paper |
Storage systems · 100% |
Topics — the 19 heaviest of 19, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Runtime systems and virtual machines
garbage collection |
0.0 | 2 | 1984 | Algorithms for On-the-fly Garbage Collection · ACM Trans. Program. Lang. Syst. 1984 On-the-Fly Garbage Collection: New Algorithms Inspired by Program Proofs · ICALP 1982 |
Runtime systems and virtual machines › garbage collection
on-the-fly garbage collection |
0.0 | 2 | 1984 | Algorithms for On-the-fly Garbage Collection · ACM Trans. Program. Lang. Syst. 1984 On-the-Fly Garbage Collection: New Algorithms Inspired by Program Proofs · ICALP 1982 |
Concurrent programming
concurrent algorithms |
0.0 | 1 | 1984 | Algorithms for On-the-fly Garbage Collection · ACM Trans. Program. Lang. Syst. 1984 |
Runtime systems and virtual machines › garbage collection
incremental garbage collection |
0.0 | 1 | 1984 | Algorithms for On-the-fly Garbage Collection · ACM Trans. Program. Lang. Syst. 1984 |
Logic in computer science › temporal logic
branching-time temporal logic |
0.0 | 1 | 1981 | The Temporal Logic of Branching Time · POPL 1981 |
Automated reasoning and model checking
decision procedures |
0.0 | 1 | 1981 | The Temporal Logic of Branching Time · POPL 1981 |
Logic in computer science
finite model theory |
0.0 | 1 | 1981 | Finite Models for Deterministic Propositional Dynamic Logic · ICALP 1981 |
Logic in computer science
modal logic |
0.0 | 1 | 1981 | Finite Models for Deterministic Propositional Dynamic Logic · ICALP 1981 |
Logic in computer science
proof systems |
0.0 | 1 | 1981 | The Temporal Logic of Branching Time · POPL 1981 |
Logic in computer science
proof theory |
0.0 | 1 | 1981 | The Temporal Logic of Branching Time · POPL 1981 |
Logic in computer science › modal logic › dynamic logic
propositional dynamic logic |
0.0 | 1 | 1981 | Finite Models for Deterministic Propositional Dynamic Logic · ICALP 1981 |
Automated reasoning and model checking
satisfiability |
0.0 | 1 | 1981 | The Temporal Logic of Branching Time · POPL 1981 |
Logic in computer science › proof systems
tableau method |
0.0 | 1 | 1981 | The Temporal Logic of Branching Time · POPL 1981 |
Logic in computer science
temporal logic |
0.0 | 1 | 1981 | The Temporal Logic of Branching Time · POPL 1981 |
Storage systems › out-of-core computation
matrix transposition |
0.0 | 1 | 1979 | On Transposing Large 2n × 2n Matrices · IEEE Trans. Computers 1979 |
Storage systems › storage hierarchy
secondary storage |
0.0 | 1 | 1979 | On Transposing Large 2n × 2n Matrices · IEEE Trans. Computers 1979 |
Algorithms and data structures › numerical linear algebra
matrix transposition |
0.0 | 1 | 1979 | On Transposing Large 2n × 2n Matrices · IEEE Trans. Computers 1979 |
Algorithms and data structures
numerical linear algebra |
0.0 | 1 | 1979 | On Transposing Large 2n × 2n Matrices · IEEE Trans. Computers 1979 |
Graph algorithms and graph theory › graph algorithms
graph marking algorithms |
0.0 | 1 | 1984 | Algorithms for On-the-fly Garbage Collection · ACM Trans. Program. Lang. Syst. 1984 |
Methods — techniques the papers use, named apart from their topics
correctness proof · 0.0concurrent marking · 0.0temporal semantics · 0.0tableaux · 0.0i/o time analysis · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2015 | In Defense of ProgrammingabstractThe activity of programming is often seen to be the epitome of all that is boring in computer science. The response of some educators is to attempt to show that programming is not the only and not even the primary activity of those engaged in CS. There is design, management, interaction with users, and so on. I would like to defend the (perhaps controversial) position that programming is the fundamental activity of CS and therefore shouldn't be swept under the rug. The position is based upon a broad view of what it means to program, so that whatever one's job title, almost everyone is programming, almost all the time. Furthermore, since the program is where "the rubber meets the road" (from a jingle used in ads for the Firestone tire company), any CS activity must be carried out with a primary focus on its contribution to the fitness of the end-product, the program. Finally, to carry out higher-level activities such as marketing and management, one must have extensive programming experience in order to successfully negotiate feasible specifications, deadlines and budgets for software development. The talk will conclude with the curricular consequences that can be drawn from this position. Mordechai Ben-Ari |
ITiCSE | 1 |
| 2015 | Enhancing Robot Programming with Visual Feedback and Augmented RealityabstractIn our previous research, we showed that students using the educational robot Thymio and its visual programming environment were able to learn the important computer-science concept of event-handling. This paper extends that work by integrating augmented reality (AR) into the activities. Students used a tablet that displays in real time the event executed on the robot. The event is overlaid on the tablet over the image from a camera, which shows the location of the robot when the event was executed. In addition, visual feedback (FB) was implemented in the software. We developed a novel video questionnaire to investigate the performance of the students on robotics tasks. Data were collected comparing four groups: AR+FB, AR+non-FB, non-AR+FB, non-AR+non-FB. The results showed that students receiving feedback made significantly fewer errors on the tasks. Those using AR made fewer errors, but this improvement was not significant, although their performance improved. Technical problems with the AR hardware and software showed where improvements are needed. Stéphane Magnenat, Mordechai Ben-Ari, Severin Klingler, Robert W. Sumner |
ITiCSE | 2 |
| 2014 | Teaching a core CS concept through roboticsabstractWe implemented single-session workshops using the Thymio-II--a small, self-contained robot designed for young students, and VPL--a graphical software development environment based upon event handling. Our goal was to investigate if the students could learn this core computer science concept while enjoying themselves in the robotics context. A visual questionnaire was developed based upon the combined Bloom and SOLO taxonomies, although it proved difficult to construct a questionnaire appropriate for young students. We found that--despite the short duration of the workshop--all but the youngest students achieved the cognitive level of Unistructural Understanding, while some students achieved higher levels of Unistructural Applying. and Multistructural Understanding and Applying. Stéphane Magnenat, Jiwon Shin, Fanny Riedo, Roland Siegwart, Mordechai Ben-Ari |
ITiCSE | 5 |
| 2014 | The effect of computer science on the learning of computational physicsabstractComputational science is a growing scientific field that involves the design of computational models of scientific phenomena. This field combines science, computer-science (CS), and applied mathematics in order to solve complex scientific problems. In the past few years computational science is being taught in secondary schools, leading researchers to wonder about the effect of combining disciplines on students' learning. The current research is conducted in the context of a high school computational science course and investigates: the physics conceptual learning that the students achieve; the learning processes the students undergo and the effect of CS on those; the problem-solving abilities they acquire and the effect of CS on those. Findings indicate that students' conceptual understanding of physics and their problem solving abilities were enhanced and significantly influenced by CS, which served as a reflective tool representing the students' physics knowledge. Rivka Taub, Mordechai Ben-Ari, Michal Armoni |
ITiCSE | 2 |
| 2014 | From Scratch to "Real" ProgrammingabstractComputer science (CS) activities for young students are widely used, particularly visual programming environments. We investigated the use of the Scratch environment for teaching CS concepts to middle school students. In a previous article [Meerbaum-Salant et al. 2013], we reported on the extent to which the CS concepts were successfully learned. In this article, we look at the transition from studying CS with the visual Scratch environment in middle school to studying CS with a professional textual programming language (C# or Java) in secondary school. We found that the programming knowledge and experience of students who had learned Scratch greatly facilitated learning the more advanced material in secondary school: less time was needed to learn new topics, there were fewer learning difficulties, and they achieved higher cognitive levels of understanding of most concepts (although at the end of the teaching process, there were no significant differences in achievements compared to students who had not studied Scratch). Furthermore, there was increased enrollment in CS classes, and students were observed to display higher levels of motivation and self-efficacy. This research justifies teaching CS in general and visual programming in particular in middle schools. Michal Armoni, Orni Meerbaum-Salant, Mordechai Ben-Ari |
ACM Trans. Comput. Educ. | 3 |
| 2013 | LearnSAT: A SAT Solver for Education
Mordechai Ben-Ari |
SAT | 1 |
| 2013 | Introduction to the special issue on concurrent and parallel programmingabstractMuch of computing education research is devoted to introductory computer science. The articles in this special issue look at the other end of the spectrum: learning advanced subjects, here, concurrent, parallel and distributed computation. The articles present four approaches for teaching these subjects using infra-structure that is feasible for educational institutions to acquire: MapReduce in a cloud, remote computing on a multicore system, a network of gaming consoles, and software modeling using formal specification. Mordechai Ben-Ari, Dan Garcia 0001, Tom Murphy |
ACM Trans. Comput. Educ. | 1 |
| 2012 | CS Unplugged and Middle-School Students' Views, Attitudes, and Intentions Regarding CSabstractMany students hold incorrect ideas and negative attitudes about computer science (CS). In order to address these difficulties, a series of learning activities called Computer Science Unplugged was developed by Tim Bell and his colleagues. These activities expose young people to central concepts in CS in an entertaining way without requiring a computer. The CS Unplugged activities have become more and more popular among CS educators and several activities are recommended in the ACM K-12 curriculum for elementary schools. CS Unplugged is used worldwide and has been translated into many languages. We examined the effect of the CS Unplugged activities on middle-school students’ ideas about CS and their desire to consider and study it in high school. The results indicate that following the activities the ideas of the students on what CS is about were partially improved, but their desire to study CS lessened. In order to provide possible explanations to these results, we analyzed the CS Unplugged activities to determine to what extent the objectives of CS Unplugged were addressed in the activities. In addition, we checked whether the activities were designed according to constructivist principles and whether they were explicitly linked to central concepts in CS. We found that only some of the objectives were addressed in the activities, that the activities do not engage with the students’ prior knowledge and that most of the activities are not explicitly linked to central concepts in CS. We offer suggestions for modifying the CS Unplugged activities so that they will be more likely to achieve their objectives. Rivka Taub, Michal Armoni, Mordechai Ben-Ari |
ACM Trans. Comput. Educ. | 3 |
| 2011 | Habits of programming in scratchabstractVisual programming environments are widely used to introduce young people to computer science and programming; in particular, they encourage learning by exploration. During our research on teaching and learning computer science concepts with Scratch, we discovered that Scratch engenders certain habits of programming: (a) a totally bottom-up development process that starts with the individual Scratch blocks, and (b) a tendency to extremely fine-grained programming. Both these behaviors are at odds with accepted practice in computer science that encourages one: (a) to start by designing an algorithm to solve a problem, and (b) to use programming constructs to cleanly structure programs. Our results raise the question of whether exploratory learning with a visual programming environment might actually be detrimental to more advanced study. Orni Meerbaum-Salant, Michal Armoni, Mordechai Ben-Ari |
ITiCSE | 3 |
| 2011 | SyntaxTrain: relieving the pain of learning syntaxabstractSyntaxTrain parses a Java program and displays the syntax diagrams associated with a syntax error. Andreas Leon Aagaard Moth, Jørgen Villadsen, Mordechai Ben-Ari |
ITiCSE | 3 |
| 2010 | Non-myths about programmingabstractThe decline in enrollment in computer science (CS) is often attributed to "myths" about CS: programming is boring, you have to sit in front of a computer all day, you work alone, jobs are being outsourced, etc. I believe that, by and large, these "myths" are true. Life is just like that for most people and these "myths" are true about almost all occupations, even prestigious one. Teachers, parents are counselors should be telling young people the facts of life, in particular, that CS-related occupations are among the "least worst" in these aspects. The alleged "myths" have led to a proliferation of approaches designed to make introductory CS course "fun." These approaches can be justified if they lead to improved learning by the students, but we must be careful not to plant the false idea that they necessarily correspond to real life. Mordechai Ben-Ari |
ICER | 1 |
| 2010 | Learning computer science concepts with scratchabstractScratch is a visual programming environment that is widely used by young people. We investigated if Scratch can be used to teach concepts of computer science. We developed new learning materials for middle-school students that were designed according to the constructionist philosophy of Scratch and evaluated them in two schools. The classes were normal classes, not extracurricular activities whose participants are self-selected. Questionnaires and a test were constructed based upon a novel combination of the Revised Bloom Taxonomy and the SOLO taxonomy. These quantitative instruments were augmented with a qualitative analysis of observations within the classes. The results showed that in general students could successfully learn important concepts of computer science, although there were some problems with initialization, variables and concurrency; these problems can be overcome by modifications to the teaching process. Orni Meerbaum-Salant, Michal Armoni, Mordechai Ben-Ari |
ICER | 3 |
| 2009 | The effect of CS unplugged on middle-school students' views of CSabstractMany students hold incorrect views of what computer science (CS) is, and they have negative attitudes towards the field. In order to address these difficulties, a series of learning activities called Computer Science Unplugged was developed by Bell et al. [3]. These activities expose young people to central concepts in CS in an entertaining way, without requiring a computer. Using questionnaires and interviews, we examined the effect of the activities on middle-school students' views of CS, specifically, on their views of: (a) the nature of CS; (b) the characteristics of computer scientists and work in CS; (c) the variety of employment in CS. The results indicate that 'although the students generally understood what CS is' they perceived the computer as the essence of CS and not primarily as a tool, contrary to the intention of the CS Unplugged activities. We suggest additions to the activities intended to increase the change in the views of CS that students have. Rivka Taub, Mordechai Ben-Ari, Michal Armoni |
ITiCSE | 2 |
| 2009 | Extending the Engagement Taxonomy: Software Visualization and Collaborative LearningabstractAs collaborative learning in general, and pair programming in particular, has become widely adopted in computer science education, so has the use of pedagogical visualization tools for facilitating collaboration. However, there is little theory on collaborative learning with visualization, and few studies on their effect on each other. We build on the concept of the engagement taxonomy and extend it to classify finer variations in the engagement that result from the use of a visualization tool. We analyze the applicability of the taxonomy to the description of the differences in the collaboration process when visualization is used. Our hypothesis is that increasing the level of engagement between learners and the visualization tool results in a higher positive impact of the visualization on the collaboration process. This article describes an empirical investigation designed to test the hypothesis. The results provide support for our extended engagement taxonomy and hypothesis by showing that the collaborative activities of the students and the engagement levels are correlated. Niko Myller, Roman Bednarik, Erkki Sutinen, Mordechai Ben-Ari |
ACM Trans. Comput. Educ. | 4 |
| 2008 | Perceived behavior control and its influence on the adoption of software toolsabstractAnimation systems-software tools that show a dynamic view of the execution of a program-can help novices improve their learning of programming and facilitate teaching. However, the use of such visualization tools is not as widespread as one would expect. This paper presents the results of a study of the attitudes that teachers possess on the use of the Jeliot animation system as a pedagogical tool. The results show that in spite of the fact that computer science teachers have positive behavioral beliefs about the use of animation systems in their classrooms, most of them feel a low level of perceived behavior control, and this can explain the low rate of using such tools in practice. We conclude that developers and educators should give attention to control issues relevant to the tools they develop and use. Ronit Ben-Bassat Levy, Mordechai Ben-Ari |
ITiCSE | 2 |
| 2008 | Teaching students to think nondeterministicallyabstractNondeterminism is a fundamental concept of computer science. However, since it is a very abstract concept, teaching and learning nondeterminism is difficult. In this paper we focus on one aspect of the teaching and learning processes of nondeterminism: the extent to which undergraduate students of computer science perceive that nondeterministic automata exhibit nondeterministic behavior, that is, they are unpredictable and inconsistent. First we show that students tend to think of nondeterministic automata as consistent machines; then we show that an explicit intervention can significantly affect students' mental models of nondeterministic automata in the direction of improving their perception of nondeterministic behavior. Michal Armoni, Noa Lewenstein, Mordechai Ben-Ari |
SIGCSE | 3 |
| 2007 | Teaching concurrency and nondeterminism with spinabstractThe tutorial will familiarize the participants with the use of the Spin model checker in teaching concepts such as concurrency, verification and nondeterminism. They will also learn to use pedagogical software tools that I built based upon Spin: the jSpin environment for developing and verifying concurrent programs; SpinSpider, a tool for generating graphical representations of state diagrams of concurrent programs; VN, a tool for "experiencing" the nondeterminism of finite automata. Mordechai Ben-Ari |
ITiCSE | 1 |
| 2007 | We work so hard and they don't use it: acceptance of software tools by teachersabstractAnimation systems-software tools that can show a dynamic view of the execution of a program-were designed to help novices improve their understanding and to help teachers facilitate learning. Preliminary studies on the effectiveness of animation systems on the understanding of students have shown encouraging results. Nevertheless, the use of animation system is not very widespread. This paper presents the results of a phenomenographic study designed to describe the different ways that teachers experience the use of an animation system as a pedagogical tool. The results suggest that increased acceptance of such tools by teachers depends on integrating the tools with other learning materials and on addressing the role of the teacher in the use of software by the students. Ronit Ben-Bassat Levy, Mordechai Ben-Ari |
ITiCSE | 2 |
| 2006 | Affective effects of program visualizationabstractDevelopers of program visualization (PV) systems generally claim positive affective effects of PV usage such as increased motivation. This work attempts to characterize and measure these effects. The methodology is based on video analysis of classroom activity for behavior patterns that are associated with uncooperative attitude and attention loss. These patterns are correlated with the different learning and teaching activities that occur. The results show a near-total reduction in "bad" behavior while using PV, supporting the positive affective effects claimed for PV. Gil Ebel, Mordechai Ben-Ari |
ICER | 2 |
| 2006 | Conceptual models of software artifactsabstractAccording to constructivism, learning takes place by constructing cognitive structures based upon current, perhaps naive, knowledge and new experiences. In the case Mordechai Ben-Ari, Tzippora Yeshno |
Interact. Comput. | 1 |
| 2005 | The concorde doesn't fly anymoreabstractWhile computing technology has undoubtedly changed the world in which we live, the changes have been exaggerated. Talk of a hi-tech internet-driven revolution during the last decade is inaccurate from a historical perspective: (a) It belittles previous technological achievements; for example, the landings on the moon between 1969 and 1972 were achieved with less computing capability than a PDA has today. (b) So much of the "new" technology dates back thirty years or more; for example, how many of our students know when the first email was sent? This loss of historical perspective has led to demands for an artifact-driven curriculum that I believe is inadequate for the education of future computer scientists and computational engineers. (The latter is a new term I wish to propose for people engaged in the scientifically-based design and construction of systems that perform computations. It is linguistically modeled on the terms mechanical and electrical engineer, and is intended to take the place of the term software engineer.) A comparison of the CC2001 curriculum with the curriculum of a traditional, "non-revolutionary" engineering discipline points to what I believe the future of CS education should be. Mordechai Ben-Ari |
SIGCSE | 1 |
| 2005 | On understanding the statics and dynamics of object-oriented programsabstractThis paper describes research into the influence of using static (class and object) visualization on understanding program flow in object-oriented programming. We found that the advantages of using the static visualization in the first stages of learning could become disadvantages in the advanced stages. The teacher must be aware of these pitfalls and plan the learning sequence accordingly. We think that the BlueJ learning environment that we used should be augmented with dynamic visualization so that students can coordinate the static and dynamic aspects of object-oriented programs. Noa Ragonis, Mordechai Ben-Ari |
SIGCSE | 2 |
| 2005 | Computer architecture and mental modelsabstractThe EasyCPU visualization environment was developed for teaching computer architecture to novice students of computer science. During the development, the process of choosing the appropriate conceptual model of the computer for the visualization motivated research on the mental models that arise in the students as they learn. These mental models come from attempts by the students to make sense of the conceptual models presented to them by the software tool and their learning materials (textbook and exercises). The research findings support the view that the visualization was critical in enabling the construction of a viable mental model, a process that did not occur from textbook learning alone, because for the majority of students, their mental models were based upon their end-user experience rather than on the theoretical learning. Cecile Yehezkel, Mordechai Ben-Ari, Tommy Dreyfus |
SIGCSE | 2 |
| 2004 | Visualizing programs with Jeliot 3abstractWe present a program visualization tool called Jeliot 3 that is designed to aid novice students to learn procedural and object oriented programming. The key feature of Jeliot is the fully or semi-automatic visualization of the data and control flows. The development process of Jeliot has been research-oriented, meaning that all the different versions have had their own research agenda rising from the design of the previous version and their empirical evaluations. In this process, the user interface and visualization has evolved to better suit the targeted audience, which in the case of Jeliot 3, is novice programmers. In this paper we explain the model for the system and introduce the features of the user interface and visualization engine. Moreover, we have developed an intermediate language that is used to decouple the interpretation of the program from its visualization. This has led to a modular design that permits both internal and external extensibility. Andrés Moreno, Niko Myller, Erkki Sutinen, Mordechai Ben-Ari |
AVI | 4 |
| 2004 | A suite of tools for teaching concurrencyabstractThis poster describes a suite of new or improved tools for teaching concurrent and distributed computation. The tools are written in Java for portability and are freely available at the address http://stwww.weizmann.ac.il/g-cs/~benari/software.htm, under the GNU General Public License. (Some tools invoke other programs which have different licensing arrangements.) Mordechai Ben-Ari |
ITiCSE | 1 |
| 2004 | What do we mean by theoretically sound research in computer science education?abstractWith our interest to improve our education in computer science, an understanding of how students learn about CS concepts, how different concepts are understood, as well as the conditions for learning, become important issues. A better understanding of our students and their learning gives us strong tool in our efforts to develop teaching. There is an increasing awareness of the usefulness of theoretically sound research approaches: it opens for generalisations of results, it invites comparison between researchers, methods and results, and at the same time it makes the limits of the research visible. As examples on initiatives that have lately been taken to promote conscious use of relevant research approaches, can be mentioned the bootstrapping project [13], the special issue on import and export of Computer Science Education (to appear), as well as papers offering overviews of the current use of certain approaches ([4], [8]) and attempts to verbalize models for successful research process ([5], [6], [12]).These initiatives do not advocate the primacy of certain approach over others. This openness is well-grounded, since a particular approach offers certain perspectives on research question, and, in this way, enables the researcher to study [these] aspects of learning, while other aspects, that are not in focus using the selected approach, become unclear or 'blurred' (Berglund, submitted for review). Thus, the selection an approach is closely intertwined with the research question under investigation.In this panel, the theoretical foundations for four different research approaches will be described, and examples of research performed within each of these approaches will be given. The examples will serve to illuminate which kinds of results that can be offered by particular approach, and thereby illustrate its use. Mordechai Ben-Ari, Anders Berglund, Shirley Booth, Christian Holmboe |
ITiCSE | 1 |
| 2004 | Roles of variables as seen by CS educatorsabstractRoles can be assigned to occurrences of variables in programs according to a small number of patterns of use that are both language- and algorithm-independent. Preliminary studies on explicitly teaching roles of variables to novice students have shown that roles are an excellent pedagogical tool for clarifying the structure and meaning of programs. This paper describes the results of an investigation designed to test the understandability and acceptability of the role concept and of the individual roles as seen by computer science educators. The investigation consisted of a short tutorial on roles, a brief training session on assigning roles to variables, a test evaluating the subjects' ability to assign roles, and a set of open questions concerning their opinions of roles. Roles were identified with 85 accuracy, and in typical uses of variables with 93 accuracy. Mordechai Ben-Ari, Jorma Sajaniemi |
ITiCSE | 1 |
| 2004 | Program animation in jeliot 3abstractJeliot is a family of program animation systems [1]. It has been successfully used to improve the teaching of intro- ductory programming by supplying a concrete language in which to explain programming structures and concepts [2]. Jeliot 3 [4] retains the novice-oriented GUI and animation display of the previous version, Jeliot 2000. Both versions automatically visualize the execution of user-written Java programs.Jeliot 3 introduces a new kind of design in order to make the system extendable and to add new features [5]. The front-end of system has been replaced by the DynamicJava interpreter, which was instrumented to produce an intermediate code, MCode, describing the program's runtime trace. The MCode trace is then rendered by the graphics back-end. The previous version of Jeliot animated variables, expressions, I/O and static method calls. Jeliot 3 is also capable of animating concepts for object-oriented programming: objects, class inheritance, constructors, method calls, instance fields, and reference semantics of arrays and objects. Jeliot 3 is intended to be a simple tool to be used in different kinds of learning scenarios [3]. It can be used to show and teach the basics of programming during a lecture. The lecturer can explain different concepts and show their corresponding animations with Jeliot. Students may use Jeliot 3 by themselves after the lectures to complete and understand the follow-up assignments related to the concepts learned at the lectures. Jeliot 3 can be used as a tool in interactive laboratory sessions. The visual display of the program can be used to facilitate communications about the errors. It can also support virtual courses, as where Jeliot 3 provides a tool that can assist students when external help is not available. Jeliot 3 is available under the GPL for downloading at http://www.cs.joensuu.fi/jeliot/. We intend to form a community around Jeliot 3, where teachers, students and developers could propose ideas and solutions in order to im- prove Jeliot 3 and the teaching of programming. The forum is available on the website and open for anyone interested. There are also plans for further development, for example, a new tool called JeCo (Jeliot Collaborative) [3] aims to integrate Jeliot 3 into a co-authoring environment where students can develop and visualize their programs together. Andrés Moreno, Niko Myller, Mordechai Ben-Ari, Erkki Sutinen |
ITiCSE | 3 |
| 2004 | The concorde doesn't fly anymoreabstractWhile computing technology has undoubtedly changed the world in which we live, the changes have been exaggerated. Talk of a hi-tech internet-driven revolution during the last decade is inaccurate from a historical perspective: (a) It belittles previous technological achievements; for example, the landings on the moon between 1969-1972 were achieved with less computing capability than a PDA has today. (b) So much of the "new" technology dates back thirty years or more; for example, how many of our students know when the first email was sent? This loss of historical perspective has led to demands for an artifact-driven curriculum that I believe is inadequate for the education of future computer scientists and computational engineers. (The latter is a new term I wish to propose for people engaged in the scientifically-based design and construction of systems that perform computations. It is linguistically modeled on the terms mechanical and electrical engineer, and is intended to take the place of the term software engineer.) A comparison of the CC2001 curriculum with the curriculum of a traditional, "non-revolutionary" engineering discipline points to what I believe the future of CS education should be. Mordechai Ben-Ari |
SIGCSE | 1 |
| 2004 | Virtual trees for the byzantine generals algorithmabstractThe Byzantine Generals algorithm for achieving reliability in the presence of faults is a classic topic in distributed computation and operating systems, not the least because of its colorful story. We describe a concept called virtual data structures, which are concrete representations of global data structures that is not actually maintained by the nodes of a distributed system, but are required in order to understand the correctness of algorithms. We show that the use of virtual trees for the Byzantine Generals algorithm can improve the understanding of this algorithm, and we describe a visualization of the trees. Ahuva Tikvati, Mordechai Ben-Ari, Yifat Ben-David Kolikant |
SIGCSE | 2 |
| 2002 | Writing a textbookabstractNo abstract available. Mordechai Ben-Ari, Henry MacKay Walker, Gaynor Redvers-Mutton, Keith Mansfield |
ITiCSE | 1 |
| 2001 | Interactive execution of distributed algorithmsabstractDAJ (Distributed Algorithms in Java) is a framework for writing Java programs to implement distributed algorithms. The programs display the data structures at each node and enable the user to interactively construct scenarios. In a learning situation, active interactive execution is preferable to passively watching an animation. Programs have been implemented for commonly taught algorithms, including the Byzantine generals, mutual exclusion, termination, and snapshots. Adding a program for another algorithm requires only general Java programming experience, as the GUI aspects are encapsulated. Mordechai Ben-Ari |
ACM J. Educ. Resour. Comput. | 1 |
| 2000 | Formal Verification of the Ricart-Agrawala Algorithm
Ekaterina Sedletsky, Amir Pnueli, Mordechai Ben-Ari |
FSTTCS | 3 |
| 2000 | The anthropology semaphoresabstractThis paper describes research into the conceptions of students studying concurrency, using qualitative methods that originated in anthropological field work. We were able to obtain a deep understanding of students' mental models of semaphores: they construct consistent, though non-viable, models of semaphores, and they use them in patterns without understanding the synchronization context. We used the results to improve our teaching of concurrency, for example, by carefully defining the semaphore model and exercising the model outside of a problem-solving context. Yifat Ben-David Kolikant, Mordechai Ben-Ari, Sarah Pollack |
ITiCSE | 2 |
| 1999 | Thinking parallel: the process of learning concurrencyabstractThis paper describes a course in concurrent and distributed computing for high school students and empirical research that was done to study students' conceptions and attitudes. We found that both their conceptions and their work methods evolved during course to the point that they were able to successfully develop algorithms and to prove their correctness. Students initially found the course extremely challenging but eventually came to appreciate its relevance and its contribution to improving their cognitive skills. Mordechai Ben-Ari, Yifat Ben-David Kolikant |
ITiCSE | 1 |
| 1999 | DPLab: an environment for distributed programmingabstractThis paper describes the software package DPLab which implements an integrated GUI environment for developing distributed programs. The environment includes a text editor, a compiler, and a runtime system that establishes communications between networked computers and provides primitives for message passing between the computers. The source language is Pascal extended with these primitives and with constructs for concurrent programming. The package is implemented in Java and Swing for portability. Mordechai Ben-Ari, Shawn Silverman |
ITiCSE | 1 |
| 1998 | Re-engineering a concurrency simulatorabstractSimAda is a concurrency simulator, reengineered from the simulator given in M. Ben-Ari, Principles of Concurrent Programming. The language was written in Ada 95 to enhance portability and to utilise the structuring constructs of a modern language. The concurrency constructs simulated include protected types which are new for Ada 95, as well as the Ada rendezvous. Several task scheduling models can be chosen for experimentation. SimAda is intended for teaching concurrency, both by running programs and by studying the implementation techniques. Yakov Persky, Mordechai Ben-Ari |
ITiCSE | 2 |
| 1998 | Development, implementation and evaluation of a course in expert systems for high-school students (poster)abstractNo abstract available. Noa Ragonis, Ehud Shapiro, Mordechai Ben-Ari, Zahava Scherz |
ITiCSE | 3 |
| 1998 | Constructivism in computer science educationabstractConstructivism is a theory of learning which claims that students construct knowledge rather than merely receive and store knowledge transmitted by the teacher. Constructivism has been extremely influential in science and mathematics education, but not in computer science education (CSE). This paper surveys constructivism in the context of CSE, and shows how the theory can supply a theoretical basis for debating issues and evaluating proposals. Mordechai Ben-Ari |
SIGCSE | 1 |
| 1998 | How to solve the Santa Claus problemabstractJohn Trono (1994) published a new exercise in concurrent programming – the Santa Claus problem – and provided a solution based on semaphores. His solution is incorrect because it assumes that a process released from waiting on a semaphore will necessarily be scheduled for execution. We give a simple solution in Ada 95 using higher-order synchronization primitives: protected objects and rendezvous. We then give a solution in Java, although this solution is not as elegant as the Ada 95 solution because the Java synchronization primitives are rather limited. The problem demonstrates that semaphores, designed for low-level mutual exclusion, are not appropriate for solving difficult concurrent programming problems. © 1998 John Wiley & Sons, Ltd. Mordechai Ben-Ari |
Concurr. Pract. Exp. | 1 |
| 1997 | Distributed algorithms in JavaabstractWe show how Java can be used to develop portable implementations of distributed algorithms for class demonstrations and laboratory exploration. The programs can be used in two modes: (a) TCP/IP communications over a net, or (b) applet-to-applet communications on a single HTML page. The latter mode is important during program development and can also be used if your lab malfunctions or for homework assignments. Programs were written for four distributed algorithms: Byzantine generals, Ricart-Agrawala mutual exclusion, Dijkstra-Scholten termination and Chandy-Lamport snapshots. Mordechai Ben-Ari |
ITiCSE | 1 |
| 1996 | Using inheritance to implement concurrencyabstractThe Ada programming language is an excellent vehicle for teaching concurrent programming because support for concurrency has been designed into the language. The paper shows how primitives from other concurrent programming languages (occam, Linda, Joyce) can be simulated within Ada. This enables students to study other constructs without the overhead of learning a new language and programming environment. The simulations use inheritance which was introduced into the new Ada 95 standard. They can also be used as examples of inheritance when teaching object-oriented programming. Mordechai Ben-Ari |
SIGCSE | 1 |
| 1986 | Foreet: A Tool for Design and Documentation of Fortran ProgramsabstractAbstract Foreet is a software tool for the design and documentation of Fortran programs. It is based on the premise that documents accompanying a program should be computerized and integrated: computerized–to ensure fast, easy and inexpensive updating; integrated–to ensure that the documents reflect what is actually contained in the program and not some idealized notion. Foreet takes a syntactically correct Fortran program (or skeleton of a program) and comments in a specified format and writes a report. It can be used to document existing programs, though the best results will be obtained if the documentation is developed concurrently with the program. Foreet is concerned with data description and subprogram interfaces. By encouraging precise specification of these critical facets of a program, Foreet can improve the quality of programs. Mordechai Ben-Ari |
Softw. Pract. Exp. | 1 |
| 1984 | Algorithms for On-the-fly Garbage CollectionabstractA new algorithm is described for on-the-fly garbage collection.The new algorithm uses only two colors and has a simple correctness proof.Two variations on the algorithm are then derived: One attempts to minimize the amount of marking that must be done, and the other is an incremental garbage collector. Mordechai Ben-Ari |
ACM Trans. Program. Lang. Syst. | 1 |
| 1983 | The Temporal Logic of Branching Time
Mordechai Ben-Ari, Amir Pnueli, Zohar Manna |
Acta Informatica | 1 |
| 1982 | On-the-Fly Garbage Collection: New Algorithms Inspired by Program Proofs
Mordechai Ben-Ari |
ICALP | 1 |
| 1982 | Deterministic Propositional Dynamic Logic: Finite Models, Complexity, and Completeness
Mordechai Ben-Ari, Joseph Y. Halpern, Amir Pnueli |
J. Comput. Syst. Sci. | 1 |
| 1981 | Finite Models for Deterministic Propositional Dynamic Logic
Mordechai Ben-Ari, Joseph Y. Halpern, Amir Pnueli |
ICALP | 1 |
| 1981 | The Temporal Logic of Branching TimeabstractA temporal language and system are presented which are based on branching time structure. By the introduction of symmetrically dual sets of temporal operators, it is possible to discuss properties which hold either along one path or along all paths. Consequently it is possible to express in this system all the properties that were previously expressible in linear time or branching time systems. We present an exponential decision procedure for satisfiability in the language based on tableaux methods, and a complete deduction system. As associated temporal semantics is illustrated for both structured and graph representation of programs. Mordechai Ben-Ari, Zohar Manna, Amir Pnueli |
POPL | 1 |
| 1981 | Cheap Concurrent ProgrammingabstractAbstract A system for class exercise of concurrent programming is described. The system is very simple and easy to implement yet it can demonstrate the basic concepts of concurrent programming. A detailed description of the implementation is given to enable others to adapt the system with minimal effort. Mordechai Ben-Ari |
Softw. Pract. Exp. | 1 |
| 1980 | A Simplified Proof That Regular Resolution is Exponential
Mordechai Ben-Ari |
Inf. Process. Lett. | 1 |
| 1980 | Comments on "Tautology Testing with a Generalized Matrix Reduction Method"
Mordechai Ben-Ari |
Theor. Comput. Sci. | 1 |
| 1979 | On Transposing Large 2n × 2n MatricesabstractThis correspondence presents two variations on the algorithm of Eklundh for transposing large 2n x 2n matrices. The first variation shows how the number of accesses to secondary storage may be reduced at the expense of an increased amount of data transferred. Formulas for I/O time are derived from which we deduce the disk characteristics under which there is an improvement. The second variation shows that a small amount of additional secondary storage can be used to greatly improve the performance of the algorithm. Mordechai Ben-Ari |
IEEE Trans. Computers | 1 |
| 1978 | Ianov Pushdown Schemes Are Contained in Boolean Recursive Schemes
Mordechai Ben-Ari |
Acta Informatica | 1 |