Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Ahmad Taherkhani is active.

Publication


Featured researches published by Ahmad Taherkhani.


international computing education research workshop | 2010

Characterizing research in computing education: a preliminary analysis of the literature

Lauri Malmi; Judy Sheard; Simon; Roman Bednarik; Juha Helminen; Ari Korhonen; Niko Myller; Juha Sorva; Ahmad Taherkhani

This paper presents a preliminary analysis of research papers in computing education. While previous analysis has explored what research is being done in computing education, this project explores how that research is being done. We present our classification system, then the results of applying it to the papers from all five years of ICER. We find that this subset of computing education research has more in common with research in information systems than with that in computer science or software engineering; and that the papers published at ICER generally appear to conform to the specified ICER requirements.


Proceedings of the 2010 ITiCSE working group reports on | 2010

An introduction to program comprehension for computer science educators

Carsten Schulte; Tony Clear; Ahmad Taherkhani; Teresa Busjahn; James H. Paterson

The area of program comprehension comprises a vast body of literature, with numerous conflicting models having been proposed. Models are typically grounded in experimental studies mostly involving experienced programmers. The question of how to relate this material to the teaching and learning of programming for novices has proven challenging for many researchers. In this critical review from a computer science educational perspective, the authors compare and contrast the way in which different models conceptualize program comprehension. This provides new insights into learning issues such as content, sequence, learning obstacles, effective learning tasks and teaching methods, as well as into the assessment of learning


international computing education research workshop | 2014

Theoretical underpinnings of computing education research: what is the evidence?

Lauri Malmi; Judy Sheard; Simon; Roman Bednarik; Juha Helminen; Päivi Kinnunen; Ari Korhonen; Niko Myller; Juha Sorva; Ahmad Taherkhani

We analyze the Computing Education Research (CER) literature to discover what theories, conceptual models and frameworks recent CER builds on. This gives rise to a broad understanding of the theoretical basis of CER that is useful for researchers working in that area, and has the potential to help CER develop its own identity as an independent field of study. Our analysis takes in seven years of publications (2005-2011, 308 papers) in three venues that publish long research papers in computing education: the journals ACM Transactions of Computing Education (TOCE) and Computer Science Education (CSEd), and the conference International Computing Education Research Workshop (ICER). We looked at the theoretical background works that are used or extended in the papers, not just referred to when describing related work. These background works include theories, conceptual models and frameworks. For each background work we tried to identify the discipline from which it originates, to gain an understanding of how CER relates to its neighboring fields. We also identified theoretical works originating within CER itself, showing that the field is building on its own theoretical works. Our main findings are that there is a great richness of work on which recent CER papers build; there are no prevailing theoretical or technical works that are broadly applied across CER; about half the analyzed papers build on no previous theoretical work, but a considerable share of these are building their own theoretical constructions. We discuss the significance of these findings for the whole field and conclude with some recommendations.


international conference on program comprehension | 2010

Recognizing Sorting Algorithms with the C4.5 Decision Tree Classifier

Ahmad Taherkhani

We present a method for automatic algorithm recognition, which consists of two phases. First, the target algorithms are converted into characteristic vectors, which are computed based on static analysis of program code including various statistics of language constructs and analysis of Roles of Variables. In the second phase, the algorithms are classified based on these vectors using the C4.5 decision tree classifier. We have developed a prototype and successfully applied the method to sorting algorithms. Evaluated with leave-one-out technique, the accuracy of the constructed decision tree classifier is 97.1%.


Proceedings of the 8th International Conference on Computing Education Research | 2008

Algorithm recognition by static analysis and its application in students' submissions assessment

Ahmad Taherkhani; Lauri Malmi; Ari Korhonen

Automatic program comprehension (PC) has been extensively studied for decades. It has been studied mainly from two different points of view: understanding the functionality of a program and understanding program structure. In this paper, we address the problem of automatic algorithm recognition and introduce a method based on static analysis to recognize algorithms. We discuss the applications of the method in the context of automatic assessment to widen the scope of programming assignments that can be checked automatically.


The Computer Journal | 2011

Using Decision Tree Classifiers in Source Code Analysis to Recognize Algorithms

Ahmad Taherkhani

We discuss algorithm recognition (AR) and present a method for recognizing algorithms automatically from Java source code. The method consists of two phases. In the first phase, the recognizable algorithms are converted into the vectors of characteristics, which are computed based on static analysis of program code, including various statistics of language constructs and analysis of Roles of Variables in the target program. In the second phase, the algorithms are classified based on these vectors using the C4.5 decision tree classifier. We demonstrate the performance of the method by applying it to sorting algorithms. Using leave-one-out cross-validation technique, we have conducted an experimental evaluation of the classification performance showing that the average classification accuracy is 98.1% (the data set consisted of five different types of sorting algorithms). The results show the applicability and usefulness of roles of variables in AR, and illustrate that the C4.5 algorithm is a suitable decision tree classifier for our purpose. The limitations of the method are also discussed.


The Computer Journal | 2011

Recognizing Algorithms Using Language Constructs, Software Metrics and Roles of Variables

Ahmad Taherkhani; Ari Korhonen; Lauri Malmi

Program comprehension (PC) is a research field that has been extensively studied from different points of view, including human program understanding and mental models, automated program understanding, etc. In this paper, we discuss algorithm recognition (AR) as a subfield of PC and explain their relationship. We present a method for automatic AR from Java source code. The method is based on static analysis of program code including various statistics of language constructs, software metrics, as well as analysis of roles of variables in the target program. In the first phase of the method, a number of different implementations of the supported algorithms are analyzed and stored in the knowledge base of the system as learning data, and in the second phase, previously unseen algorithms are recognized using this information. We have developed a prototype and successfully applied the method for recognition of sorting algorithms. This process is explained in the paper along with the experiment we have conducted to evaluate the performance of the method. Although the method, at its current state, is still sensitive to changes made to target algorithms, the encouraging results of the experiment demonstrate that it can be further developed to be used as a PC method in various applications, as an example, in automatic assessment tools to check the algorithms used by students, the functionality that is currently missing from these tools.


koli calling international conference on computing education research | 2012

Automatic recognition of students' sorting algorithm implementations in a data structures and algorithms course

Ahmad Taherkhani; Ari Korhonen; Lauri Malmi


educational data mining | 2013

Beacon- and Schema-Based Method for Recognizing Algorithms from Students' Source Code.

Ahmad Taherkhani; Lauri Malmi


Computer Science Education | 2012

Categorizing Variations of Student-Implemented Sorting Algorithms

Ahmad Taherkhani; Ari Korhonen; Lauri Malmi

Collaboration


Dive into the Ahmad Taherkhani's collaboration.

Top Co-Authors

Avatar

Lauri Malmi

Helsinki University of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Juha Helminen

Helsinki University of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Niko Myller

University of Eastern Finland

View shared research outputs
Top Co-Authors

Avatar

Roman Bednarik

University of Eastern Finland

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Simon

University of Newcastle

View shared research outputs
Top Co-Authors

Avatar

Carsten Schulte

Free University of Berlin

View shared research outputs
Researchain Logo
Decentralizing Knowledge