An Automated Environment for Teaching Programming Logic on
Distance Learning IT Courses
Nelson Ion de Oliveira
1
, Marcel Vin
´
ıcius Medeiros de Oliveira
2
and Jorge Tarc
´
ısio da Rocha Falc
˜
ao
3
1
Metropole Digital Institute, Federal University of Rio Grande do Norte, Natal/RN, Brazil
2
Department of Informatics and Applied Mathematics, Federal University of Rio Grande do Norte, Natal/RN, Brazil
3
Department of Psychology, Federal University of Rio Grande do Norte, Natal/RN, Brazil
Keywords:
Teaching of Programming, Interactive Didactic Material, e-Learning.
Abstract:
Disciplines devoted to teaching programming are present in all courses in the area of information technology
and traditionally they are part of the basic structure of these courses. For this reason the discipline of pro-
gramming logic has been the gateway for information technology students. These disciplines have presented
a high rate of students failures because it requires the students to have a high level of abstraction associated
with systematized reasoning. The main objective of this article is to present an interactive environment that is
seamlessly inserted in a e-course didactic material in order to expand the offer of effective learning automated
mediators. This feature turns the teaching material into an interactive tool, which is more attractive to students
and likely to help them in succeeding in these programming courses.
1 INTRODUCTION
The discipline of programming logic, traditionally,
has been the gateway for students in the area of infor-
mation technology. This discipline requires the stu-
dents to have a high level of abstraction associated
with systematized reasoning, which together, form
the necessary cognition needed for describing actions
in a step by step manner in order to construct pro-
grams that will generate the desired results. This is
the main reason for high failure rate in the discipline
of programming logic.
Since 2012, the Metropole Digital Institute of the
Federal University of Rio Grande do Norte has been
developing a technical distance learning program (in
the semipresencial mode) in the area of information
technology. The discipline of Programming Logic is
part of the common core of this program and, over
the last six years, a collection of didactic material has
been developed to offer support to the approximately
1,680 students who ingress each year in this course.
The main objective of this work is to present a
technological resource that we developed, an pro-
gramming environment which we integrated to the
current model of the didactic material of the disci-
pline Programming Logic of the course. This new
feature effectively expanded the offer of learning me-
diators and, as a consequence, fosters an increment
in the current success rates in this discipline. Such a
change, in addition, turns the teaching material into a
more attractive one to students. This intervention was
developed as a result of a master’s degree research, in
which descriptive frequency analysis was performed
on quantitative data about the academic performance
of 2,500 students from the first semesters of the years
2015 and 2016. In addition to questionnaires with
more than 600 students for identifying the socio-
pedagogical profile of these students.
In the analysis of the academic scores of the stu-
dents sample, from which the students who droped the
course were removed, a correlation of approximately
R = 0.96 was verified between the final (semester) av-
erage of the student with the discipline of Program-
ming Logic, that is, students with the high average
in this subject presented higher results in the set of
subjects of the semester. This result made it clear the
importance of this discipline to the students’ overall
performance in the course.
In the applied questionnaires it was also verified
that the majority of the students have a computer and
easy access to the Internet in their residences. In
addition, it has been detected that the students are
constantly consuming informational and instructional
content from Internet sources.
As a result of our initial researches, an interven-
tion proposal was implemented and inserted in the
Ion de Oliveira, N., Medeiros de Oliveira, M. and Falcão, J.
An Automated Environment for Teaching Programming Logic on Distance Learning IT Courses.
DOI: 10.5220/0006704602670274
In Proceedings of the 10th International Conference on Computer Supported Education (CSEDU 2018), pages 267-274
ISBN: 978-989-758-291-2
Copyright
c
2019 by SCITEPRESS Science and Technology Publications, Lda. All rights reserved
267
didactic material used in the discipline of Program-
ming Logic of the referred course. The functionali-
ties were elicited from the data obtained in the applied
questionnaires and from the analysis of platforms and
environments for the teaching of programming that
were indicated by the students, such as Codecademy
and Khan Academy. The research team experience
as course mediators and teachers was also a source of
inspiration for the environment requirements.
The resource was developed and integrated in the
didactic material that allows the student in program-
ming exercises, using a high level programming lan-
guage that uses commands written in their mother lan-
guage and submit their answers as “programs” that
are evaluated through an automated process.
By including an automated evaluation process in-
tegrated with the didactic material of our technical
courses, our development turned this material into a
interactive and more attractive one. This interactivity
includes automated correction of algorithms and a full
access to evaluation results to the students, who will
be more effective in deciding its learning timing.
2 BACKGROUND
E-learning refers only to teaching modalities whose
learning is not linked to the physical presence of the
students, and the didactic content is made available
through various communication vehicles, such as the
postal and broadcasting system, and television. Some
authors (Piva-Junior et al., 2011) argue that one of
the great problems of this modality is the difficulty
of students to interact in the learning process. This
limits the exchange of experiences between them, as
well as the difficulty of solving doubts with teachers
or other colleagues because of the limitations of one-
way communication of the first mass media.
Used successfully in on-line education processes,
virtual learning environments that provide activities
with automatic correction and feedback are often
used. The elaboration of well-structured tasks can
lead the student to make questions and consequently
discoveries, promoting the students’ conduction to
deeper levels of learning. The automatic feedback
offers the students a quick access to the expected re-
sponse for the exercises he answered and allows a bet-
ter planning of his evolution in the course.
The contents are presented through the didactic
material, that is the instrument that should guaran-
tee the “dialogue” between the teacher and the stu-
dent (Preti, 2009). Thus, there is a clear and ulti-
mate need for this material to be as interesting and
attractive as possible, becoming a positive mediator
between teaching and learning.
The E-learning class should aim for activity-
centered learning and interactivity that encour-
age knowledge building and problem-solving (Preti,
2009). The construction of teaching tools that aid
programming teaching should have clear and precise
learning objectives, with a language whose form and
meaning are clear and contextualized, associated with
a well-articulated information architecture.
In (Belloni, 2003), the author argues that the main
characteristic of the Digital Information and Com-
munication Technologies (DICT) is the interactivity,
technical characteristic that means the possibility of
the user interacting with a machine. In this sense, in-
teraction refers to the action between subjects, medi-
ated or not by a technology.
It is noteworthy that in E-learning, the teacher
does not go along with the class. Therefore, he is un-
able to explain again and to look at the student and
realize that he did not understand the subject. This
aspect of teaching ratifies even more the importance
of having the maximum possible interaction between
the student and the didactic material made available.
This emphasizes the relevance of didactic mate-
rial in E-learning, because in face-to-face teaching the
materials complement the direct action of the teacher.
In E-learning, the integration and complementarity of
the materials used to establish the effectiveness of the
student’s link with knowledge. However, as a mat-
ter of fact, the teaching material does not replace the
teacher (Possolli and de Quadros Cury, 2009).
In (Possolli and de Quadros Cury, 2009), the au-
thors list four main characteristics that can be identi-
fied as essential for E-learning materials. Essentially,
such material should be interactive, dialogic, multi-
media and they should stimulate learner autonomy.
In this way, it is verified that the E-learning didactic
material must maintain a contextualization with the
content, stimulate the action and the thought of the
learner so that it can construct meanings in its learning
process, besides fomenting the search for autonomy.
3 THE CONTEXT OF COURSE
The technical courses offered by the Metropole Digi-
tal Institute are structured in 4 modules: Basic, Inter-
mediate, Advanced and Integrator. All incoming stu-
dents must take the basic module, common to all em-
phases. At the end of the basic module, the students
who succeed must chose one of the available em-
phases: Industrial Automation, Electronics, Internet
Programming, Programming of Digital Games and
Computer Networks.
CSEDU 2018 - 10th International Conference on Computer Supported Education
268
The Basic Module has a total workload of 280
hours and it is distributed in 6 subjects (Table 1).
Table 1: Subjects of the Basic Module of the Technical
Courses of the Department Name.
Subjects Subject Load
Introduction to Information 60h
Technologies
Technical English I 40h
Applied Mathematics 40h
Computer Architectures 20h
Programming Logic 60h
Operacional Systems 60h
The student approved in the basic module defines,
at the beginning of the next semester, the emphasis
in which he wishes to proceed. From this point, the
student has contact with more specific subjects in the
chosen area. In the intermediate module, there are
subjects in common between two or more emphases.
Upon successful completion of the intermediate
module, the student proceeds to the advanced module
of the area selected in the previous semester. In this
module, the amount of common subjects between the
emphases decreases, and the content is more specific
in each emphasis, offering an opportunity for the stu-
dent to deepen his knowledge in the chosen area.
Students have face-to-face (on-campus) and vir-
tual meetings with a mediator on a weekly basis. The
classes are composed of 40 students at most, with a
mediator that supervises the development of the ac-
tivities in both on-campus and virtual meetings. The
activities of this mediator in the weekly meetings are:
to provide support for the student with the resolution
of exercises and to answer questions about the week
subjects in the virtual environment.
3.1 The Didactic Material Technologic
Structure
Our didactic materials are made available to the
Technical Courses students through an on-line plat-
form, which uses the same technologies adopted in
modern applications for the web: In the front end
uses HTML5
1
, CSS
2
with materialized CSS
3
and
JavaScript allied with jQuery
4
. In the back-end we
use PHP and a PostgreSQL database.
In spite of this “technological power”, the educa-
tional resources employed are limited to that of a book
1
HyperText Markup Language version 5.
2
Cascading Style Sheets.
3
Framework CSS that implements Material Design.
4
JavaScript Library.
in digital format by allowing content to be viewed
through various types of devices, including mobile
devices.
Focusing on the contents of the teaching mate-
rial of Programming Logic, we observed that they
are composed of three items: text, images and short
videos. The contents are predominantly arranged
through texts with images and are complemented with
videos in most classes. These videos began to be pro-
duced and inserted in the teaching materials from the
first semester of 2014, as a first proposal to make the
presentation of the contents more dynamic and to ini-
tiate with the use of computational resources to pro-
duce richer materials.
This analysis allowed us to conclude that the di-
dactic material of the Programming Logic discipline
was predominantly static, despite the presence of the
videos, since it does not allow interactivity. Accord-
ing to (Silva, 2001), interactivity allows students to
go beyond the condition of passive spectator to the
condition of operative subject, understood as an ex-
change of actions, control over events and modifica-
tion of contents, which does not occur with the didac-
tic material we analyzed.
4 THE AUTOMATED
ENVIRONMENT
The resource developed is a group of technologies to
create an environment with a code editor in which the
student can write his algorithms in response to exer-
cises proposed in the the didactic material. This en-
vironment was constructed to improve the experience
of the student of e-learning courses and to expand the
learning mediators, more specifically for Program-
ming Logic.
In the application of the questionnaires the stu-
dents were asked if they knew any interactive plat-
form for teaching programming. The majority (37%
of the 207 participants) mentioned the Codecademy
platform; the second most indicated platform was the
Khan Academy, which obtained a percentage of 19%
of the answers.
From this point of view, an evaluation was made
of the learning mediators used by these platforms for
the context of Programming Logic. In general, both
require an autonomous learning. It is important to
emphasize that within the context of the e-learning,
the student dictates the own pace of learning, accord-
ing to his performance in conducting his studies. Au-
tonomous learning happens when the student has the
initiative, regardless of an academic need, seeking to
obtain certain knowledge.
An Automated Environment for Teaching Programming Logic on Distance Learning IT Courses
269
It is known that one of the premises for learning
and developing programming skills is a constant prac-
tice. The two platforms mentioned by the students
seek to teach this knowledge through the use of ex-
amples and exercises.
In general, these platforms have characteristics
of tutorial or exercise-and-practice software (Valente,
2008). Such platforms need a student interaction with
the tools. There is, hence, a clear need for interaction
on the part of the student that should provide answers
to proposed activities and should, as a consequence,
receive feedback from the platform.
It is important to notice that interactivity is the
main premise of these platforms, Codecademy and
Khan Academy. According to (Fardo, 2013), through
interactive platforms, they also seek to create an im-
mersion environment with the purpose of motivating
individuals to act, assisting in problem-solving and
promoting learning. Thus, the resource that is pre-
sented in this paper opens the possibility, in the con-
text of the discipline of Programming Logic, of the
students to carry out their exercises with interactivity
within the didactic material.
The use of tools that allow interaction has been
demonstrated to have positive results. A study pre-
sented in (Lee and Ko, 2015), demonstrated an im-
provement of up to 40% in the success rate of
programming courses with interactive tools such as
Codecademy.
Through the strategy of interactivity of platforms,
the level of action and reaction increases, leading to
small challenges or tasks that, when completed, give
the student a score and a feedback on the activity per-
formed. This scoring strategy is adopted by most of
the platforms, as well as in those evaluated and devel-
oped in this work. It leads to a greater involvement of
the student with the platform. As a consequence, the
student will, seamlessly, perform a greater amount of
tasks (Fardo, 2013).
In our work, we used tools that could be integrated
with the technologies used in the teaching material
platform. In addition to the technical requirements
for integration and coupling, licensing matters were
also taken into account. We, therefore, defined that
the resources of third parties that were to be integrated
in our proposal should be open source. This require-
ment was also a consequence of a clear need for cus-
tomization which could arise during integration with
the teaching materials technologies.
The teaching materials used are made available
through a web platform with technologies that are
used in the development of web sites or systems. The
use of these technologies removes the need for any
software installation: only a compatible web browser
is needed.
4.1 Used Technologies
The teaching materials was initially produced for the
technical courses and are maintained by the Multime-
dia Production Sector (MPS) of the Metropole Digital
Institute. The first step in our work was to adapt the
existing technological structure, presented in Table 2.
Table 2: Initial Technology Architecture.
Technology
Cloud Server with Linux Operating System
Apache application as HTTP server
PHP programming language
Framework JavaScript jQuery
Framework CSS Materialize
PostgreSQL Database
These technologies established some of the non-
functional requirements, such as the use of the PHP
programming language, PostgreSQL DBMS, in addi-
tion to the frameworks Materialize CSS and jQuery.
The Khan Academy and Codecademy platforms,
indicated by the students in the application of the
questionnaires, were considered in this study. The
structures of these platforms have been evaluated in
interface aspects, existing functionalities, and student
interaction features. Both platforms have common
characteristics and the main one is the presence of a
text field to insert the responses of the activities.
The resources presented in the programming
courses were evaluated. Both environments have the
text field with features that simulate a source code ed-
itor and some other features present in software devel-
opment IDEs. Among other existing features, we em-
phasize the presence of syntax highlighting, which is
the specific formatting, usually with the use of colors,
in the programming languages keywords. This visual
feature allows the student to detect when a language
command in their work was not correctly spelled. It
also allows visual aid in the identification of variables
and data.
Thus, one of the mandatory requirements detected
from the analyses performed on the Khan Academy
and Codecademy platforms was the need for a code
editor with syntax highlighting, which would neces-
sarily work from a web browser.
Faced with this requirement, we searched for an
open source text editor for web pages. Our research
lead us to CodeMirror (CodeMirror, 2017), an open
source text editor implemented in JavaScript, which
mets the requirements already mentioned. Its main
functionality is to allow the editing of source codes
CSEDU 2018 - 10th International Conference on Computer Supported Education
270
within a web page and natively has several language
modes. It also allows the addition of new functionali-
ties through extension modules (plugins).
The official documentation of CodeMirror was
studied, followed by tests of integration of the com-
ponent with the didactic material of the Technical
Courses targeted for this work. After the coding pro-
cess, it was possible to succeed in the integration
test. Since this feature met the initial requirements,
CodeMirror was adopted as our web code editor.
4.1.1 The Potigol Language
With the definition of the tool to be used for writing
codes, the next step of the research consisted in the
definition of the programming language that should
be used in the interaction between the student and the
proposed exercises.
In our case, the discipline of Programming Logic
is projected to develop a structured reasoning to de-
velop computing solutions to small problems. The
discipline used a tool called (VisuAlg, 2016). This
software runs only under the Windows operating sys-
tem and therefore does not meet the needs of a cross-
platform application.
Although its license is free for use and distribu-
tion, it is not open source, what makes it extremely
difficult to customize to meet specific needs. In the
case of this work, one of our requirements is to make
the tool available to online (hence, multiplatform) ex-
ecution. Therefore, no feasible solution was found to
integrate it into our didactic material of the discipline
of Programming Logic. Otherwise, the student would
needed to download VisuAlg in order to develop and
test the exercises.
The fact that you do not need to install any soft-
ware to perform the exercises allows the student to
study the discipline and test their algorithms on any
computer connected to the Internet. Consequently, if
the student needs to use a ‘LAN house’ or a third-
party computer, he should not face problems during
his studies. This is a relevant element since the di-
versity of places where the student has access to the
Internet was observed in the answers to the question-
naires. Therefore, given the limitations of VisuAlg
that were presented, we chose not to use it in this re-
search.
This limiting technical factor of VisuAlg rein-
forced the search for a language that met the re-
quirement of being open source and allowing integra-
tion with CodeMirror. A viable option was Potigol,
a new multi-paradigm programming language spe-
cially designed for beginners, with a Portuguese syn-
tax (Potigol, 2016). The creators of Potigol claim that
(Lucena and Lucena, 2016):
The main objective of introductory program-
ming courses is to enable students to express
solutions to problems using a programming
language. A programming language for be-
ginners needs to be able to express algorithmic
solutions in a natural way. The language must
not be an obstacle. So it needs to be expressive
and simple with an intuitive syntax. Potigol’s
syntax is inspired in dynamically-typed lan-
guages, which are well known for their sim-
ple syntax. Type inference makes statically-
typed languages look like dynamically-typed
languages. The programmer does not need to
explicitly define the type of variables.
The authors (Noschanga et al., 2014) also argue
that programming teaching should focus on problem
solving skills, learning a programming language as a
secondary aspect, and the low fluency of students in
the English language can also interfere with the pro-
cess of learning.
In view of the above, and after initial analysis
of the technical characteristics of Potigol, an evalu-
ation was carried out to verify the integration with
CodeMirror. This evaluation began with the reading
of the official Potigol language documentation.
The next step consisted in the configuration of a
local testing environment with all the resources of the
current didactic material of the Technical Courses of
the Specialized Academic Unit. Then, one of the
pages in the Programming Logic material was se-
lected. In the next step, the necessary procedures for
the inclusion of CodeMirror were realized.
Next, Potigol was integrated to our environment,
with a minimum resource implementation in PHP. Af-
ter the development of such codes, it was possible to
perform the communication between CodeMirror and
Potigol through PHP and that was already adopted in
the platform of the existing didactic material.
The test environment made it possible to commu-
nicate between the CodeMirror and Potigol compo-
nents by running an algorithm “Hello, world!” on the
server. At the end of the execution of the algorithm,
the output generated by the test was sent in response
to the AJAX request and then presented in the user
interface. The successful technical test of integration
resulted in the choice of Potigol as the programming
language of the enviroment proposed in this study.
4.2 The Interaction Tool
The Figure 1 shows of use cases that were elicited.
The features that are highlighted in the Use Case Di-
agram were implemented in the current version of the
tool: (i) Do Exercise; (ii) See execution feedback; (iii)
An Automated Environment for Teaching Programming Logic on Distance Learning IT Courses
271
Figure 1: Use Cases Diagram.
See my completed workout scores; and (iv) Run my
algorithm, the user case considered of the greater risk
was marked with *, which was successfully achieved
4.3 The Tool’s Architecture
The implemented architecture uses Asynchronous
Javascript and XML communication were used. This
feature aims to prevent the page loaded in the stu-
dent’s browser from undergoing a new loading pro-
cess. All communication required for the “Test My
Algorithm” use cases, responsible for the feedback
feature, and “View my completed exercise notes”,
made use of AJAX communication to maintain an un-
filled page experience.
The student, when using the tool proposed in this
work, only needs to write their algorithm and to push
the feedback button. This starts the process of veri-
fying his response. First, the tool sends the student’s
algorithm to the web server. This communication oc-
curs through an asynchronous AJAX request and post
type
5
type.
When the server receives the request, it checks
whether the user is authenticated and has permissions
5
One of the request methods performed through the
HTTP protocol.
to execute the method that will trigger the procedure
to construct the response to the user. Then, the infor-
mation sent by the user is retrieved: (i) class number;
(ii) the number of exercise; (iii) and the student’s al-
gorithm.
After retrieving this information, to reduce the
chances of losing the algorithm sent by the student,
the tool first persists the algorithm in the database.
Only then, it starts the scoring process.
The next step after the persistence in the DBMS
is the writing of the algorithm in the file system of
the operating system. This procedure is necessary, so
far, to execute the codes in Potigol, since for the ex-
ecution of the algorithms written in this language we
need to save their text files. It is worth noting that
these files are saved in a temporary directory and soon
after the tests they are removed. The submitted algo-
rithm, though, is stored in the database.
4.4 The Scoring Process
The “scoring” process of the algorithm is performed
with the execution of black-box tests. These tests are
defined by the teachers, who are responsible for the
construction of the questions of these exercises to be
applied through the didactic material. In addition to
the input data, it is also necessary to provide the out-
put data that must be generated by the correct algo-
rithm.
This process of automatic correction of algorithms
is described in (Pelz et al., 2012) as a dynamic ap-
proach, situation in which the algorithm is executed
a certain number of times with known inputs. If the
output values match the expected values the algorithm
is considered correct. We use some variations to de-
fine a score for the student’s algorithm ranging from
a completely exact answer to an incorrect answer.
With the use of this dynamic approach of correc-
tion of algorithms, it is essential to have test cases for
each question. This amount will always be intrinsic
to the developed exercise.
In this way, each question proposed in the didactic
material must have a specific test bench to be used in
the process of correction of the algorithm produced
by the student. Each exercise has a different problem
and, for this reason, the test bench should be specific
to each question.
The student’s algorithm is executed once for each
test input that have been defined for the question. At
each test of the student’s algorithm, the system as-
signs a note according to the similarity to the expected
response.
At the end of the test cycle of the question, the
average of the exercise is calculated as a simple arith-
CSEDU 2018 - 10th International Conference on Computer Supported Education
272
Figure 2: The Tool’s Layout.
metic average of the test cases. The mean score is
then persisted in the database and presented in the stu-
dent’s grading chart.
Table 3 presents the scores attributed by type of
error detected in the evaluation of the outputs gener-
ated by the student’s algorithm. It is reinforced that
the procedure is an aid to the student to obtain feed-
back quickly, positive or negative, for the exercise
performed and in this way can make the decision to
ask for help or investigate the result and its algorithm
from the feedback generated by the tool.
Table 3: Table of levels score by type error verification.
Differences Level Score
No differences, the answer is correct 10.0
There are differences only in blank lines 9.5
There are differences only from spaces 9.5
to plus/minus
There are only uppercase/lowercase 9.0
differences
There are differences between lines 9.0
and blank spaces
There are differences between blank lines 8.5
There are differences in spaces, lines, 7.0
and upper / lower case
Unfortunately the answer is not correct 0
4.5 The Tool’s Interfaces
Figure 2 shows two interfaces (separated by the dot-
ted line) used by the student. In the first interface,
in its upper region in the dark color region, the ex-
ercise statement is shown in the center and, below it,
the CodeMirror text editor. In the same interface, two
buttons are presented: “Test My Algorithm” which is
responsible for starting the process that will perform
the tests in the student algorithm and “View Language
Syntax”, which opens the page with the documenta-
tion simplified syntax of the Potigol language.
Below the buttons, there are three tabs: Result,
Generated Output, and My Scores. The first tab is
intended for the general feedback of the algorithm.
The second one presents the printed output for each
student’s execution and respective scores.
The last tab lists the notes for the exercises an-
swered by the student and also counts the average
grade of each class, calculated from the exercises al-
ready answered by the learner. This is the right-hand
interface in Figure 2.
The interfaces presented were planned with a fo-
cus on simplicity, without harming the presentation
of the information. Thus, in these two interfaces, the
statement of a proposed exercise and its general feed-
back and the notes frame that of the exercises per-
formed by the student are present. The interface with
the detailing of the feedback for each execution of
the exercise is accessed by the option ”Output Gen-
erated”.
The authors (Pelz et al., 2012) defend, from real-
ized experiments, that the feedback provided by au-
tomatic correction mechanisms have pedagogical po-
tential. In this way, the presence of feedback can al-
low the student to reflect on their development and
learning and can decide to progress in their studies or
review some specific content.
An Automated Environment for Teaching Programming Logic on Distance Learning IT Courses
273
5 CONCLUSIONS
In this paper, we presented an environment with in-
teractivity resources in the didactic materials of the
discipline of Programming Logic of the Technical
Courses of a teaching institution. This environment
allows the students to have autonomy over their stud-
ies, obtaining feedback for the programming exer-
cises, which can be executed within the teaching ma-
terial itself. Considering that the autonomy of the stu-
dent is one of the pillars of e-learning, didactic ma-
terials with dialogic language, multimedia resources
and interactivity can be extremely important in the
construction of the knowledge of the subject that is
learning.
Thus, it is understood that this study considered
two pillars placed on the basis of e-learning: interac-
tive didactic material and student autonomy. Given
this, it is believed that a didactic material (with di-
alogic language) enriched with the multimedia re-
sources, associated with the interaction resource with
automated feedback allows the students to develop
further their autonomy and their programming abil-
ities related to the contents of the discipline of Pro-
gramming logic.
The inclusion of the resource for dynamic algo-
rithm correction modifies positively contributing to
the development of the programming abilities of the
new students since they can obtain a faster return to
their exercises and thus decide if they should continue
to advance in the contents discipline or review other
content.
REFERENCES
Belloni, M. L. (2003). Educac¸
˜
ao a dist
ˆ
ancia. Campinas/SP,
3rd edition. Autores Associados.
CodeMirror (2017). A versatile text editor implemented in
javascript for the browser.
Fardo, M. L. (2013). A gamificac¸
˜
ao aplicada em ambi-
entes de aprendizagem. Revista Novas Tecnlogias na
Educac¸
˜
ao, 11(1).
Instituto Metr
´
opole Digital (2016). Projeto Pedag
´
ogico dos
Cursos T
´
ecnicos do Instituto Metr
´
opole Digital.
Lee, M. J. and Ko, A. J. (2015). Comparing the effec-
tiveness of online learning approaches on cs1 learn-
ing outcomes. In Proceedings of the Eleventh Annual
International Conference on International Computing
Education Research, ICER ’15, pages 237–246, New
York, NY, USA. ACM.
Lucena, L. R. and Lucena, M. (2016). Potigol, a program-
ming language for beginners. In Proceedings of the
2016 ACM Conference on Innovation and Technology
in Computer Science Education, ITiCSE ’16, pages
368–368, New York, NY, USA. ACM.
Noschanga, L. F., Pelz, F., de Jesus, E. A., and Raabe, A.
L. A. (2014). Portugol Studio: Uma IDE para Ini-
ciantes em Programac¸
˜
ao. XXXIV Congresso da So-
ciedade Brasileira de Computac¸
˜
ao, pages 1287–1296.
Pelz, F. D., de Jesus, E. A., and Raabe, A. L. A. (2012). Um
mecanismo para correc¸
˜
ao autom
´
atica de exerc
´
ıcios
pr
´
aticos de programac¸
˜
ao introdut
´
oria. Anais do
23
o
Simp
´
osio Brasileiro de Inform
´
atica na Educac¸
˜
ao
(SBIE 2012).
Piva-Junior, D., Pupo, R., Gamez, L., and Oliveira, S.
(2011). EAD na pr
´
atica. Elservier, Rio de Janeiro/RJ.
Possolli, G. E. and de Quadros Cury, P. (2009). Re-
flex
˜
oes sobre a elaborac¸
˜
ao de materiais did
´
aticos para
educac¸
˜
ao
`
a dist
ˆ
ancia no Brasil. pages 3447–3462.
Potigol (2016). Linguagem potigol: Programac¸
˜
ao para to-
dos.
Preti, O. (2009). Estudar a Dist
ˆ
ancia. EdUFMT, Cuiab
´
a.
Silva, M. (2001). Sala de aula interativa. XXIV Congresso
Brasileiro da Comunicac¸
˜
ao, pages 1–20.
Valente, J. A. (2008). Educac¸
˜
ao a dist
ˆ
ancia. Number 08,
pages 105–113, Belo Horizonte/MG.
VisuAlg, A. I. (2016). Apoio Inform
´
atica - VisuAlg.
CSEDU 2018 - 10th International Conference on Computer Supported Education
274