JOHN ATANASOFF SOCIETY OF AUTOMATICS AND INFORMATICS
>
DL.ACM.ORG DL.ACM.ORG
Computer Systems and Technologies 18th IInternational nternational C onference, CompSysTech’17 CompSysTech’17 18th Conference Ruse, B ulgaria, June June 2017 2017 Ruse, Bulgaria,
SPONSORS SPONSORS
ACM ISBN: 978-1-4503-5234-5
B ulgarian ACM ACM Chapter Chapter Bulgarian
B ulgaria Bulgaria MA USA USA MA Bulgaria Bulgaria Bulgaria Bulgaria B ulgaria Bulgaria B ulgaria Bulgaria
CompSysTech’17 Proceedings
Proceedings Proceedings ACM ACM IICPS CPS VOL. VOL. 1369 1 36 9
University of of Ruse, Ruse, University QUERBIE Inc., Inc., B oston, QUERBIE Boston, Technical University University of of Varna, Varna, Technical RISK Electronics, Electronics, RISK STEMO, STEMO, Musala S oft, Musala Soft,
Boris Rachev Rachev Boris Angel Smrikarov Smrikarov (Eds.) (Eds.) Angel
ACM Inc.
VOL. 1369 ACM International Conference Proceeding Series
COMPSYSTECH.ORG
JOHN ATANASOFF SOCIETY OF AUTOMATICS AND INFORMATICS
Computer Systems and Technologies 18th International Conference, CompSysTech’17 Ruse, Bulgaria, June 23-24, 2017
Proceedings
Boris Rachev Angel Smrikarov (Eds.)
ACM Inc.
Computer Systems and Technologies, CompSysTech 2017 Proceedings of the 18th International Conference on Computer Systems and Technologies Ruse, Bulgaria, June 23-24, 2017 Volume Editors Boris Rachev QUERBIE Inc. CEO 10 Longfellow Rd, Lexington, Massachusetts 02420 USA e-mail:
[email protected] Angel Smrikarov University of Ruse Department of Computer Systems and Technologies 8 Studentska St, Ruse, 7017 Bulgaria e-mail:
[email protected]
Association for Computing Machinery (ACM) 2 Penn Plaza, Suite 701 New York, NY 10121-0701 USA ACM website
http://acm.org ACM Copyright Notice Copyright © 2017 by Association for Computing Machinery, Inc. (ACM). Permission to make digital or hard copies of portions of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyright for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permission to republish from: Publications Dept., ACM, Inc. Fax +1 (212) 869-0481 or
[email protected] For other copying of articles that carry a code at the bottom of the first or last page, copying is permitted provided that the per-copy fee indicated in the code is paid through the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923. +1-978-750-8400, +1-978-750-4470 (fax). Notice to Past Authors of ACM-Published Articles ACM intends to create a complete electronic archive of all articles and/or other material previously published by ACM. If you have written a work that was previously published by ACM in any journal or conference proceedings prior to 1978, or any SIG Newsletter at any time, and you do NOT want this work to appear in the ACM Digital Library, please inform
[email protected], stating the title of the work, the author(s), and where and when published.
ACM ISBN: 978-1-4503-5234-5 Papers included in these Proceedings were triple reviewed by independent referees. The International Conference on Computer Systems and Technologies - CompSysTech’17, 2324 June 2017, took place at University of Ruse, Bulgaria. This Conference is a well known International event in Computing in Europe and the rest of the world.
iv
PREFACE CompSysTech’17 is the Eighteenth Bulgarian International Computer Science and Technologies Conference, organized by the Association for Computing Machinery, N.Y. USA, via its Bulgarian Chapter – acmbul in association with the Bulgarian Academic Society of Computer Systems and Information Technologies and the Bulgarian Union of Automation&Informatics (UAI). This Conference is the 30th acmbul event during the last 27 years and it is the first Bulgarian Conference in Computing. Many thanks are due to all Programme Committee Members for the huge and very strong work again. Over 107 papers from 13 countries around the world were submitted to the PC. The experts in computing, from 29 countries, wrote more than 320 reviews. The Conference topics include the following fields of the latest achievements in Computing: x x x x x x x
Artificial Intelligence Artificial Intelligence and Information Retrieval Operating Systems and Network Security Software Engineering Image Processing and Computer Vision Hardware e-Learning
The CompSysTech’17 PC Jury selected the best Papers for each session. The results are given below. Three famous keynote speakers - Vladimir Koylazov (Chaos Group, Bulgaria), Marite Kirikova (Riga Technical University, Latvia) and Darina Dicheva (Winston-Salem State University, USA) are involved this year. It is noteworthy that Mr. Vladimir Koylazov has OSCAR SCIENTIFIC AND ENGINEERING AWARD (2017) for the original concept, design and implementation of V-Ray from Chaos Group. Over 170 participants from many countries around the world had the chance to get acquainted and exchange ideas on the topics concerned, as well as on some of the latest advancements in Computing. Special thanks should be extended to the International Organizing Committee and to all sponsors of CompSysTech’17. Many thanks are also due to the CompSysTech’17 Proceedings Publisher ACM Inc., especially Scott E. Delman, Director of Publications, Bernard Rous, Former Director of Publications, Ron Perrott, ICPS Editor-in-Chief, and also Craig Rodkin, Publications Operations Manager, Deborah Cotton, Rights & Permissions, Anna Lacson, Bibliographic Processing Coordinator, all from the Office of Publications, Sunita Jaswal, Chapters Program Coordinator, Office of Marketing and Membership for setting such a high success and their support to this event. Finally, thanks are also due to the CompSysTech’17 PC Secretary Yordan Kalmukov, CompSysTech’17 Submission&Review System Developer and Administrator and UAI staff, especially Eugenia Dimitrova, who helped with the organization, and of course to all presenters, authors and participants who took the trouble to prepare papers for inclusion in these proceedings. The CompSysTech Series of Conferences is most well-known activity of Bulgarian ACM Chapter acmbul, the oldest in Central&Eastern Europe, established 27 years ago. Boris Rachev Angel Smrikarov Editors v
For more information about ACM and ACM Membership incl. special Membership rates, please, visit: http://www.acm.org/ https://campus.acm.org/public/qj/proflevel/countryListing.cfm?promo=LEVEL&form_type=Pr ofessional
vi
ORGANIZATION The CompSysTech’17 International Conference is organized by: the Association for Computing Machinery, N.Y., USA, via its Bulgarian Chapter – acmbul, the Academic Society of Computer Systems and Information Technology and Bulgarian UAI. The CompSysTech’17 is held under the patronage of: o
i
Bulgarian Ministry of Education and Science.
INTERNATIONAL PROGRAMME COMMITTEE x Honorary Chairs: Kiril Boyanov (Member of BAS, Bulgaria) Vassil Sgurev (Member of BAS, Bulgaria)
x Chair: Boris Rachev (QUERBIE Inc. Lexington, MA USA)
x Scientific Secretary: Dimo Dimov (BAS, Bulgaria)
x Secretary: Yordan Kalmukov (University of Ruse, Bulgaria)
x Members: Alexander Sudnitson (Tallinn University of Technology, Estonia) Amar Ramdane-Cherif (LISV, Université de Versailles, France) Andras Benczur (Eötvös Loránd University, Hungary) Antanas Zilinskas (Vilnius University, Lithuania) Antonio Corral (University of Almeria, Spain) Antonio Mendes (University of Coimbra, Portugal) Avram Eskenazi (IMI BAS, Bulgaria) Bojan Cestnik (Temida d.o.o., Slovenia) Boris Novikov (Saint Petersburg University, Russia) Candelaria Hernández-Goya (University of La Laguna, Spain) Constantinos Pattichi (University of Cyprus, Cyprus) Dana Petcu (West University of Timisoara, Romania) Danail Dochev (IICT-BAS, Bulgaria) Daniela Chuda (Slovak University of Technology, Slovakia) Darina Dicheva (Winston-Salem State University, USA) Dimitris Karagiannis (University of Vienna, Austria) Douglas Harms (DePauw University, USA) Erika Nazaruka (Riga Technical University, Latvia) Eugenijus Macikenas (Kaunas University of Technology, Lithuania) Franciska Losavio (Universidad Central de Venezuela, Venezuela) George Mavrommatis (Hellenic Open University, Greece) Georgi Todorov (Veliko Turnovo University, Bulgaria) Grisha Spasov (Technical University Sofia, Plovdiv Branch, Bulgaria) Hannu Jaakkola (Tampere University of Technology, Finland) Heinz-Dietrich Wuttke (Technical University of Ilmenau, Germany) Hilda Tellioglu (Vienna University of Technology, Austria) Iliya Georgiev (Denver State University, USA) Ivan Jelinek (Czech Technical University, Czech Republic) Janis Grundspenkis (Riga Technical University, Latvia) Janusz Jablonowski (University of Warsaw, Poland) Jaroslav Pokorny (Charles University in Prague, Czech Republic) Jouni Ikonen (Lappeenranta University of Technology, Finland) Jukka Teuhola (University of Turku, Finland) Juliana Peneva (New Bulgarian University, Bulgaria) Karl Jones (Liverpool John Moores University, United Kingdom)
ix
Kostadin Kratchanov (Yasar University, Turkey) Krassen Stefanov (University of Sofia, Bulgaria) Ladislav Hudec (Slovak University of Technology, Slovakia) Leon Rothkrantz (Delft University of Technology, Netherlands) Leoneed Kirilov (IICT, BAS, Bulgaria) Lyudmil Dakovsky (Technical University of Sofia, Bulgaria) Marco Porta (University of Pavia, Italy) Margarita Todorova (Veliko Turnovo University, Bulgaria) Maria Koziri (University of Thessaly, Greece) Maria Marcelino (University of Coimbra, Portugal) Marite Kirikova (Riga Technical University, Latvia) Markus Helfert (Dublin City University, Ireland) Martin Liamas Nistal (University of Vigo, Spain) Melih Inal (Kocaeli University, Turkey) Michael Vassilakopoulos (University of Central Greece, Greece) Mirjana Ivanovic (University of Novi Sad, Serbia) Natalia Castanon (Universidad Metropolitana, Venezuela) Neli Maneva (IMI BAS, Bulgaria) Nicole Levy (CNAM / CEDRIC, France) Nikolay Mehandjiev (University of Manchester, United Kingdom) Nikos Konofaos (Aristotle University of Thessaloniki, Greece) Novruz Allahverdi (Selcik University, Turkey) Olegas Vasilecas (Vilnius Gediminas Technical University, Lithuania) Pavol Navrat (Slovak University of Technology, Slovakia) Peter Stanchev (Kettering University, USA) Pino Caballero-Gil (University of La Laguna, Spain) Radi Romansky (Technical University of Sofia, Bulgaria) Rebecca Bartlett (Liverpool John Moores University, UK) Roumen Nikolov (State University of Library Studies and IT, Bulgaria) Sebastiano Battiato (University of Catania, Italy) Stavros Nikolopoulos (University of Ioannina, Greece) Stoicho Stoichev (Technical University of Sofia, Bulgaria) Tadeusz Morzy (Poznan University of Technology, Poland) Tanja 8UEDQþLþ (University of Nova Gorica, Slovenia) Thanasis Loukopoulos (University of Thessaly, Greece) Timos Sellis (Swinburne University of Technology, Australia) Tzvetomir Vasilev (University of Ruse, Bulgaria) Ville Leppänen (University of Turku, Finland) Vladimir Lazarov (IICT, BAS, Bulgaria) Yannis Manolopoulos (Aristotle University, Greece) x Additional Reviewers: Andrej Bugaev Asia Ramzan Dani Juricic
i
Fernando A. Mikic-Fonte Rotimi Ogunsakin Shohreh Hosseinzadeh
NATIONAL ORGANIZING COMMITTEE x Co-Chairs: Angel Smrikarov (University of Ruse, Bulgaria) Tzvetomir Vassilev (University of Ruse, Bulgaria)
x Secretary: Eugenia Dimitrova (UAI, Bulgaria)
x Members: Tzvetozar Georgiev (Univ. of Ruse, Bulgaria) Stoyanka Smrikarova (Univ. of Ruse, Bulgaria) Galina Ivanova (Univ. of Ruse, Bulgaria) Yuksel Aliev (Univ. of Ruse, Bulgaria)
x
Sonia Cisneros Cabrera
AWARDED PAPERS
The CompSysTech’17 best papers are:
For Session I Artificial Intelligence: “Extended Graph Backbone for Motif Analysis’’ by Antonio Maratea, Alfredo Petrosino and Mario Manzo “Smart Multifunctional Digital Content Ecosystem Using Emotion Analysis of Voice” by Alexander I. Iliev and Peter Stanchev For Session II Artificial Intelligence and Information Retrieval: “Text Classification Based on Enriched Vector Space Model” by Tsvetanka GeorgievaTrifonova “An Algorithm for Micro-localization in Large Public Buildings” by Rosen Ivanov For Session III Operating Systems and Network Security: “Pass-the-Hash – One of the Most Prevalent Yet Underrated Attacks for Credentials Theft and Reuse” by Dimo Dimov and Yuliyan Tsonev “Cyber Threat Hunting Through the Use of an Isolation Forest” by Dimitar Karev, Chris McCubbin and Ruslan Vaulin For Session IV Software Engineering: “Limited Resources Platform Implementation of Complex Event Processing System” by Ján Lang and Peter Gabaš “Informatics Solutions for Smart Trading on Wholesale Electricity Markets Containing RES Bidders” by Adela Bara, Simona Vasilica Oprea, Adina Uta, Osman Bulent Tor and Mahmut Erkut Cebeci For Session V Image Processing and Computer Vision: “Real Time GPU Accelerated Radar Scan Conversion and Visualization” by Vesselin Pezhgorski and Milena Lazarova For Session VI Hardware: “Intelligent Planting” by Ivan Ivanov and Vasilen Tsvetkov For Session VII e-Learning: “3D Augmented Reality Software Solution for Mechanical Engineering Education” by Yuksel Aliev, Vasil Kozov, Galina Ivanova and Aleksandar Ivanov MATLAB-Based Software Tool for Implementation of Bifid Ciphers” by Adriana Borodzhieva
xi
Session V: Image Processing and Computer Vision o An Approach for Mammography Image Segmentation ……..……..………………. Mariana Stoeva, Violeta Bozhikova o Image Based Steganography Using Modified LSB Insertion Method with Contrast Stretching ………..….…………………………………………………………….. Antoniya Tasheva, Zhaneta Tasheva, Plamen Nakov o CutSurf – a Software Tool for Cut Surface Evaluation of White Cheese ……..….. Atanaska Bosakova-Ardenska, Hristina Andreeva, Petya Boyanova, Peter Panayotov o Real Time GPU Accelerated Radar Scan Conversion and Visualization …..……. Vesselin Pezhgorski, Milena Lazarova o Mass-spring Cloth Simulation with Shape Matching …………….…………………. Tzvetomir Vassilev
226 233 241 249 257
Session VI: Hardware o Intelligent Planting …………..………………………………………………………….. Ivan Ivanov, Vasilen Tsvetkov o Internet-of-Things Communication Protocol for Low-Cost Devices in Heterogeneous Wireless Networks ….………………………………………………………….. Svetozar Ilchev, Zlatoliliya Ilcheva o Fuzzy Model of an Intelligent Agent Behaviour and Method of Fire Extinguishing Control …….………………………………………………….………………………….. Aleksey Senkov, Aleksander Chepikov
265
272
280
Session VII: e-Learning o An Affective Distant Learning Model Using Avatars as user stand-in ……………. Leon Rothkrantz o A Conceptual Model of an Electronic Appendix called "Nursing File for Palliative Care", for Training Students from the Speciality of Nurse. …………………….…... Greta Koleva, Despina Georgieva, Yavor Stefanov o Utility and Optimal Usage of ICT in Schools …..……………………………….……. Valentina Terzieva, Katia Todorova, Yuri Pavlov, Petia Kademova-Katzarova o Designing a Virtual Laboratory for Teaching Programming ……………………….. Galya Shivacheva, Veselina Nedeva, Svetoslav Atanasov o 3D Augmented Reality Software Solution for Mechanical Engineering Education Yuksel Aliev, Vasil Kozov, Galina Ivanova, Aleksandar Ivanov o MATLAB-Based Software Tool for Implementation of Bifid Ciphers ……………… Adriana Borodzhieva
AUTHOR’S INDEX ………………………………………………………………………….
xv
288 296 302 310 318 326
335
International Conference on Computer Systems and Technologies - CompSysTech’17
Designing a Virtual Laboratory for Teaching Programming Galya Shivacheva, Veselina Nedeva, Svetoslav Atanasov Abstract: This article presents the process of designing a virtual laboratory for teaching C ++ programming. The technological requirements and those regarding the content and organization of the education are formulated based on preliminary research. The conceptual, functional and architectural models of the virtual laboratory are presented. The conceptual model defines three groups of resources: for studying; databases for consumers and means of communication. The contents of the interactive teaching units are discussed in detail. The functional model examines the role and functions of the three groups of users: administrators, teachers and students. Key words: Virtual laboratory, Programming, Conceptual model, Functional Model, Architecture.
INTRODUCTION Information and communication technologies show a high grow rate and put their mark on education. They lead to both implementing new forms of education, such as distance learning, and improving the current learning resources. In this aspect, the virtual laboratory for teaching programming (VLTP) allows for remote learning and has a number of advantages over traditional teaching methods. “The virtual laboratory is a computerbased laboratory, which interactively, using computer simulation of real objects, devices or processes, or using a remote access to a real laboratory, allows for conducting of experiments and performing various measurements”[9]. “Most of the studies and projects regarding teaching a programming course to novices and experienced students are based on different types of visualizations, animations and simulations of algorithms and with the use of diverse programming languages. For example: ALGAE (Zeil S. J., 2011), allows C++ or Java code to be produced an “animated” version of that code.; TRAKLA 2 is a learning environment that supports algorithm animation and simulation tasks where the user directly manipulates data structures through a graphical user interface” (Korhonen A, at all 2003), H-SICAS (Marcelino M., at all, 2008) performs a handheld algorithm animation and simulation tool; Tutoring System for programming (Krushkov H. at all, 2009) – includes tasks with visualization of algorithms and interactive tests for the evaluation of students’ knowledge; ProGuide (Areias C. M., at all, 2007) and ProLearn (Mendes A. J., 2006) are tools for the simulation of algorithms with flowcharts and code visualization. Web sites developed by David R. Martin, (2007), Duane J. Jarc, (1998), Morris J, (1998) perform a diversity of visualizations through animations and simulations of sorting algorithms [10]. The University of Komarno in Slovakia has created a rich collection of animations for teaching algorithms and programming, which is available on the Internet at:: http://anim.ide.sk/ and http://algoanim.ide.sk/. These animations and visualizations illustrate and present step by step each of the algorithms. They facilitate and lighten the study process for the students. Another advantage is that they can be repeated multiple times and at a convenient time and place for the user. In this case, the algorithms are considered and studied individually, and not as a part of the programming study program, which is exactly the idea of t this article’s authors.
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from
[email protected]. CompSysTech'17, June 23–24, 2017, Ruse, Bulgaria © 2017 Association for Computing Machinery. ISBN 978-1-4503-5234-5/17/06...$15.00 https://doi.org/10.1145/3134302.3134321
310
International Conference on Computer Systems and Technologies - CompSysTech’17
The animation in the above mentioned websites do not allow for the user to enter their own input data and experiment with this data, and allow only for the use of the same pre-programmed parameters. This feature has been further developed in the Virtual Laboratory for Teaching Programming, designed by the authors, which uses interactive teaching units. In Bulgaria there is a web-based e-learning system for dynamic data structure – DSLearning. “It was established as a learning system, which is using feedback, using nonlinear algorithms – it offers a contemporary approach, but this is not a virtual laboratory. The system not only provides information, but also simultaneously checks the user’s answers. Depending on them, the system can change and take the course of the lesson in one of the other direction. The sequence of questions is the same for all students (the system still does not use adaptive learning). The difference comes from the supplementary learning materials, which one goes through to get to the right answer. The user can get help from the system – guidelines for continuing the reasoning process, a control answer or simply a visualization of the reasoning up-to-this moment. This is an advantage, allowing for the opportunity to check the up-to-this moment reflections, made by the students”[5]. In the Polytechnic University of Catalonia, according to the article, “A Virtual Laboratory Structure for Developing Programming Labs” [2] there are 29 virtual programming labs, covering various issues, and 33 virtual labs in other covering other areas of software and computer engineering. Another example for virtual programming labs are the ones in India, created thanks to the initiative of their Ministry of human resource development and in accordance with the National literacy mission programme. The virtual laboratories are created with the help of a great number of universities and are divided thematically into groups. For the purpose of our research for us of interest are the virtual labs for “Computer science and engineering”; “Programming and data structures”; “Data structures”, “Computer programming” and “Principles of computer languages”. These virtual labs introduce different types of animation, according to the type of algorithm, the structures or the programming code that they present. According to the basic concept of the authors, VLTP helps improve the understanding, and mastering of the practical application of the basic principles of programming, basic algorithms and data structures. There are VLTP that include modules for automatically evaluating and analyzing of the programming code, written by the student. Virtual Programming Lab for Moodle (Rodríguez-del-Pino et al.), STYLE (Michael J. Rees) and CAP (Tom Schorsch) focus on the automatic evaluation of program's style and syntax. PASS (M.S. Choy et al.) focus on assessment capabilities. Some tools focus on execution for a specific programming language, as PACER (Mathew J Palakal), for ELI, a language similar to C, or HoGG (D.S. Morris) and ELP (Nghi Truong et al.) for Java [6]. VLTP, designed by the authors, focuses on the learning process in a virtual environment with a friendly interface using simulations, visualizations and animations. The aim is to lower the level of abstraction in learning the algorithms, analyzing the process for implementing the programs, stimulating heuristic ideas, understanding the theory and gaining knowledge. The dynamics of the working environment and the interactivity allow for direct impact on the parameters of the generated code and to monitor the changes in its operation. Automated evaluation is not part –of the VLTP project. The assessment of the gathered knowledge is made using a recommended test. The virtual laboratory for teaching programming is computer-based virtual lab, which interactively, using software simulation of the basic concepts, basic algorithms and data structures. VLTP helps for an easier perception by the students and stimulates the development of their algorithmic thinking concerning the practical application of the acquired knowledge [8]. This authors’ opinion is a summarized expression of the concept of VLTP, whose design is presented in this article. The in-depth analysis of virtual labs,
311
International Conference on Computer Systems and Technologies - CompSysTech’17
which are most comprehensively represented in the literature or provide a free web-based access to the experimental part, aims to illuminate the main highlights in the application process and to discuss their advantages and the existing possibilities for their improvement. The VLTP design aims to achieve this effect. Through the application of virtual laboratories in teaching programming one can achieve an increase in the motivation and cognitive activity of the students, and development in the problem-solving abilities. Using computer simulations, interactivity, visibility and dynamic environment allow for the development of the algorithmic thinking of the students, and achieves the goal of “procedural and conceptual understanding of the algorithms”, reduces the abstraction in perceiving the concepts, “enhances the emotional impact by satisfying the natural curiosity of the students and the critical rationalization of the information” [8]. DESIGN METHODS The virtual laboratory for teaching programming (VLTP) is a software product. Its design and implementation is based on the methods of software engineering. To this end, a conceptual, functional and architectural method have been developed. UML allows the functional description of the processes and recording of the basic behavioral characteristics of a given system by presenting the [7]: 9 functionality of the product (use cases); 9 impact on the environment (using active subjects – actors); 9 determining the relationship between the possibilities for use and the active subjects (use case diagrams). The functional model of the virtual lab is formulated based on the principles of objectmodeling and is described using UML terminology. The groups of users of the virtual lab are defined after analysis of the functional requirements, and their functions are determined [7]. Our next task is the compilations of scenarios, including a detailed description of the actions of a certain user, which are needed to implement each of the functions are defined for the user in accordance with his rights. “Use Case analysis is the most effective method for functional specification of a software system. The Use Case diagram is a model showing the users and their interactions with the system. It provides a picture of the possible scenarios for using the system in terms of the respective user.” [3]. Use Case diagrams are used for the functional design of VLTP. DISCUSSION AND RESULTS The VLTP design, in accordance with the above mentioned methods, includes three stages: definition and description of the conceptual method, development and presentation of the functional method and determination of the appropriate architecture. A. Conceptual model The conceptual model is a visual representation of the separate elements. Part of the conceptual model are different structural entities from the area of informatics and in particular of C++ programming. The requirements for the virtual labs are formulated in different articles and theses, which are tin compliance with the objective of relevant research [11,12]. The following technological requirements, that are set for VLTP, are based on the preliminary analysis, done by the authors, and the design objectives: 9 to be developed using open source products 9 to be platform independent– not to be dependent on the operating system used by the user 9 to allow easier future
312
International Conference on Computer Systems and Technologies - CompSysTech’17
9 to use fewer resources, both on the server and client side – i.e. it should not require user resources that are bigger than the ones in use at the moment 9 it should not require the pre-installation of a specific software by the 9 it should not necessarily require the simultaneous virtual “attendance” of both student and lecturer 9 to provide an intuitive user interface. The following requirements for VLTP, in terms of the content and organization of the study material, are formulated: 9 to offer theoretical material that is sufficient in terms of content and volume. The theoretical material should be systematic and structured in logically separate teaching units, with clearly formulated academic goals part of each academic unit 9 the abstract level of presentation should be consistent with the level of the students 9 it should include a practical task for independent work 9 it should include interactive exercises that present basic notions and algorithms, with the help of visualization, animation and simulation 9 it should include test that should check the level of assimilating the theoretical material, in accordance with the goals that are set 9 to include the means of communication, which allow for a dialog between lecturers and students, in order to discuss questions concerning the learning resources, the activities, the work in the virtual lab and others 9 to include admin tools, in order to manage the registration of the users, the user profiles, the access rights for the virtual laboratory, the organization of the learning activities and others. Fig.1 presents the conceptual model of VLTP that is proposed in this article. It has high level of abstraction and defines three main groups of resources: Learning resources
visibility
Visualization
Animation Simulations
Test 1
Basic concepts
Operators
Arrays
Dynamic structures
Basic algorithms
Functions and recursion
Test 3
Search algorithms
Sorting algorithms
Test 4
algorithmic thinking
interactivity
Tests
Test 2
check
knowledge and skills
Modules of VLTP
assessment
Training materials
Databases for users VLTP User profile
VLTP VLTP
Asynchronous
Additional information about students
Registration data
Achieved level of training modules
Consumer rights
Test results
Means of communication
E-mail Discussion forum
Synchronous Online chat
Fig. 1. Conceptual Model of Virtual Laboratory for Teaching Programming
Learning resources, providing the necessary minimum of knowledge needed for the realization of an education process for teaching programming:
313
International Conference on Computer Systems and Technologies - CompSysTech’17
9 Modules of VLTP – there are eight modules, covering the main topics in the theory of programming and consisting of different number of interactive teaching units. 9 Test – there are four tests, including various types of questions, associated with the respective modules. Each test refers to two modules. 9 Visualization, animation and simulations – a specified part of the website window for the relevant interactive learning unit (ILU), for which such a presentation of the information is possible in order to lower the abstraction of the concepts and to increase the visibility for easier perception. 9 Training materials – containing further explanations of the simulation for which they apply, and which, if necessary, may be used by the student. Database for VLTP users 9 User profile – registration data and VLTP consumer rights: administrator, lecturer and student. 9 Information about students – achieved level of training modules and test results. Means of communication 9 Asynchronous communication using email and discussion forum. 9 Synchronous communication supporting online chat. The content of the basic VLTP modules incorporates the C++ programming interactive learning units (ɂɍȿ) as follows: Module “Basic concepts” includes the following interactive learning units: Data types; Constants; Variables; Expressions; Module “Operators”: Assignment operator; Input operator; Exit operator; Compound assignment; Conditional operator: if and else; The selective structure switch; The for loop; The while loop; The do-while loop; The break statement; The continue statement; Module “Arrays”: Definition and declaration; Initialization; Input and output; One-dimensional array; Multidimensional array; Module “Dynamic structures”: Lists; Stacks; Queues; Binary tree; Module “Basic algorithms”: Swapping the value of two variables; Finding the smallest number; Finding the largest number; Sum, Multiply and Count of sequence of numbers according to a condition. Module “Functions and recursion”: Identification and declaration; Scope of variables; Arguments passed by value and by reference; Recursivity; Recursive functions; Module “Search algorithms”: Sequential search; Binary search; Module “Sorting algorithms”: Bubble sort; Selection sort; Quick sort. The tests include several types of questions, pertaining to the skills and knowledge gathered after learning from the interactive teaching units of two similar in sense modules: Test 1 contains questions pertaining to modules “basic concepts” and “operators”; Test 2 contains questions pertaining to modules “arrays” and “dynamic structures”; Test 3 contains questions pertaining to modules “basic algorithms” and “functions and recursion”; Test 4 contains questions pertaining to modules “search algorithms” and “sorting algorithms”. B. Functional model VLTP is designed for three types of users: administrator, lecturer and student. Each laboratory user is registered, gains access and rights, identifies him/herself and enters VLTP, participates in the forum by sharing opinions and new topics, reviews additional information, checks one’s email and messages. The administrator privileges are associated with registration and allowing access to the laboratory for the various users. The admin also prepares the learning resources – creates the interactive teaching units, prepares the tests, sets up and installs the software and uses the database - monitors the database state, archives the database, provides information concerning the user names, prepares reports. The lecturers’ privileges pertain to the preparation of the educational resources – adds different tasks, adds helpful information, adds interactive teaching units, creates simulations, creates programming code for an algorithm, prepares examples, presents theory, adds tests and test questions.
314
International Conference on Computer Systems and Technologies - CompSysTech’17
The students will be also allowed access to the educational resources – theory, case studies and examples, examining algorithm code, data entry, performing a simulation, taking a test, receiving a test score. C. VLTP architecture VLTP is a web-based software application. Its architecture is defined by the already presented conceptual model, with its characteristics and requirements, and functional model. The VLTP architecture allows the users the following functionality: remote access to the educational resources, materials and learning environment for teaching programming; interactive user-oriented environment based on the specifics of the content and used technologies; Digital Science Library; Data storage and management; Educational potential for teaching and self-study; Workgroup collaboration tools and means of communication; the students can gain access to VLTP anywhere and anytime. VLTP uses three-tier system architecture: Client Tier, Server Tier and Database Tier (Fig.2.). The Client Tier includes Smart Client and web browser. Smart Client combines the function and flexibility of Rich Client and deployment easily and stability which is belongs to Thin Client organically [4]. Server Tier Application Server
Web pages
Controller
Plug-ins
Simulator
Run time Environment Smart Client
Web server
Web Browsers
Interactive communication
Database Tier
Databases: User’s information; 8 Modules; 4 Tests; Application for Visualizations, Animations and Simulations
Evaluation
External Systems
Client Tier
DB Storage
Visualization
Animation View Controller Simulation
Data Center in a Box of Trakia University – Stara Zagora
Fig. 2. Architecture of Virtual Laboratory of Education in Programming
While using VLTP the students communicate with the server via the system browser. The communication between the server and the computers of the students goes through the request and response of the HTTP protocol. The server uses either Linux OS or Windows Server. An AJAX request is sent to the server when the users execute commands using the web-application interface. When this request reaches the server, it is processed and is sent to the virtual instance of the computer server. The communication between the server and the virtual instance is through SSH. The result of the request is sent from the virtual instance to the server. Then, the server sends back the request response to the browser of the host system aa an HTTP response. The choice of OS is based on the advantages of the Linux OS compared to Windows Server, which can be summarized as follows [13]: Stability; Security; Hardware; TCO (Total Cost of Ownership); Freedom. Server Tier Includes Web Server and Application Server. Web Server is mostly designed to serve static content, though most Web Servers have plugins to support
315
International Conference on Computer Systems and Technologies - CompSysTech’17
scripting languages like Perl, PHP, ASP, JSP etc. through which these servers can generate dynamic HTTP content. Tomcat is a web server (can handle HTTP requests/responses) and web container (implements Java Servlet API, also called servletcontainer) in one. Some may call it an application server, but it is definitely not an fullfledged Java EE application server (it does not implement the whole Java EE API). An application server is a software framework that provides both facilities to create web applications and a server environment to run them [2]. An application server can often be described as a software framework that resides in the middle tier of a server centric architecture. Most of the application servers have Web Server as integral part of them that means App Server can do whatever Web Server is capable of. Additionally, App Server has components and features to support Application level services such as Connection Pooling, Object Pooling, Transaction Support, Messaging services etc. Database tier include Databases and Storage of Databases. The databases contain information: about the users (user profiles, access privileges); about the students (reached module level and test results); about the educational resources (eight modules with the respective interactive teaching units); about the tests for teaching C++ programming – four test that are part of VLTP; about the educational materials; database of the visualizations, animations and simulations; database archive, which is updated automatically over a given time period. Data Center was used for the creation of VLTP, which was designed in conjunction with the creation of the Integrated Management Information System for Trakia University in Stara Zagora. “Technical implementation of the Integrated Management Information System is based on blade servers and is called „Data Center in a Box “, using which a server complex is created that is based on the newest hardware and software technologies. This server complex is centralized and virtualized. The consolidation of the server resources is done using blade-based technologies. The blade technologies provide an extremely reliable, manageable and efficient environment. Since the servers are in a common chassis, they use the same electricity and centralized management. The virtualization of the centralized server complexes provides the efficient use, maintenance and management of the hardware and increases the reliability of the operations in the application systems. The virtualization software can execute a planned move of the virtual machines from one to another host server. The technologies, on which this decision is based, are: server blade architecture, SAN storage architecture with automated backup of the virtual environment and the data, Intelligent Disk Subsystems” [1]. CONCLUSION This article is a follow-up to the work of the authors in studying virtual labs and their application in teaching programming. It contains a brief analysis of the literature, and the VLTP requirements, in accordance to which the conceptual, functional, and architectural model are designed. What follows is the completion and testing of VLTP, by users studying C++ that are being introduced to the programming basics. The merits of VLTP and the efficiency of its application will be assessed in the next stages. ACKNOWLEDGMENT This paper is a contribution to the implementation of the FTT – Yambol at Trakia Universities (Bulgaria) research project No2-FTT/30.04.2015 “Application of the virtual laboratories at the universities”. REFERENCES Periodicals: [1] Nedeva,, V.I., D.G.Nedev, (2014), Integrated Management Information System for Trakia University of Stara Zagora, ARTTE Vol.1 No 3 2014, Bulgaria; 10/2014, DOI: 10.13140/2.1.1294.9444
316
International Conference on Computer Systems and Technologies - CompSysTech’17
[2] Prieto-Blazquez, J., J.Herrera-Joancomarti, A Virtual Laboratory Structure for Developing Programming Labs, International Journal of Emerging Technologies in Learning, Vol 4, 2009, pp Available at http://online-journals.org/i-jet/article/view/789 [3] Shoikova, E., V.Denishev, Adaptive mechanisms in architecture for e-learning with integrated MS Class Server, Automation and Information Journal, 2004ɝ. Vol 2. pp.2532 (in Bulgarian) Books: [4] "eLearning - Theories, Design, Software and Applications", book edited by Patrizia Ghislandi, ISBN 978-953-51-0475-9, Published: April 11, 2012 under CC BY 3.0 license. Chapter 14 Fuan Wen, Open Web-Based Virtual Lab for Experimental Enhanced Educational Environment, pp 239-262, Available at www.intechopen.com/books/ Papers from Conference Proceedings (Published): [5] Dyankova, V., M.Yankov, R.Boyadzhieva, E-learning DSLearning in the context of knowledge management, "Fifth National Conference" Education in the Information Society Plovdiv, ISSN 13140752, 2012, pp 262-272 (in Bulgarian) [6] Rodríguez-del-Pino, J.C., Rubio-Royo, E., Hernández-Figueroa, Z., (2012), A Virtual Programming Lab for Moodle with automatic assessment and anti-plagiarism features [7] Romanski,R.P, (2010), Architecture and Functional Description of Virtual Reserch Laboratory, International Scientific Conference 19 – 20 November 2010, Gabrovo, 2010 [8] Shivacheva, G., V.Nedeva, Contemporary aspect of teaching programming using Virtual Laboratory, 9th National Conference „Education and Research in the Information Society”, Plovdiv, 26 - 27 May, ISSN 1314-0752, pp.197-206 (in Bulgarian) [9] Shivacheva, G., V.Nedeva, M.Vasileva, D.Georgieva, Software for Development of Virtual Laboratory, XɏȱVth Internationa Scientific Conference „Management and Quality” for young researchers, 2015, Paper’s Proceedings, pp.292-300 (in Bulgarian) [10] Tuparov, G., Tuparova, D., Jordanov, V., (2014), Teaching sorting and searching algorithms through simulation-based learning objects in an introductory programming course, 5th World Conference on Educational Sciences - WCES 2013, Procedia - Social and Behavioral Sciences 116 ( 2014 ) pp 2962 – 2966 Dissertations: [11] Ivanova, A., Abstract of a thesis on "Creating and testing a virtual laboratory" in Computer Organization“, 2006 (in Bulgarian) [12] Tomov, O.,PhD thesis "Development and research of virtual laboratories in Computer Systems and Technologies, 2011(in Bulgarian) Online Sources: [13] Available at: Linux or Windows Server OS http://www.pcworld.com/article/204423/why_linux_beats_windows_for_servers.html] ABOUT THE AUTHOR Galya Ilieva Shivacheva, PhD student, Trakia University, Faculty of Technics and Technology, Yambol, Phone: + 359 897361607, e-mail:
[email protected] Veselinka Ivanova Nedeva, Assoc.Prof., Trakia University, Faculty of Technics and Technology Yambol, Phone: + 359 886860476, e-mail:
[email protected] Svetoslav Stefanov Atanasov, PhD Student, Department of Automation and Mechatronics, University of Ruse Angel Kanchev, Phone: +359 885662421,
[email protected]
317