I examine various aspects of teaching and learning computer science. The research projects in my group deal with a variety of ages - from middle-school students to students in higher-education institutes - and in a variety of computer science topics, from basic topics to advanced and complex ones. Most of these research projects are done through the prism of fundamental ideas of computer science (such as abstraction, non-determinism, reductive thinking, reversing, and more). We characterize and identify such ideas and examine various frameworks for conveying them to students.
Nakar L. & Armoni M.
(2025)
SIGCSE TS 2025 - Proceedings of the 56th ACM Technical Symposium on Computer Science Education
.
p. 812-818
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.
ארמוני מ. & ברקמן ח.
(2025)
קשר עין.
328,
p. 29-31
האקדמיה הלאומית למדעים הקימה צוות מומחים במענה לפניית "קרן טראמפ", כדי לבסס תשתית של ידע בנושא לימודי חשיבה חישובית ופיתוח בינה מלאכותית בישראל ובעולם. מאמר זה מביא את עיקרי הדו"ח שפרסמה הוועדה בחודש מאי 2025.
Armoni M., Gal-Ezer J., Harel D., Marelly R., Szekely S., Abelson H. & Kong S.
(2024)
Computational Thinking Curricula in K12
: International Implementations
.
Abelson H. & Kong S-C(eds.).
p. 229-250
Nakar L., Friebroon-Yesharim M. & Armoni M.
(2023)
Proceedings of 23rd International Conference on Computing Education Research, Koli Calling 2023
.
ion is the most fundamental idea of computer science (CS), manifested in every aspect of the discipline in multiple forms. In algorithmic problem solving, which lies at the heart of CS, it is manifested in two ways: 1) Modeling the problem and its components as computational entities, while focusing on essential core details of the problem and ignoring others. 2) Devising the solution by constantly employing algorithmic abstraction. Namely, the solution process involves moving up and down between abstraction levels, where black boxes are closed or opened, and details of the solution are ignored or considered, depending on the current phase of the problem-solving process. Models of this process can serve educators to effectively teach algorithmic problem solving, including algorithmic abstraction. Such models are often used also for assessment, for example, to examine the teaching of algorithmic problem solving or to evaluate students performance regarding algorithmic abstraction. In two different studies, we explored the teaching and learning of algorithmic abstraction in different contexts and at different age levels. In each of these studies an appropriate model of assessment was designed by means of combining top-down (deductive) and bottom-up (inductive) analyses. Thus, these models expressed grounded elements, namely, each of them included unique aspects of algorithmic abstraction that were revealed during the respective study. In this theoretical paper, we generalize these models and propose a new highly expressive two-dimensional model for evaluating algorithmic abstraction.
Friebroon-Yesharim M., Ben-Bassat Levy R. & Armoni M.
(2023)
UKICER 2023 - Proceedings of the 2023 Conference on United Kingdom and Ireland Computing Education Research
.
We currently conduct an extensive research project that investigates the implementation of a national computer science (CS) curriculum for the 4th grade. This research explores the curriculum's evolution, from the policymakers' visions, through the formal (intended) curriculum, teachers' training, and the actual implementation in class, to the educational outcomes (attained curriculum). As part of this research, we identified the educational goals of the policymakers who initiated this curriculum and examined how their goals were reflected in the formal curriculum. This paper focuses on one of the policymakers' goals-The development of algorithmic abstraction. To this end, we developed a method to investigate how algorithmic abstraction is addressed in the formal curriculum. In a recent paper, we focused on one facet of this method. Here, we will complete the presentation of this method by describing its two other facets and present the corresponding findings. Our findings indicate that the formal curriculum emphasized programming, whereas the more abstract concept of an algorithm was not sufficiently stressed. This was reflected in three ways: Most of the algorithmic problems included in the curriculum were presented using programming-related terms; algorithms and algorithm-related terms comprised a notably smaller part of the curriculum; and CS concepts were mostly introduced in terms of programming. We generalized our method to obtain a framework for assessing CS introductory curricula through the lens of algorithmic abstraction. Since abstraction is widely acknowledged as a CS fundamental idea, such a framework has significant merit for the CS educational research community.