In this document, the authors discuss using virtual programming labs in an introductory computer programming course called APROG. APROG currently uses an EduScrum teaching methodology with the Moodle learning management system. Next year, the authors plan to incorporate a virtual programming lab tool into Moodle to evaluate students' programs automatically. The goal is to analyze the tool's potential and see if it can validate students' code by running test data. This would provide feedback to students and assess the tool's pedagogical value for teaching programming.
English is a language that must be known all-digital era at this time where almost all information is in English, ranging from kindergarten to college learn English. elementary school is now also there are learning and to help introduce English is prototype application recogni-tion of common words in English and can be updated dynamically so that updates occur information to new words and sentences in Eng-lish to be introduced to students.
English is a language that must be known all-digital era at this time where almost all information is in English, ranging from kindergarten to college learn English. elementary school is now also there are learning and to help introduce English is prototype application recogni-tion of common words in English and can be updated dynamically so that updates occur information to new words and sentences in Eng-lish to be introduced to students.
منظومة المدرس العصرى هى أحدث تكنولوجيا لتقديم وأدارة المحتوى الإلكترونى التعليمى فى الفصول الإلكترونية. حيث تقوم المنظومة بالربط بين السبورة الألكترونية وجهاز المدرس وأجهزة الطلاب فى الفصل الألكترونى لخلق مناخ تعليمى تفاعلى يتمركز حول الطالب كأساس العملية التعليمية ويقوم المدرس بدور الميسر للعلمية التعليمية ويتم من خلالها تطبيق التعليم التفاعلى والتعليم التعاونى والتعليم المدمج وتتكون المنظومة من تطبيقين: المدرس العصرى وهو خاص بالمدرس والطالب العصرى وهو يخص الطالب. وتتكون المنظومة ن ثلاثة مكونات: فللمدرس هناك خطة الدرس ومكتبة مصادر التعلم الإلكترونية وقاعدة بيانات الأسئلة وللطلب نفس قاعدتى البيانات ومعها تطبيق يمكن الطالب من تدوين ملاحظاته فى الفصل وأثناء الإستذكار
فكرة المنظومة طورها الدكتور عادل خليفة رئيس مجموعة خليفة للكمبيوتر وتنتجها وتسوقها مجموعة خليفة للكمبيوتر وتصلح لجميع المواد وجميع مراحل التعليم فى أى دولة فى العالم وجارى تطويرها كمنظومة بتقنيات الحوسبة السحابية
Load balancing clustering on moodle LMS to overcome performance issue of e-le...TELKOMNIKA JOURNAL
In dealing with the rapid growth of digitalization, the e-learning system has become a mandatory component of any Higher Education (HE) to serve academic processes requests. Along with the increasing number of users, the need for service availability and capabilities of eLearning are increasing day by day. The organization should always look for strategies to keep the eLearning always able to meet these demands. This report presents the implementation of Load Balancing Clustering (LBC) mechanism applied to Moodle LMS in an HE Institution to deal with the poor performance issues. By utilizing existing tools such as HAProxy and keepalived, the implemented LBC configuration delivers a qualified e-learning system performance. Both qualitative and quantitative parameters convince better performance than before. In four months of the operation there is no user complaint received. Meanwhile, in the current semester has been running for two months, the up-time is 99.8 % of 52.685 minutes operational time.
Development of a Modular Unit of a Higher Level Framework or Tool for Basic P...TELKOMNIKA JOURNAL
This paper reports about the development of a modular unit of a higher level framework or tool whose intended objective is the creation of animated lessons for basic programming (CS1) course in computer science discipline with visual aids. The goal of such lessons is to address the difficulties faced by the novice programmers in CS1 course.This module here after referred to as ‘type writer’allows instructors to render programmes or code snippets in a live typing manner as opposed to their sudden or en-block placement on the presentation area like a Power Point Slide; a commonly used approach in the present day eLearning.This project is planned to be executed in two stages and ‘type writer’ is the outcome of the first stage. This would be combined with another two modules that are planned to be developed in the second stage, to make the complete tool. The entire tool would be developed in Action Script 3.0 language that works on Adobe Flash Platform.
AN ADAPTIVE AND INTELLIGENT TUTOR BY EXPERT SYSTEMS FOR MOBILE DEVICESijmpict
Mobile Learning (M-Learning) is an emerging discipline in the area of education and educational technology. So researchers are trying to optimize and expanding its application in the field of education. The aim of this paper is to investigate the role of mobile devices and expert systems in disseminating and supporting the knowledge gained by intelligent tutors and to propose a system based on integration of intelligent M-Learning with expert systems. It acts as an intelligent tutor which can perform three processes - pre-test, learning concept and post-test - according to characteristic of the learner. The proposed system can improves the education efficiency highly as well as decreases costs. As a result, every time and everywhere (ETEW) simple and cheap learning would be provided via SMS, MMS and so on in this system. The global intention of M-Learning is to make learning “a way of being”.
E-Learning Applications in the Open Education Faculty of Anadolu UniversityMehmet Emin Mutlu
"E-Learning Applications in the Open Education Faculty of Anadolu University", European Association for Distance Learning (EADL) Conference 2004, Istanbul, 26-28 May 2004.
Siti Rosminah, M. D., & Ahmad Zamzuri, M. A. (2012). Difficulties in learning Programming: Views of students. In 1st International Conference on Current Issues in Education (ICCIE2012) (pp. 74–78). Yogyakarta: Yogyakarta State University.
Remote interpreter API model for supporting computer programming adaptive lea...TELKOMNIKA JOURNAL
Despite the adoption of Learning Management Systems (LMS) has been continuously growing in the last decade few, if any, scholars addressed the lack of the interactivity in online learning systems. The requirement for an interactive learning model has been increasingly prominent as content providers realize the importance of personalization of content suits to learners’ learning progress. This paper demonstrates the adoption of adaptive learning into existing LMS engine to overcome the limitation of either systems plugins or server specification pertinent to students’ psychomotor abilities in computer programming learning. In this regard, the psychomotor is understood as the ability of students to write the program code as correctly as expected. In this study, a web API model that works to run an interpreter based-program code remotely was developed. The web API model can be utilized by LMS so it becomes the solution to the problem. The structure of the web API model has been adapted to the needs of the learning assessment. The implementation of the developed API web model is done in Python and PHP programming languages. The performance test was done by submitting 10 to 100 program codes simultaneously indicated no significant difference to the required resources (CPU usage and memory usage) to run the program code. Furthermore, for response time, the average time needed to run Python and PHP program code is also no significant difference. The average of CPU usage required by the web API to run a Python program code is 0.2058% with 0.5973 seconds as a response time. Meanwhile, to run the PHP program code, the average CPU usage required is 0.8074% with 0.3110 seconds response time. It can be concluded that the web API performance does not overburden the server.
منظومة المدرس العصرى هى أحدث تكنولوجيا لتقديم وأدارة المحتوى الإلكترونى التعليمى فى الفصول الإلكترونية. حيث تقوم المنظومة بالربط بين السبورة الألكترونية وجهاز المدرس وأجهزة الطلاب فى الفصل الألكترونى لخلق مناخ تعليمى تفاعلى يتمركز حول الطالب كأساس العملية التعليمية ويقوم المدرس بدور الميسر للعلمية التعليمية ويتم من خلالها تطبيق التعليم التفاعلى والتعليم التعاونى والتعليم المدمج وتتكون المنظومة من تطبيقين: المدرس العصرى وهو خاص بالمدرس والطالب العصرى وهو يخص الطالب. وتتكون المنظومة ن ثلاثة مكونات: فللمدرس هناك خطة الدرس ومكتبة مصادر التعلم الإلكترونية وقاعدة بيانات الأسئلة وللطلب نفس قاعدتى البيانات ومعها تطبيق يمكن الطالب من تدوين ملاحظاته فى الفصل وأثناء الإستذكار
فكرة المنظومة طورها الدكتور عادل خليفة رئيس مجموعة خليفة للكمبيوتر وتنتجها وتسوقها مجموعة خليفة للكمبيوتر وتصلح لجميع المواد وجميع مراحل التعليم فى أى دولة فى العالم وجارى تطويرها كمنظومة بتقنيات الحوسبة السحابية
Load balancing clustering on moodle LMS to overcome performance issue of e-le...TELKOMNIKA JOURNAL
In dealing with the rapid growth of digitalization, the e-learning system has become a mandatory component of any Higher Education (HE) to serve academic processes requests. Along with the increasing number of users, the need for service availability and capabilities of eLearning are increasing day by day. The organization should always look for strategies to keep the eLearning always able to meet these demands. This report presents the implementation of Load Balancing Clustering (LBC) mechanism applied to Moodle LMS in an HE Institution to deal with the poor performance issues. By utilizing existing tools such as HAProxy and keepalived, the implemented LBC configuration delivers a qualified e-learning system performance. Both qualitative and quantitative parameters convince better performance than before. In four months of the operation there is no user complaint received. Meanwhile, in the current semester has been running for two months, the up-time is 99.8 % of 52.685 minutes operational time.
Development of a Modular Unit of a Higher Level Framework or Tool for Basic P...TELKOMNIKA JOURNAL
This paper reports about the development of a modular unit of a higher level framework or tool whose intended objective is the creation of animated lessons for basic programming (CS1) course in computer science discipline with visual aids. The goal of such lessons is to address the difficulties faced by the novice programmers in CS1 course.This module here after referred to as ‘type writer’allows instructors to render programmes or code snippets in a live typing manner as opposed to their sudden or en-block placement on the presentation area like a Power Point Slide; a commonly used approach in the present day eLearning.This project is planned to be executed in two stages and ‘type writer’ is the outcome of the first stage. This would be combined with another two modules that are planned to be developed in the second stage, to make the complete tool. The entire tool would be developed in Action Script 3.0 language that works on Adobe Flash Platform.
AN ADAPTIVE AND INTELLIGENT TUTOR BY EXPERT SYSTEMS FOR MOBILE DEVICESijmpict
Mobile Learning (M-Learning) is an emerging discipline in the area of education and educational technology. So researchers are trying to optimize and expanding its application in the field of education. The aim of this paper is to investigate the role of mobile devices and expert systems in disseminating and supporting the knowledge gained by intelligent tutors and to propose a system based on integration of intelligent M-Learning with expert systems. It acts as an intelligent tutor which can perform three processes - pre-test, learning concept and post-test - according to characteristic of the learner. The proposed system can improves the education efficiency highly as well as decreases costs. As a result, every time and everywhere (ETEW) simple and cheap learning would be provided via SMS, MMS and so on in this system. The global intention of M-Learning is to make learning “a way of being”.
E-Learning Applications in the Open Education Faculty of Anadolu UniversityMehmet Emin Mutlu
"E-Learning Applications in the Open Education Faculty of Anadolu University", European Association for Distance Learning (EADL) Conference 2004, Istanbul, 26-28 May 2004.
Siti Rosminah, M. D., & Ahmad Zamzuri, M. A. (2012). Difficulties in learning Programming: Views of students. In 1st International Conference on Current Issues in Education (ICCIE2012) (pp. 74–78). Yogyakarta: Yogyakarta State University.
Remote interpreter API model for supporting computer programming adaptive lea...TELKOMNIKA JOURNAL
Despite the adoption of Learning Management Systems (LMS) has been continuously growing in the last decade few, if any, scholars addressed the lack of the interactivity in online learning systems. The requirement for an interactive learning model has been increasingly prominent as content providers realize the importance of personalization of content suits to learners’ learning progress. This paper demonstrates the adoption of adaptive learning into existing LMS engine to overcome the limitation of either systems plugins or server specification pertinent to students’ psychomotor abilities in computer programming learning. In this regard, the psychomotor is understood as the ability of students to write the program code as correctly as expected. In this study, a web API model that works to run an interpreter based-program code remotely was developed. The web API model can be utilized by LMS so it becomes the solution to the problem. The structure of the web API model has been adapted to the needs of the learning assessment. The implementation of the developed API web model is done in Python and PHP programming languages. The performance test was done by submitting 10 to 100 program codes simultaneously indicated no significant difference to the required resources (CPU usage and memory usage) to run the program code. Furthermore, for response time, the average time needed to run Python and PHP program code is also no significant difference. The average of CPU usage required by the web API to run a Python program code is 0.2058% with 0.5973 seconds as a response time. Meanwhile, to run the PHP program code, the average CPU usage required is 0.8074% with 0.3110 seconds response time. It can be concluded that the web API performance does not overburden the server.
A Survey on E-Learning System with Data MiningIIRindia
E-learning process has been widely used in university campus and educational institutions are playing vital role to enhance the skill set of students. Modern E-learning done by many electronic devices, such as smartphones, Tabs, and so on, on existing E-learning tools is insufficient to achieve the purpose of online training of education. This paper presents a survey of online e-Learning authoring tools for creating and integrating reusable e-learning tool for generation and enhancing existing learning resources with them. The work concentrates on evaluation of the existing e-learning tools a, and authoring tools that have shown good performance in the past for online learners. This survey work takes more than 20 online tools that deal with the educational sector mechanism, for the purpose of observations, and the outcome were analyzed. The findings of this paper are the main reason for developing a new tool, and it shows that educators can enhance existing learning resources by adding assessment resources, if suitable authoring tools are provided. Finally, the different factors that assure the reusability of the created new e-learning tool has been analysed in this paper.E-learning environment is a guide for both students and tutorial management system. The useful on the e-learning system for apart from students and distance learning students. The purpose of using e-learning environment for online education system, developed in data mining for more number of clustering servers and resource chain has been good.
AN OVERVIEW OF CLOUD COMPUTING FOR E-LEARNING WITH ITS KEY BENEFITSijistjournal
Education is a necessary human virtue and essential for society because it reflects the personality of the human being in our society. The effective way of teaching gives the quality of education and advance learning such as e-learning to the learners and also a high quality of teaching to the tutors. Information Technology (IT) plays a significant role in field of education. Now days, E-learning and M-learning have become very popular trends of the education technology riot. E-Learning is the new tool related to the virtualized distance learning by means of electronic communication mechanisms, specifically the Internet to enhance the traditional learning system. An E-learning system generally needs a lot of software and hardware resources. Today, many educational institutions cannot afford such investments and environments therefore cloud computing is the finest solution. The Cloud Computing environment rises swiftly as a natural platform to provide support to e-Learning systems. Hence, this paper presents the impact on using cloud computing for e-learning which contains an innovative environment resulting from both virtual and personal learning environments. This paper introduces concepts of e-learning and cloud computing infrastructure with their key benefits.
Open Educational Resources for Bridging High School – University Gaps in Acad...Up2Universe
This presentation was prepared for INTED2020 conference about the difficulties high school studies have to face when learning English. This results in an inadequate level of English when they enter the university thus they fail to succeed.
A practical guide to IT security-Up to University projectUp2Universe
This booklet is meant to help teachers and system administrators in high schools when it comes to IT security, digital identity and cybersecurity. The content is universal although it was elaborated under the Up to University project.
Facilitating curation of open educational resources through the use of an app...Up2Universe
This abstract was submitted to the INTED 2018 conference(March 5-7, 2018 Valencia, Spain). The paper focuses on the curation of open educational resources (OER).
This slideshow was presented during the OEB 2018 conference (December 05-07, 2018 Berlin, Germany). The talk focuses on community building and engagement.
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
This is a presentation by Dada Robert in a Your Skill Boost masterclass organised by the Excellence Foundation for South Sudan (EFSS) on Saturday, the 25th and Sunday, the 26th of May 2024.
He discussed the concept of quality improvement, emphasizing its applicability to various aspects of life, including personal, project, and program improvements. He defined quality as doing the right thing at the right time in the right way to achieve the best possible results and discussed the concept of the "gap" between what we know and what we do, and how this gap represents the areas we need to improve. He explained the scientific approach to quality improvement, which involves systematic performance analysis, testing and learning, and implementing change ideas. He also highlighted the importance of client focus and a team approach to quality improvement.
Ethnobotany and Ethnopharmacology:
Ethnobotany in herbal drug evaluation,
Impact of Ethnobotany in traditional medicine,
New development in herbals,
Bio-prospecting tools for drug discovery,
Role of Ethnopharmacology in drug evaluation,
Reverse Pharmacology.
Unit 8 - Information and Communication Technology (Paper I).pdfThiyagu K
This slides describes the basic concepts of ICT, basics of Email, Emerging Technology and Digital Initiatives in Education. This presentations aligns with the UGC Paper I syllabus.
The Roman Empire A Historical Colossus.pdfkaushalkr1407
The Roman Empire, a vast and enduring power, stands as one of history's most remarkable civilizations, leaving an indelible imprint on the world. It emerged from the Roman Republic, transitioning into an imperial powerhouse under the leadership of Augustus Caesar in 27 BCE. This transformation marked the beginning of an era defined by unprecedented territorial expansion, architectural marvels, and profound cultural influence.
The empire's roots lie in the city of Rome, founded, according to legend, by Romulus in 753 BCE. Over centuries, Rome evolved from a small settlement to a formidable republic, characterized by a complex political system with elected officials and checks on power. However, internal strife, class conflicts, and military ambitions paved the way for the end of the Republic. Julius Caesar’s dictatorship and subsequent assassination in 44 BCE created a power vacuum, leading to a civil war. Octavian, later Augustus, emerged victorious, heralding the Roman Empire’s birth.
Under Augustus, the empire experienced the Pax Romana, a 200-year period of relative peace and stability. Augustus reformed the military, established efficient administrative systems, and initiated grand construction projects. The empire's borders expanded, encompassing territories from Britain to Egypt and from Spain to the Euphrates. Roman legions, renowned for their discipline and engineering prowess, secured and maintained these vast territories, building roads, fortifications, and cities that facilitated control and integration.
The Roman Empire’s society was hierarchical, with a rigid class system. At the top were the patricians, wealthy elites who held significant political power. Below them were the plebeians, free citizens with limited political influence, and the vast numbers of slaves who formed the backbone of the economy. The family unit was central, governed by the paterfamilias, the male head who held absolute authority.
Culturally, the Romans were eclectic, absorbing and adapting elements from the civilizations they encountered, particularly the Greeks. Roman art, literature, and philosophy reflected this synthesis, creating a rich cultural tapestry. Latin, the Roman language, became the lingua franca of the Western world, influencing numerous modern languages.
Roman architecture and engineering achievements were monumental. They perfected the arch, vault, and dome, constructing enduring structures like the Colosseum, Pantheon, and aqueducts. These engineering marvels not only showcased Roman ingenuity but also served practical purposes, from public entertainment to water supply.
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
Synthetic fiber production is a fascinating and complex field that blends chemistry, engineering, and environmental science. By understanding these aspects, students can gain a comprehensive view of synthetic fiber production, its impact on society and the environment, and the potential for future innovations. Synthetic fibers play a crucial role in modern society, impacting various aspects of daily life, industry, and the environment. ynthetic fibers are integral to modern life, offering a range of benefits from cost-effectiveness and versatility to innovative applications and performance characteristics. While they pose environmental challenges, ongoing research and development aim to create more sustainable and eco-friendly alternatives. Understanding the importance of synthetic fibers helps in appreciating their role in the economy, industry, and daily life, while also emphasizing the need for sustainable practices and innovation.
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
Instructions for Submissions thorugh G- Classroom.pptxJheel Barad
This presentation provides a briefing on how to upload submissions and documents in Google Classroom. It was prepared as part of an orientation for new Sainik School in-service teacher trainees. As a training officer, my goal is to ensure that you are comfortable and proficient with this essential tool for managing assignments and fostering student engagement.
ESC Beyond Borders _From EU to You_ InfoPack general.pdf
Virtual programming labs in the programming learning process, preparing a case study
1. VIRTUAL PROGRAMMING LABS IN THE COMPUTER
PROGRAMMING LEARNING PROCESS, PREPARING A CASE
STUDY
Marílio Cardoso1
, Rosa Barroso1
, António Vieira de Castro2
, Álvaro Rocha3
1
ISEP – Polytechnic of Porto (PORTUGAL)
2
GILT & ISEP – Polytechnic of Porto (PORTUGAL)
3
Universidade de Coimbra (PORTUGAL)
Abstract
Usually, in course units of programming, the process begins with the teaching of algorithms, and later
the knowledge of logic learned being applied to a specific programming language.
In the course of Informatics Engineering of the Informatics Engineering Department of School of
Engineering, Polytechnic Institute of Porto (ISEP/IPP) one of the course units that first directly deals
with this training is called APROG (unit of Algorithm and Programming). This unit starts with the
teaching of algorithm followed by the programming language JAVA.
In recent years, we used the EduScrum teaching methodology, where the student follows a set of
procedures focused on the needs and indications of a Product Owner. The subject is structured in:
programming fundamentals, programs codification, classes, modular decomposition, arrays and text
files manipulation.
During the next year we intend to add to the process a new tool, with the main goal of evaluating its
potential for the teaching process of programming. This tool is the VPL (Virtual Programming Lab) that
will be incorporated into the Moodle (Modular Object-Oriented Dynamic Learning Environment) of the
course unit of APROG. With this study, we intend to analyse the potential of the tool and verify if it is
possible to provide to student’s validation of their own programs by previously providing a set of data.
In this way, we will have an overview about the potential of the tool and correlate the results with its
pedagogical potential.
This paper is part of a preliminary study on virtual laboratories in programming teaching.
Keywords: Teaching programming, algorithms, Learning Management System (LMS), EduScrum,
Virtual Programming Lab.
1 INTRODUCTION
Given the importance and relevance of computers and information technology in contemporary
society, teaching programming becomes essential for the development of computer applications and
for technology evolution.
The training of professionals in this area is very diversified and one of the fundamental roles remains
to be played by Higher Education Institutions linked to the Engineering areas and in particular in the
field of Computer Engineering.
This document intends to present a reflection on the teaching process of programming in the School of
Engineering, Polytechnic Institute of Porto using for this purpose one of the basic course units,
APROG.
In APROG, in the last years, an EduScrum methodology was adopted using LMS (Learning
Management System) Moodle (Modular Object-Oriented Dynamic Learning Environment).
This study intends to evaluate the use of virtual programming laboratories in teaching programming,
using, for this, some classes of prototype in the next academic year.
1.1 Computers and society
Nowadays computers are absolutely essentials to modern societies. Almost everyone have a personal
computer, a tablet or smartphone. In the simplest activity that we can imagine, certainly will be
involved computer technology. We can find it, e.g., in communications, businesses, banking,
Proceedings of EDULEARN17 Conference
3rd-5th July 2017, Barcelona, Spain
ISBN: 978-84-697-3777-4
7146
2. medicine, travel, work, leisure and teaching. With a computer and an internet connection everyone
have the world at a click's distance.
One of the greatest impacts of technology on society is the importance reduction of distance, allowing
to communicate almost instantaneously, in a reliable and cheap way, with someone thousands of
kilometres away. It is possible to buy (almost) everything by internet, at any time and from any source,
so that e-commerce is an irreversible reality. That meant a revolution in business models, commerce,
market structure and global economy.
Even the relationships and the way we communicate have undergone huge changes with the advent
of the internet and social networks. This reality brings new challenges and risks as well as a
considerable increase in privacy concerns, highlighting issues of security and criminality.
Computers also had a huge impact on education today, and future growth is still expected. The raise
of internet and interactive technologies turn information and communication technologies (ICT) as an
important tool for teaching and learning. With internet in their own homes, many students take the
initiative to study other subjects doing research and watching tutorial videos on specific topics.
Distance learning is not new, because television has been used for decades for schooling. However,
computers and the Internet have completely changed the paradigm, being possible to have distance
classes with interaction between teacher and students, communicating in a synchronous or
asynchronous way, making evaluations, etc. E-learning is an undeniable and growing trend.
So, obviously, we can point to positive and negative impacts on computers. With computers, a huge
amount of data and information can be stored in a small space and accessed easily, the work can be
done in a more efficient way in very less time, documents can be kept secret and greatly increases
multitasking and multiprocessing capabilities of data. However, there are some drawbacks to, such as
fast changing computer technology, risks of lost huge important data and information, data privacy
issues or illiteracy of computers that can lead to social exclusion. Also, some health issues are
associated with the use of computers, such as obesity due to physical inactivity, vision problems or
body posture.
All these issues have in common computer technology and the need for qualified professionals in
several fields, such as programming, computer security or computer networks.
1.2 Teaching Programming: Algorithms and programming languages
Teaching computer science has two distinct strands. The first is in the user's perspective, enabling
students to use computer tools to improve their work in a large range of subjects. The other, more
important for those who want to develop applications and computer solutions, is programming.
To develop software is a very important activity in this era of information and knowledge society.
Although producing software is not just programming, this task is crucial to the process success.
Algorithms are the base of the programming process. To develop algorithms is to define a finite set of
rules, well defined (without ambiguity), for the solution of a problem in a finite time, and it should be
effective and efficient. The most common example around world of use of algorithms is a cook recipe,
where we find a finite sequence of steps that lead to the execution of a task, a sequence of
instructions for a specific goal.
To start the learning process should be use a language that can be understand by all. The first
approach should be with pseudo-code. A kind of native language used in a shorter way that turns it
still understandable to the student, but pointing to a structure more similar of a programming language.
Another way to represent algorithms is using flowchart, that consists in a path guiding by arrows, with
a short set of symbols, so self-explanatory as possible, and understandable in a visual way.
When the algorithm is specified it must the encoded (written) in a programming language. A
programming language is a formal language with a specific and well-defined set of instructions that
allow to develop software. There are a huge set of programming languages, each one with is specific
syntax and characteristic and fields of application.
1.3 Technology to mediate the teaching and learning process
Technology-mediated learning is a generic term, related with several different approaches to using
computers in learning and teaching. In recent years, technology has been raised its importance in
schools at various levels, from the basic to the university. However, on the last years Learning
7147
3. Management Systems (LMS) became one the most used and powerful tool to promote learning, in
which educators can define an environment where learners can access resources, research, drills and
assessment tools.
1.3.1 LMS
LMS is a framework that interconnects both sides of the learning process simplifying the relationship
between teachers and students. LMSs advocate a new teaching paradigm, breaking with a logic of
face-to-face and centralized teaching, facilitating access to teaching materials and providing
assessment mechanisms [1]. They promote teacher-student communication (synchronous or
asynchronous) and the simplification of the learning process by providing resources that reinforce
student motivation and an easier understanding of program content. LMS are also a valuable tool to
teachers helping them to manage the learning process, identifying and evaluating learning and training
goals and collect data to supervise and monitor the process to reach the goals.
In recent years, LMS has been raised its importance in schools at various levels, from the basic to the
university linking teachers, students and community stakeholders with a single platform and improving
the workflow efficiency and productivity.
1.3.2 Moodle
In Portugal Moodle is certainly the most popular and widespread LMS.
Moodle is an open source software under General Public Licenses (GNU), with a business model that
allow to use some basic elements for free, but charge for extra options. It is often used for distance
education, blended learning, face-to-face classroom and other modes of e-learning in companies,
schools and universities.
In order to use Moodle, it is just needed a basic computer, an internet connection and internet
navigation skills. So, to the average student is very simply to use Moodle, almost like use Social
Media, doing comments, posts, view or share pictures, videos, etc.
2 CASE STUDY: APROG (THE FIRST COURSE UNIT OF PROGRAMMING
ENGINEERING)
One of the main goals of the course unit of APROG is to initiate students in software production. As a
first course unit in this area it begins to develop logical reasoning skills through the development of
algorithms and data structuring. Programming is to design algorithms and describe them in a given
language. On the case of APROG the language that has been used is JAVA. However, the language
is not the main issue to start programming.
On the last 4 years the number of registered students has been between 343 and 383 students.
Table 1. Number of registered students in APROG in the most recent school years.
School year Number of students
2013/2014 351
2014/2015 361
2015/2016 383
2016/2017 343
These numbers are the result of the annual admission of, usually, more than 250 students (from
national access contest plus others from special contests), and the remaining ones are related with
retention of students from previous years.
2.1 Students outcomes
According with the syllabus of APROG course unit, students should be able to:
1 Understand and apply the fundamental programming concepts.
7148
4. 2 Identify and describe the requirements of a problem, analysing it, design an algorithm for its
computational solution and conceive an appropriate test? Plan for its validation.
3 Know and understand Java programming language in the perspective essentially procedural
and apply it to algorithms? Implementation. Testing the solutions using the appropriate test
plan.
4 Analyse and designing algorithms as models of computational processes structured in modules,
creating and reusing modules and implement them.
5 Know, understand and use indexed data structures as well as manipulate text files.
6 Apply the acquired knowledge to solve real problem.
In the case of APROG, the course unit used in the case study that carries out, the curriculum unit
form, establish this sequence of contents: programming fundamentals, programs codification, data
types reference: classes, modular decomposition, data types reference: arrays, text files manipulation
and developing applications.
To achieve that goal, in APROG, the students start programming with JAVA language.
2.2 How this course unit is structured and organized
This course unit takes place during the first semester and is taught by a team that, usually, have
between 8 and 10 teachers. So it has to be very well organized and planned with the maximum detail
to ensure that the lessons taught are in all similar and with the same pedagogical objectives.
As shown on Fig. 1, APROG is divided on three different types of classes.
Figure 1 - Types of APROG classes at DEI-ISEP
APROG usually has about 350 students every year. Theoretical classes involve all the students that
attend the course unit. This kind of classes are taught at various moments and typically we have about
75 students on each theoretical class which is taught in an amphitheatre. Each one of those classes
are an important moment for the process of programming learning and, usually, where the main
programming concepts are transmitted.
It is however verified that the students often skip theoretical classes, what could compromise the
learning or the acquisition of the fundamental knowledge of the programming by them. Thus, to
reinforce the transmission of this knowledge was created theoretical-practical classes.
The main difference between theoretical and theoretical-practical classes are:
− Reduction of the number of students (about 50% less);
− Explanation of some solved exercises related with the theoretical topics of the week.
The third set of classes are the practical ones where students work in a class room with computers,
and where they apply their knowledge of theoretical and theoretical-practical classes. The number of
7149
5. students in each class is about 20 and, usually, they work in pairs. During these classes, the students
must codify computer programs in the selected programming language (in this case JAVA) to solve a
set of problems proposed by the teacher and available in Moodle. To codify, students use an
Integrated Development Environment (IDE) which has been, in the recent years, NetBeans.
Table 2. Weekly workload by class type
Class type
Number of
classes by week
Hours by class Total week hours
T 1 1 1
TP 1 1 1
PL 2 2 4
With so many students and hours of classes, several teachers are needed to ensure the teaching.
In the last academic year the distribution of teachers by type of class was as shown in the table 3.
Table 3. . Teachers by class type
Class type T TP PL
Number of teachers 1 3 7
2.3 Planning, Contents and Learning Activities
As presented before, it is necessary to plan all the activities with detail. We will just focus the
practical–laboratory classes to this study due the intention to engage students with Virtual
Programming Labs on the future.
In APROG there are classes during twelve weeks which are divided according the pedagogical needs.
It is also necessary to clearly identify the assessment moments and the organization of all the
contents and learning activities.
The planning is made considering the curriculum course unit form and mainly the articulation between
the different class types. First there are the theoretical ones, where are presented, analyzed and
discussed fundamental concepts, then the theoretical-practical ones and finally the practical –
laboratory classes where students apply what they learned and what was demonstrated before. In this
last set of classes there are used techniques of active learning, cooperative group work and problem
based learning (PBL).
In the practical classes problems are organized in four blocks (sprints) each one with specific
purposes, as shown in table 4.
Table 4. Sprints organization
Sprint
Number
of weeks
Contents
1 4 Algorithms
2 2 Implementation of algorithms in Java and modular decomposition
3 3 Arrays and files
4 3 Integrative application of all contents
2.3.1 EduScrum
On the last years on these course unit, we applied EduScrum methodology.
7150
6. As known, teaching computer programming is a complex and challenging task for any teacher, mainly
for those who have beginning students. This activity is very different from teaching any other subject,
so the approach should be different to.
Scrum is a framework for developing and sustaining complex products. Therefore, it is widely used in
software development and became mainstream in this area and it been used as an iterative and
incremental agile software development framework. Companies use the Scrum methodology to
promote team work and to foster a productive and enjoyable way of working. Although Information
Technology (IT) is the preferred field of application for Scrum, its use has been tested in many areas,
including education.
So EduScrum is a variation of Scrum for the educational system where students are responsible for
the learning process by teacher delegation [2]. In EduScrum there are six formal events: Team
formation, sprint planning, stand-up meeting, sprint review, sprint retrospective and personal
reflection.
The scrum team own a board that gives an overview and the structure to make the group’s work
transparent. The work is organized by sprints, usually of three weeks each. There must be a sprint
planning meeting to define and clarify the sprint goals and every next session should start with a short
(five minutes) stand-up meeting. In this meeting, it should be remembered what have already been
done, defined what should be done in the present session and, if there is any blocking take advices
and replace the work. During sessions, the Scrum board must be updated after each changing.
In EduScrum methodology there are roles for team members, such as Product Owner (the teacher),
the Scrum Master (one of the students) and the other team members (the other students). Student
team should be self-organizing and multi-disciplinary.
The team must be autonomous and responsible, flexible and collaborative, creative and motivated.
2.3.2 How APROG uses EduScrum
The pedagogical methodology adopted on the course unit is EduScrum that is related with one of the
most actual methods used on the companies that develop computer programs, as a productive
method. In APROG, EduScrum methodology is adapted to this unit and to the student’s context. That
is the first course unit of programming, it takes places at first year, first semester so that’s a new reality
to the students.
In the practical-laboratorial classes students must be organized in team of two (exceptionally three)
and they must work in peer review. That means that all their assignments must be review by a
colleague before be assessed by the teacher.
As mentioned before there are four sprints in APROG, witch organization could be seen in table 5.
Table 5. Practical classes’ organization
Weeks 1 2 3 4 5 6 7 8 9 10 11 12
PL A A A A
At the beginning of each sprint, there must be a sprint planning meeting, where the teacher presents
the team formation (which can have adjustments between sprints), the global learning objectives and
the global work planning.
At the beginning of the first class of the week (5 to 10 minutes) the week's work should be planned
indicating:
• What is expected of the group: learning objectives and evaluation acceptance criteria;
• Exercises to be solved in the week (each task with an indication of the units of effort), by what
order, and by whom, balancing the units of effort per student.
Students must begin to carry out their work according to plan and register the Scrum board with the
work situation. Scrum board is an essential and mandatory tool that must be always updated and
available for all team members and for the teacher.
7151
7. At the beginning of the second class of the week students and teacher must have a brief stand up
meeting where each student must answer:
− What was done?
− What am I going to do today?
− Is there any blockage?
After an assignment and its verification by another colleague the teacher can ask any team member
about to better gauge if students understood what they did. If the assignment have errors or the
students couldn’t answer in an accurately way, teacher should not accept the assignment order to
redone it.
At the end of each sprint there must have a sprint review where students will solve, individually, a set
of exercises. One week after the sprint review the teacher should disclose to students the results of
sprint evaluation. The final grade of each sprint is calculated be:
− 30% sprint tasks assessment (heavy average of tasks performed successfully);
− 70% mark individual evaluation.
After that students should have a moment to do a sprint retrospective and a personal reflection by
each student.
2.4 APROG contents – Moodle
In ISEP, the LMS adopted is Moodle, so it used also in the course unit of APROG. It is used to provide
contents, to present the course unit and the schedule of the classes throughout the academic period,
to allow the submission of assignments and to present its evaluation, as well as to provide examples
of exams of previous years, allowing to notify students and publish news and announcements.
Figure 2. APROG Moodle contents
In central area of Fig. 2 we can see how the contents are available to the students, organized by a first
section (general) that contains examples of exams, announcements, news and a welcome message
for students. Below are sections (per week) with content for each of the weeks, by class type, and may
contain other materials, suggestions for studies, messages, or link for submission of assignments for
the evaluation.
On the left side are available some functionalities like request print services, the list of all participants
in the course unit, or access to the contents distribution by week.
7152
8. Figure 3. APROG Moodle assignments submissions
In Fig. 3 there is an example of information about the assignments statistics, namely the number of
students enrolled in Moodle, the number of assignments submitted, the deadline for submission and
the time remaining for the submission limit.
So, Moodle is a simple and efficient way to provide contents and promote communication between
teachers and students.
3 NEW APROACH ON APROG TEACHING BASED ON VIRTUAL
PROGRAMMING LABORATORIES
Due the quantity of projects developed by the students and naturally the need to evaluate them a
problem was found. With the current teaching model, with several assignments during the academic
period, teachers spend a lot of time to evaluate all the projects and to grade school assignments.
On the last years teachers referred that they need to spend lots of time with this assessment process
(basically every 3 weeks they should evaluate all the sprint works for all the students)
With a big set of proposed exercises, it is not possible to evaluate all of them in a deep way, thus the
solution is evaluated by sampling. This means that feedback to students about their own assignments
is neither complete nor given quickly.
It was also perceived that students cannot develop their work and improve their programming skills as
fast as desirable and they don’t are quite sure if what they did is correct.
So to achieve goals in an efficient and fast way teachers referred that classes must have less students
or should be considered less assignments moments.
A solution must be identified to solve the excess of teacher’s assessment work and, at the same time,
provide to the students a mechanism that help them to evaluate their programming code with a set of
data given by the teachers.
With this goal in mind we looked for a new solution to help us to support the process, which allows a
faster assessment of the projects.
We identified Virtual Programming Labs (VPL) [3], a Moodle module, as a possible solution to solve
some of the identified problems and we are considering to implement it on the next year on a few
practical classes maintaining the actual EduScrum methodology
3.1 VPL
VPL is an open source software product developed by the Department of Computer Science and
Systems, University of Las Palmas de Gran Canarias, Spain. This tool allows the management of
programming assignments on Moodle, and the incorporation of the software development environment
in a virtual classroom. The architecture contains a Moodle module, a source code editor applet and a
special Linux process that runs as background process, commonly called a daemon, which allows the
remote execution of programs in a secure way. VPL helps out in the follow-up and personalized and
continuous orientation of the student's learning process, thus contributing to address the difficulties
that the student faces in carrying out programming activities. It intent to provide a simple and intuitive
development environment, in particular to new students entering the programming courses.
7153
9. Nowadays, ethical and moral issues are very important and matters like plagiarism are crucial to the
institutions credibility [4]. VPL includes a tool which allows to detect plagiarism [5] among source code
searching for similarity between files. The tool has the main goal to detect plagiarism among
submissions for the same task by different students in a course. However, it can include other
sources, like submissions for the same task in previous years or similar tasks from other sources.
Learning to program is a difficult process to many students. To learn to programme computers student
must have motivation and to program a lot. That is a hard task that demands a lot of effort and
training. The assignments may present specific difficulties for the students, mainly for those you never
programmed before. So that requires a constant monitoring by the teacher. Usually, until the work is
evaluated, the students do not know if they did correctly their tasks. In addition, assessment requires
time and effort by the teacher due to the number of students, the number of submissions required and
their complexity. The availability of an automatic grading tool [5, 6] to assist personalized monitoring
and guidance in a continuous learning process, will reduce the initial difficulties faced by the student,
improving students’ programming skills and optimizing the teaching staff time [7].
3.2 New model for APROG practical classes
Moodle has been used in APROG for several years, and it has an obvious added value in the
communication between teacher and students and in the availability of didactic resources. Thus, using
the potential of Moodle, we intend to add a new VPL module to facilitate the process of learning
programming, provide students with much faster feedback about finished assignments, and reducing
the teacher's mechanical work, allowing him/her to focus on other tasks.
The VPL module will be used in practical classes as a pilot experience with a limited number of
students. With this option, we intent to not change radically everything, due to allow to compare the
results between the two groups (those who will use VPL and the others) and, eventually, with grades
from past academic years.
Figure 4 - Moodle with VPL.
All students will have the same assignments, and will be evaluated in the same way. The expectation
is that those who used VPL will be able to practice more because they will need less supervision from
teachers to verify the results.
With this model is expected that teachers will spend less time assessing assignments. However, in the
first instance, they will need more time to prepare the environment to use VPL, as well as building
exercises and validation data so that they can be evaluated in an automatic way.
4 CONCLUSIONS
In this paper, we present a work in progress that is being carried out in Informatics Engineering
Department of School of Engineering, Polytechnic Institute of Porto and where combining technologies
and methodologies is expected to provide an even more effective teaching learning process to
students of Computer Engineering.
7154
10. With this preliminary study related to Virtual Programming Labs in laboratories in programming, we
intend to study the impact of virtual laboratories on learning. We will use a real unit course on a real
course of Computer Engineering to promote and support his case study.
We have the expectation that the process will lead to an improvement in the programming learning
process. If that happens, the use of the VPL should be extended to all APROG students and, if
possibly, to other course units or even to other courses.
ACKNOWLEDGEMENTS
This work was partially supported by the European Union’s Horizon 2020 research and innovation
programme under Grant Agreement No. 732049 – Up2U.
REFERENCES
[1] E. Dahlstrom, D. Christopher Brooks, and Jacqueline Bichsel. The Current Ecosystem of
Learning Management Systems in Higher Education: Student, Faculty, and IT Perspectives.
Research report. Louisville, CO: ECAR, 2014. Retrieved from http://www.educause.edu/ecar.
[2] J. Sutherland, Scrum: The Art of Doing Twice the Work in Half the Time, Crown Business, 2014.
[3] J. Rodríguez-del-Pino, E. Rubio-Royo and Z. Hernández-Figueroa, “Uses of VPL”. 5th
International Technology, Education and Development Conference (INTED), pp. 743-748, 2011.
[4] V. Crittenden, R. Hanna, and R. Peterson. "The cheating culture: A global societal
phenomenon.", Business Horizons pp. 337-346, 2009.
[5] J. Rodríguez-del-Pino, E. Rubio-Royo and Z. Hernández-Figueroa, "A Virtual Programming Lab
for Moodle with automatic assessment and anti-plagiarism features," International Conference
on e-Learning, e-Business, Enterprise Information Systems, & e-Government, 2012.
[6] A. Patil, "Automatic grading of programming assignments", 2010.
[7] D. Thiébaut, "Automatic evaluation of computer programs using Moodle's virtual programming
lab (VPL) plug-in.", Journal of Computing Sciences in Colleges 30.6, pp. 145-151, 2015.
7155