Michal Armoni

dblp:32/1976 · DBLP profile ↗
← Back
28ranked-venue papers
11as first author
3since 2021 · last 2025
0000-0002-8988-9023ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Human-computer interaction and ubiquitous computing · 19 · 8 first-author · 3 since 2021Applied, interdisciplinary, general and emerging computing · 9 · 3 first-author
YearPublicationVenuePosition
2025 Aiming Towards Abstraction: Does Algorithmic-Pattern-Oriented Instruction Promote the Teaching of Abstraction?
abstract
Abstraction is a pivotal concept in computer science (CS); it is extensively utilized for various purposes such as problem simplification and algorithm design. Often considered the most important mental tool for computer scientists, abstraction is a key element in CS education and curricula. However, teaching CS abstraction is known to be difficult. One of the instructional methods offered in the literature to promote abstraction is pattern-oriented instruction (POI), which relies on algorithmic patterns and uses them as organizing principles and a central problem-solving strategy. Research has shown that using pattern-oriented instruction supports students' abstraction abilities; however, we claim that POI alone may not be sufficient and therefore deeper exploration is required to understand the relations between employing POI, teaching abstraction and developing abstraction skills. In this qualitative study, we thoroughly analyzed the teaching approaches of eight high-school CS teachers, focusing on their use of POI and how they teach abstraction (both their perceived and actual teaching approaches). The results suggest that although POI may support the perception of the teachers as promoting abstraction, its actual implementation may not fully align with this purpose.
Liat Nakar, Michal Armoni
SIGCSE (1)2
2022 Pattern-oriented Instruction and Students' Abstraction Skills
abstract
Pattern-oriented instruction (POI) is an instructional computer science (CS) approach that relies on algorithmic patterns (APs). Teaching through APs has been shown to help students acknowledge APs and incorporate them into their solutions, thus demonstrating abstraction skills. In this work, we examine the connection between POI and students' abstraction performance in a wider context. We show that introducing APs by using POI, either partially or in a full manner, is an effective choice for encouraging several types of abstraction skills.
Liat Nakar, Michal Armoni
ITiCSE (2)2
2022 The Tale of an Intended CS Curriculum for 4th Graders, The Case of Abstraction
abstract
The Israeli CS curriculum for elementary schools was announced in 2016 and it is currently being implemented in several hundreds of schools. We study the evolution of this curriculum, from the vision of the policymakers to the students in the classrooms. Here we focus on the evolution of the idea of abstraction between the ideal intended curriculum, as expressed in the vision of the policymakers, and the written formal curriculum. We show a gap even between these two first phases regarding the important CS idea of abstraction.
Mor Friebroon Yesharim, Michal Armoni
ITiCSE (2)2
2020 Towards a Holistic Reservoir of Research-Based PCK Segments of K-12 Computer Science Teachers
abstract
Computer science education (CSE) at the K-12 level is becoming increasingly more prevalent. Consequently, there is an urgent need for competent CS teachers; hence, also for effective training programs. The pedagogical content knowledge of CS teachers (CS-PCK) plays an important role in teachers' training. To effectively incorporate CS-PCK into teachers' training, a CS-PCK resource, which relies on the "wisdom of practice" of experienced teachers as well as the body of research on CS education would be of great value. Such a resource should consist of reliable, coherent, and self-contained CS-PCK segments, which can be used in relevant contexts with little processing and adaptation. Such a resource can also serve in-service teachers, developers of teaching materials, as well as others dealing with K-12 CS education. Constructing such a reservoir requires: 1) an effective procedure for obtaining reliable CS-PCK segments, and 2) a method for organizing CS-PCK segments that reflects their content and attributes. Herein we describe one part of a large research project on CS-PCK. In a previous publication, we reported on a method for extracting research-based CS-PCK segments from experienced teachers and established its effectiveness, thus satisfying the first requirement. The current paper concerns the second requirement. We will describe and demonstrate our innovative method for devising an incremental structure that can contain CS-PCK segments, obtained from either experienced teachers or from the CS education research literature.
Ofra Brandes, Michal Armoni
ITiCSE2
2020 Teaching Abstraction in Computer Science to 7th Grade Students
abstract
Abstraction is one of the most fundamental ideas in computer science (CS), and as such, according to Bruner [23], it should be taught spirally, starting as early as possible and revisited at every level of education. However, teaching CS abstraction to novices is a very challenging task, and CS educational research has often demonstrated students' difficulties in learning this idea, in different contexts and at different age levels. The challenge in teaching CS abstraction is even greater when dealing with young students, since according to theories on children's cognitive development, their abstraction abilities may still be not fully developed. In 2013, Armoni [5] introduced a framework for teaching abstraction in the context of algorithmic problem solving, intended for novice students. We studied the effect of this framework in an introductory CS course for 7 th graders, in which Scratch was used as the programming language for implementing algorithmic solutions. Our findings indicate that the framework was highly effective for developing CS abstraction skills as well as other related skills and aspects, such as the tendency to provide explanations for solutions, the use of initialization processes, and the perception of the nature of CS. It also significantly improved students’ general CS performance in this course.
David Statter, Michal Armoni
ACM Trans. Comput. Educ.2
2019 Using Action Research to Distill Research-Based Segments of Pedagogical Content Knowledge of K-12 Computer Science Teachers
abstract
Teachers' pedagogical content knowledge (PCK) is an important factor in all that concerns teaching and learning processes. As such, it plays an important role in pre-service teachers' training and in-service teachers' professional development. In line with this, the pedagogical content knowledge of computer science teachers (CS-PCK) receives considerable attention in current computing education research. However, very little is known about effective ways of extracting valid and reliable CS-PCK segments from the practical work of CS in-service teachers, and hence, only a limited reservoir of such segments is available for CS educators. Here we report on research in which we developed and investigated a new strategy for extracting research-based CS-PCK segments from the practical work of experienced high-school teachers. This strategy incorporated action research, conducted by the CS teachers in their classes, as part of a long and extensive workshop for professional development of CS teachers. Our findings show that the use of action research within the unique platform provided by the workshop yielded a rich variety of research-based CS-PCK segments. Furthermore, our findings emphasize the important role of the social context of the workshop in teachers' success in conducting reliable and valid action research. In addition, teachers' attitudes regarding the use of action research as a tool for improving their practice were positive, as well as their tendency to adopt and use this tool in their practice.
Ofra Brandes, Michal Armoni
ITiCSE2
2015 How to Implement Rigorous Computer Science Education in K-12 Schools? Some Answers and Many Questions
abstract
Aiming to collect various concepts, approaches, and strategies for improving computer science education in K-12 schools, we edited this second special issue of the ACM TOCE journal. Our intention was to collect a set of case studies from different countries that would describe all relevant aspects of specific implementations of Computer Science Education in K-12 schools. By this, we want to deliver well-founded arguments and rich material to the critical discussion about the state and the goals of K-12 computer science education, and also provide visions for the future of this research area. In this editorial, we explain our intention and report some details about the genesis of these special issues. Following, we give a short summary of the Darmstadt Model, which was suggested to serve as a structuring principle of the case studies. The next part of the editorial presents a short description of the five extended case studies from India, Korea, NRW/Germany, Finland, and USA that are selected to be included in this second issue. In order to give some perspectives for the future, we propose a set of open research questions of the field, partly derived from the Darmstadt Model, partly stimulated by a look on large-scale investigations like PISA.
Peter Hubwieser, Michal Armoni, Michail N. Giannakos
ACM Trans. Comput. Educ.2
2015 In Memoriam: Roland Mittermeir (1950-2014)
abstract
No abstract available.
Peter Hubwieser, Michal Armoni, Michail N. Giannakos
ACM Trans. Comput. Educ.2
2014 The effect of computer science on the learning of computational physics
abstract
Computational 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
ITiCSE3
2014 Scenario-Based Programming, Usability-Oriented Perception
abstract
In this article, we discuss the possible connection between the programming language and the paradigm behind it, and programmers’ tendency to adopt an external or internal perspective of the system they develop. Based on a qualitative analysis, we found that when working with the visual, interobject language of live sequence charts (LSC), programmers tend to adopt an external and usability-oriented view of the system, whereas when working with an intraobject language, they tend to adopt an internal and implementation-oriented viewpoint. This is explained by first discussing the possible effect of the programming paradigm on programmers’ perception and then offering a more comprehensive explanation. The latter is based on a cognitive model of programming with LSC, which is an interpretation and a projection of the model suggested by Adelson and Soloway [1985] onto LSC and scenario-based programming, the new paradigm on which LSC is based. Our model suggests that LSC fosters a kind of programming that enables iterative refinement of the artifact with fewer entries into the solution domain. Thus, the programmer can make less context switching between the solution domain and the problem domain, and consequently spend more time in the latter. We believe that these findings are interesting mainly in two ways. First, they characterize an aspect of problem-solving behavior that to the best of our knowledge has not been studied before—the programmer’s perspective. The perspective can potentially affect the outcome of the problem-solving process, such as by leading the programmer to focus on different parts of the problem. Second, relating the structure of the language to the change in perspective sheds light on one of the ways in which the programming language can affect the programmer’s behavior.
Giora Alexandron, Michal Armoni, Michal Gordon, David Harel
ACM Trans. Comput. Educ.2
2014 From Scratch to "Real" Programming
abstract
Computer 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.1
2014 Perspectives and Visions of Computer Science Education in Primary and Secondary (K-12) Schools
abstract
In view of the recent developments in many countries, for example, in the USA and in the UK, it appears that computer science education (CSE) in primary or secondary schools (K-12) has reached a significant turning point, shifting its focus from ICT-oriented to rigorous computer science concepts. The goal of this special issue is to offer a publication platform for soundly based in-depth experiences that have been made around the world with concepts, approaches, or initiatives that aim at supporting this shift. For this purpose, the article format was kept as large as possible, enabling the authors to explain many facets of their concepts and experiences in detail. Regarding the structure of the articles, we had encouraged the authors to lean on the Darmstadt Model, a category system that was developed to support the development, improvement, and investigation of K-12 CSE across regional or national boundaries. This model could serve as a unifying framework that might provide a proper structure for a well-founded critical discussion about the future of K-12 CSE. Curriculum designers or policy stakeholders, who have to decide, which approach an upcoming national initiative should follow, could benefit from this discussion as well as researchers who are investigating K12 CSE in any regard. With this goal in mind, we have selected six extensive and two short case studies from the UK, New Zealand, USA/Israel, France, Sweden, Georgia (USA), Russia, and Italy that provide an in-depth analysis of K-12 CSE in their respective country or state.
Peter Hubwieser, Michal Armoni, Michail N. Giannakos, Roland T. Mittermeir
ACM Trans. Comput. Educ.2
2012 CS Unplugged and Middle-School Students' Views, Attitudes, and Intentions Regarding CS
abstract
Many 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.2
2011 Habits of programming in scratch
abstract
Visual 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
ITiCSE2
2011 Looking at Secondary Teacher Preparation Through the Lens of Computer Science
abstract
Teaching computer science (CS) in high schools, rather than just programming or even computer literacy, is important as a means of introducing students to the true nature of CS, and enhancing their problem-solving skills. Since teachers are the key to the success of any high school educational initiative, any discussion of high school programs must consider the teachers, and specifically the teacher preparation needed to make the implementation of such programs possible. However, there is scant research on CS teacher education, probably because CS is a relatively young discipline. Very few of the publications in the area of CS teacher preparation are research-based. Most are descriptive papers, including recommendations for specific programs or courses. The purpose of this survey is to import from what is already known in other disciplines in this context. We therefore examine the body of research on teacher education in other disciplines, especially in mathematics and science, to shed light on important challenges for CS teacher education and draw some initial conclusions regarding CS teacher preparation programs.
Michal Armoni
ACM Trans. Comput. Educ.1
2010 Learning computer science concepts with scratch
abstract
Scratch 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
ICER2
2009 The effect of CS unplugged on middle-school students' views of CS
abstract
Many 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
ITiCSE3
2009 A synthesis course in hardware architecture, compilers, and software engineering
abstract
We describe a synthesis course that provides a hands-on treatment of many hardware and software topics learned in computer science (CS) programs. Using a modular series of twelve projects, we walk the students through the gradual construction of a simple hardware platform and a modern software hierarchy, yielding a basic yet powerful computer system. In the process of building the computer, the students gain a first-hand understanding of how hardware and software systems are designed and how they work together, as one enterprise. The course web site contains all the materials necessary to run this course in open source, and students and instructors are welcome to use and extend them freely. The course projects are modular and self-contained, and any subset of them can be implemented in any order and in any programming language. Therefore, they comprise a flexible library of exercises that can be used in many applied CS courses. This paper gives a description of the approach and the course, juxtaposed against general educational principles underlying meaningful learning.
Shimon Schocken, Noam Nisan, Michal Armoni
SIGCSE3
2009 Reduction in CS: A (Mostly) Quantitative Analysis of Reductive Solutions to Algorithmic Problems
abstract
Reduction is a problem-solving strategy, relevant to various areas of computer science, and strongly connected to abstraction: a reductive solution necessitates establishing a connection among problems that may seem totally disconnected at first sight, and abstracts the solution to the reduced-to problem by encapsulating it as a black box. The study described in this article continues a previous, qualitative study that examined the ways undergraduate computer science students perceive, experience, and use reduction as a problem-solving strategy. The current study examines the same issue, but in the context of a larger population, using also quantitative analysis, and focusing on algorithmic problems. The findings indicate difficulties students have with the abstract characteristics of reduction and with acknowledging reduction as a general problem-solving strategy.
Michal Armoni
ACM J. Educ. Resour. Comput.1
2008 Reductive thinking in a quantitative perspective: the case of the algorithm course
abstract
The research described in this paper continues a previous, qualitative (mostly interview-based) study that examined the ways undergraduate computer science students perceive, experience, and use reduction as a problem-solving strategy. The current study examines the same issue, but in the context of a larger population, using quantitative analysis methods, and focusing on algorithmic problems.
Michal Armoni
ITiCSE1
2008 Teaching students to think nondeterministically
abstract
Nondeterminism 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
SIGCSE1
2006 Reductive thinking in undergraduate CS courses
Michal Armoni, Judith Gal-Ezer, Orit Hazzan
ITiCSE1
2006 Reduction -- an abstract thinking pattern: the case of the computational models course
abstract
Abstraction has been the focus of many researches in mathematics education and to some extent in computer science education. Abstract thinking characterizes the theoretical foundations of computer science, where reduction is one important abstract thinking pattern. In a previous work, we discussed the issue of reductive thinking among high school students in relation to computational models -- a theoretical unit. This unit requires abstract thinking in many aspects. Our findings in relation to reductive thinking showed that many students preferred direct, non-reductive solutions, even if reductive solutions could have significantly decreased the design complexity of the solution. This study motivated the current study where we examine the issue of reductive thinking among university students. The findings of this preliminary study are demonstrated by students' solutions to questions in assignments given in the computational models course. We found that even among university students in a very prestigious academic institution with very high entrance requirements abstraction is a real obstacle as reduction is not easily understood and used. This encourages us to further investigate this phenomenon.
Michal Armoni, Judith Gal-Ezer
SIGCSE1
2006 Automata theory: its relevance to computer science students and course contents
abstract
No abstract available.
Michal Armoni, Susan H. Rodger, Moshe Y. Vardi, Rakesh M. Verma
SIGCSE1
2006 Reversing: an essential heuristic in program and proof design
abstract
Program and proof designs are fundamental in computer science (CS). The designs involve the employment of various heuristics that may be considered rather inherent and natural, such as decomposition. Yet, not all heuristics are natural. One less natural, and rather unintuitive heuristic is that of reversing, in which a task is approached by reasoning backwards or viewing entities through "inverse lenses". One primary form of this heuristic is recursion. But, there are additional forms throughout the CS curriculum that are essential yet not underlined. In this paper we display these forms, underline their important role, and illustrate them in five core courses. In addition, we describe our experience with student difficulties due to unawareness and lack of competence with this heuristic, and offer preliminary guidelines for elaborating it during CS studies.
David Ginat, Michal Armoni
SIGCSE2
2005 Reductive thinking in undergraduate CS courses
abstract
No abstract available.
Michal Armoni, Judith Gal-Ezer
ITiCSE1
2004 Reductive thinking: how to teach it?
abstract
No abstract available.
Michal Armoni
ITiCSE1
2004 On the achievements of high school students studying computational models
abstract
One of the units in the relatively new high school CS curriculum which is being implemented in Israel is a theoretical unit on computational models. It includes deterministic and non-deterministic finite automata, regular and non-regular languages, closure properties of regular languages, pushdown automata, closure properties of context free languages, Turing machines, the Church-Turing thesis and the halting problem. This paper focuses on part of a study we conducted dealing with the achievements of high school students studying this unit. Specifically, this paper compares the achievements of students on the technical parts of this unit vs. its theoretical parts. We also examine the correlation between achievements of students studying the Computational Models unit, and two other factors: The students' previous computer-related background (not necessarily computer science) and the level on which they studied mathematics.
Michal Armoni, Judith Gal-Ezer
ITiCSE1