Skip to main content
A common experience of those who teach introductory programming courses is that learning to program is difficult. So, special programming languages and educational environments have been devised with the aim of making the learning process... more
A common experience of those who teach introductory programming courses is that learning to program is difficult. So, special programming languages and educational environments have been devised with the aim of making the learning process easier. Unfortunately, in many cases the true value of these methods was not evaluated. Based on previous research findings and our experience in teaching object-oriented
ABSTRACT
ABSTRACT The tremendous popularity of mobile computing and Android in particular has attracted millions of developers who see opportunities for building their own start-ups. As a consequence Computer Science students express an increasing... more
ABSTRACT The tremendous popularity of mobile computing and Android in particular has attracted millions of developers who see opportunities for building their own start-ups. As a consequence Computer Science students express an increasing interest into the related technology of Java development for Android applications. Android projects are complex by nature and relatively large software products while their development calls for the application of established software engineering practices and tools. However, most software engineering courses focus on ‘conventional’ software development for desktop or web applications. In this paper we report on the design, implementation and assessment of a novel short course aiming at bridging the gap between software engineering and Android development. The goal is to demonstrate the need for applying software engineering principles on Android development as well as to emphasize that writing software for mobile devices should be regarded as an equally serious programming activity. The proposed course covers design principles, patterns, metrics, refactorings and collaborative software development. The course has been delivered to three groups of undergraduate and postgraduate students at two different institutes. The course has been evaluated: a) by performing a student satisfaction survey, b) through summative assessment of students’ performance, c) by investigating whether the proposed course modified the students’ career interests and d) by employing assessment by peers based on rubrics. The results indicate that such a short course is capable of increasing student’s interest on Android development as well as their awareness of the importance of software engineering concepts on mobile application software development.
The main concern of this paper is the exploration of current challenges, teaching techniques, course design methods and topics covered when attempting to teach a web programming course in technology-oriented higher education departments.... more
The main concern of this paper is the exploration of current challenges, teaching techniques, course design methods and topics covered when attempting to teach a web programming course in technology-oriented higher education departments. The authors attempted a literature review of the subject in order to identify, compare and analyse the existing experience upon which one can establish solid guidelines towards a manageable, efficient and comprehensible course model. In the paper, the presentation of the value of teaching web programming is followed by an extensive listing of the underlying challenges. Consequently, the various teaching approaches are presented comparatively and comments are made as regards the topics covered and the tools used. The study and analysis of this gathered experience naturally leads to certain outcomes. An extensive list of questions is summed in a list view and this list aims to help educators of the field to prepare the respective structure, content, m...
ABSTRACT Teaching and learning computer programming presents teachers and students respectively with many challenges, especially when taught with the “traditional” approach. Several alternative teaching approaches were proposed the... more
ABSTRACT Teaching and learning computer programming presents teachers and students respectively with many challenges, especially when taught with the “traditional” approach. Several alternative teaching approaches were proposed the previous years, but they seem not to fulfil successfully the needs of the twenty-first century students. Students nowadays are raised in a digital world and they learn and react differently. Students start to use computers before they first attend formal education, while computer games have become a part of their everyday life. A growing number of teachers/researchers propose the incorporation of educational games (or serious games) in the teaching of computer programming with the aim of reinforcing instinctive motivation through challenging students, piquing their curiosity and providing them with a sense of control and imagination. This paper aims to review the functionalities that should be supported by educational games in general and the extent to which these functionalities are supported by educational games for computer programming. The comparative analysis of several educational games for programming demonstrates that the majority of games seem well established, but they teach fairly simple concepts and their actual trials and validations are limited. The paper also discusses the implications of our work for the development of educational games that can fully support the identified features and teach complex programming elements.
ABSTRACT Mobile apps have been around for only a few years, but have gained immense consumer attention. Developers creating native apps are faced with the daunting task of maintaining different sources for each target platform, while web... more
ABSTRACT Mobile apps have been around for only a few years, but have gained immense consumer attention. Developers creating native apps are faced with the daunting task of maintaining different sources for each target platform, while web and hybrid apps are faced with a series of technical and non technical issues. Native apps function smoothly in a standard way that the user is already familiar with and provide the richest user experience having full and direct access to the onboard hardware and software. On the other hand web apps offer cross-platform compatibility, saving development time, effort and money for developers. Moreover, HTML5 is expected to enhance user experience offered by web apps, which is one of their major shortcomings. The aim of this paper is to investigate various aspects of HTML5 in mobile app development.
Teaching Object Oriented Programming (OOP) to novices is widely known to be quite problematic. Students might be able to write a piece of code in an OOP language, usually Java, but their conceptual grasp of object-oriented concepts seems... more
Teaching Object Oriented Programming (OOP) to novices is widely known to be quite problematic. Students might be able to write a piece of code in an OOP language, usually Java, but their conceptual grasp of object-oriented concepts seems to be limited. This ...
The acquisition of problem-solving and programming skills in the era of knowledge society seems to be particularly important. Due to the intrinsic difficulty of acquiring such skills various educational tools have been developed.... more
The acquisition of problem-solving and programming skills in the era of knowledge society seems to be particularly important. Due to the intrinsic difficulty of acquiring such skills various educational tools have been developed. Unfortunately, most of these tools are not utilized. In this paper we present the programming microworlds Karel and objectKarel that support the procedural-imperative and Object-Oriented Programming (OOP) techniques and can be used for supporting the teaching and learning of programming in various learning contexts and audiences. The paper focuses on presenting the pedagogical features that are common to both environments and mainly on presenting the potential uses of these environments.
ABSTRACT In this paper we present the results of a study exploring students' conceptions of the most fundamental Object-Oriented Programming (OOP) concepts of “object” and “class”. Data was collected from open type questions... more
ABSTRACT In this paper we present the results of a study exploring students' conceptions of the most fundamental Object-Oriented Programming (OOP) concepts of “object” and “class”. Data was collected from open type questions included in a middle-term exam of the ...
ABSTRACT The integration of ICT in Primary and Secondary Education is considered of great importance for the enhancement of both teaching and learning. However, a successful integration of ICT in the teaching practice requires a... more
ABSTRACT The integration of ICT in Primary and Secondary Education is considered of great importance for the enhancement of both teaching and learning. However, a successful integration of ICT in the teaching practice requires a well-organized training of teachers. In this paper, we present qualitative results from a national-scale program aiming at training Secondary Education teachers in the usage of ICT. Specifically, we focus on the training of Informatics and Computer Science teachers that were for the first time included in this training program taking place the last 12 years in Greece. These trainee-teachers will act as trainers of teachers after the successful completion of their own training. Several important aspects of organizing the training of trainers are examined, while some findings concerning the major problems of preparing teachers for teaching Informatics are analysed.
Page 1. Technology Enhanced Learning for Programming Courses - Experiences and Comparison Mirjana Ivanović, Zivana Komlenov Department of Mathematics and Informatics Faculty of Sciences, University of Novi Sad Novi Sad, Serbia {mira,... more
Page 1. Technology Enhanced Learning for Programming Courses - Experiences and Comparison Mirjana Ivanović, Zivana Komlenov Department of Mathematics and Informatics Faculty of Sciences, University of Novi Sad Novi Sad, Serbia {mira, ?omlenov}@dmi.uns.ac.rs ...
... Lack of the ability to “delete” arbitrary number of lines. ... syntactic details, avoidance of syntax er-rors, focus on acquiring programming concepts and problem solving abilities) with the established features of a text editor (cut,... more
... Lack of the ability to “delete” arbitrary number of lines. ... syntactic details, avoidance of syntax er-rors, focus on acquiring programming concepts and problem solving abilities) with the established features of a text editor (cut, copy, paste, undo functions, easier editing ...
STUDYING STUDENTS' DIFFICULTIES IN AN OOP COURSE BASED ON BLUEJ Stelios Xinogalos(*) , Maya Sartatzemi(*) , Vassilios Dagdilelis(**) ( Department of Applied Informatics, (**) Department of Educational and Social Policy University of... more
STUDYING STUDENTS' DIFFICULTIES IN AN OOP COURSE BASED ON BLUEJ Stelios Xinogalos(*) , Maya Sartatzemi(*) , Vassilios Dagdilelis(**) ( Department of Applied Informatics, (**) Department of Educational and Social Policy University of Macedonia, 156 Egnatia str ...

And 9 more