=Paper= {{Paper |id=Vol-1844/10000281 |storemode=property |title=Learning System FRIMAN |pdfUrl=https://ceur-ws.org/Vol-1844/10000281.pdf |volume=Vol-1844 |authors=Jozef Kostolny,Monika Vaclavkova |dblpUrl=https://dblp.org/rec/conf/icteri/KostolnyV17 }} ==Learning System FRIMAN== https://ceur-ws.org/Vol-1844/10000281.pdf
                         Learning System FRIMAN

                         Jozef Kostolny and Monika Vaclavkova

                                  Department of Informatics,
                                     University of Zilina
                                   Zilina, Slovak Republic

            (Jozef.Kostolny, Monika.Vaclavkova)@fri.uniza.sk



       Abstract. Education of professional managers who are able to lead teams or com-
       panies developing information systems is a specific process. On our Faculty of
       Management Science and Informatics, we want to modify the teaching of rele-
       vant courses in such a way that more challenging themes and techniques will be
       distributed to smooth the learning process. For this purpose, we have prepared a
       proposal of a teaching system that allows focusing on the basis of algorithms in
       object-oriented programming environment in the first part of the considered
       courses. More advanced concepts of the programming that are considered diffi-
       cult or problematic by beginners will be shifted to the later parts of the courses.

       Keywords: Learning System, Object-Oriented Programming, Language Syn-
       tax, Unified Modelling Language, Information Management


1      Introduction

Informatics for managers can be defined as the application of informatics and infor-
mation technology in management. Checkland [1] describes this as follows: technology
works with data, people interpret them as information bearing significance, which be-
comes a stimulus for further negotiations. The process of interpretation of information
is a cognitive process whose results can be interpreted as knowledge. It is emphasized
frequently that good managerial work in various fields requires using information and
communication technologies. Information and communication systems in information
management represent useful support tools for work acceleration. Therefore, it is im-
portant for managers to understand the basics of information and communications tech-
nologies. Today, this is taken as the necessary computer literacy. In addition to basic
knowledge of operating systems and office applications, workers and potential workers
in the management of information technology should also have knowledge of the de-
sign, creation and maintenance of information systems. They should have also basic
knowledge of software engineering. At the Faculty of Management Science and Infor-
matics of University of Zilina, two courses dealing with principles of Computer Science
are taught in bachelor study program “management”: Informatics for Managers 1 and
Informatics for Managers 2. The content of these courses is introduction to creation of
information systems.
    The core of courses Informatics for Managers 1 and Informatics for Managers 2 is
development of application using object-oriented paradigm. Teaching beginners'
courses at our faculty is carried out in Java. Therefore, educational materials for demon-
stration of the principles of object-oriented programming are created in Java. The prin-
ciples of object-oriented programming are taught using the Java programming lan-
guage. This language was chosen due to its high popularity in creation of real applica-
tions.
    Most of our students in management have no knowledge of programming and de-
signing information systems before the courses and, therefore, many students have usu-
ally problems to understand them.
    In the first part of the courses, we deal with the basics of algorithm design and lan-
guage syntax. During the teaching these courses, we found that one of the biggest ob-
stacles for passing the courses successfully by beginning students is to understand the
principles of syntax and compliance with the Java language. For these reasons, we have
tried to find a solution that would simplify initial lessons of the courses and, at the same
time, allow grasp and understand the basic concepts of object-oriented programming
and software development. For this purpose, we have designed a learning system for
teaching managers in the bachelor study program. This system was named FRIMAN,
and it has been developed in the frame of Project course, which is taught in the master
study program “informatics” at our faculty.


2      Teaching Software

Currently, environment BlueJ [2] is used as a support tool for teaching software devel-
opment in courses Informatics for Managers 1 and Informatics for Managers 2. The
graphical interface of this tool is shown in Figure 1. The environment has been designed
at the University of Kent. This tool is intended not for development of professional
applications but for teaching the principles of object-oriented programming in the Java
programming language.
   BlueJ is an easy development environment that is suitable for beginners. It incorpo-
rates a lot of user friendly modules, such as:

 syntax validator of the code in created classes,
 debugging module for compiled classes,
 color distinction between individual sections of the code.

   BlueJ environment allows users to create instances of implemented and compiled
classes with a help of the graphical user interface. The created instances have an ability
to receive messages in a graphical way. The environment also allows you to view the
internal state of the instance by inspecting values of the attributes. These and other
features provide full support for beginner-level students learning object-oriented pro-
gramming. Therefore, it can be stated that the graphical environment of BlueJ is in full
compliance with abilities of beginners and acts as a useful support tool for them.
                 Fig. 1.   Graphical user interface of BlueJ and Greenfoot

   However, after several years of teaching the course, we concluded that the biggest
problem for our beginning students is to understand the principles of Java syntax. One
of the main problems is correct positioning brackets especially in blocks or nested
blocks of the code.
   Another problem of our students is using the output terminal window. The current
design of application graphical interface is good, but use of more complicated con-
structs, such as “System.out.println(parameter)” or formatted output,
seems to be very confusing for beginners. Entering input data using class Scanner is
also difficult to understand for beginners. The inputs and outputs handled by more ad-
vanced way, e.g. by class JOptionPane from package javax.swing, means even
much more challenging task.
   Due to the previously mentioned problems with syntax and others we do not have
enough space for further dealing with important terms and concepts of object-oriented
programming during the course. For these reasons, we have tried to find a solution that
would eliminate the problems with the syntax and that would navigate students in in-
troductory lessons to learn syntax and, at the same time, it allows grasping the essence
of the explained concepts and knowledge. The required solution should have features
equivalent to those in BlueJ, while it should minimize the need to use the syntax of the
Java programming language. Our visions are as follows:

 In the first step, the aim is to familiarize students with the basic principles of pro-
  gramming and object-oriented paradigm without using the Java syntax. This part of
  teaching results in a common understanding of the basic principles necessary for the
  courses.
 In the second step, we plan to teach students considering constructions of the Java
  language. In this step, a tool suitable for development more complex Java applica-
  tions will be used. Using this approach, we want to achieve a gradual consolidation
  of the most important knowledge.
3      Looking for Appropriate Solution

At the beginning of the process of finding solution to the aforementioned problems, we
looked for a new environment that would satisfy our requirements. The most suitable
one was Greenfoot [3], whose design, as we can see in Figure 1, is very similar to BlueJ.
This tool has also been developed at the University of Kent. In Greenfoot, students
acquire knowledge by creating simple computer games. This approach can be very
interesting and attractive for students. The latest versions of Greenfoot contain a pseudo
language called Stride, which allows creating simple game applications in more pro-
fessional way. A big benefit of this tool is a possibility to select individual statements
and language elements from the menu placed in the right column
(Figure 3). After the selection, the user fills the fields of the statement, e.g. the condition
and executed code in case of if-statement. The code created using Stride is then auto-
matically converted into Java. Furthermore, this tool also allows developing applica-
tions by direct use of the Java programming language.




                        Fig. 2. Development environment of Greenfoot

   However, the main drawback of the solution based on Greenfoot is a necessity to
learn another programming language, i.e. Stride. Students would have to learn two lan-
guages and that could complicate the situation for beginners and bring confusion into
acquired knowledge. Another ground for refusal of Greenfoot was the fact, that Green-
foot environment uses a construct of inheritance, which can be very difficult to under-
stand by beginners. For these reasons, we had to look for other solutions.
4      Proposal of Learning System FRIMAN

   In the courses for managers, every student has to create a semester project. The pro-
ject is a simple application in Java, and it should present the knowledge gained during
the semester. The semester project includes a documentation that contains class dia-
grams of the created application. Our experiences show that work with UML diagrams
and tools for its creation is an important for students to gain knowledge. Usually, stu-
dents do not have a problem with drawing the diagrams. Generally, understanding and
creation of activity diagrams is much simpler for them than the programming itself.
Because of that, the FRIMAN will address translation to Java automatically on request.
Later lessons in other courses will be able to familiarize students with Java and will be
focused on re-development of algorithms proposed using diagrams in Java. Our reflec-
tions include expectation that many of our students will be work as managers with dif-
ferent models and diagrams [6] but not as programmers.
   Since only a minimum of these students will deal with implementation of software
in the future, we do not teach a specific programming language in the majority of
courses. For these reasons, the most important thing for students is to understand the
importance of management direction, especially, design and development of applica-
tions using class and activity diagrams. The issue of implementation, which depends
on a specific programming language, will be considered in other courses created for
students that are interested.




                        Fig. 3. Graphical user interface of FRIMAN

   The system designed with respect to the previously mentioned requirements could
be extended by other functionality that allows transformed the created project into other
object-oriented programming language. This way, students can obtain valuable aware-
ness on significance of the analytical phase of software development [7]. At the same
time, they will be able to realize the fact that the model of the system is independent of
the implementation language, which is important from a pedagogical point of view. By
applying this extension, the system could also be simply adopted in future change of
the programming language used in both courses. This language is currently Java, but it
can be exchanged for any other programming language without changing the basic cur-
riculum of the courses. The development of programming languages is a permanent
process and more appropriate programming language may appear in the future [8].
   The FRIMAN is connected with the UML FRI. The diagrams used in the FRIMAN
are in fact XML documents generated by UML FRI. Graphical interface of the
FRIMAN is user friendly to be easy to use and attractive for students. A view on the
graphical interface of the FRIMAN is in Figure 4.
   In the middle of the window, you can switch between the different modes of the
system, namely:

1. complete class diagram of a selected class;
2. activity diagram of a selected method;
3. source code of a chosen method of a selected class in Java language.

   In the left part of the window, basic graphic components for creating activity dia-
grams are located. In the right part, elements of a selected class, such as attributes and
methods, are displayed. Further, in the bottom right corner, information relevant to a
selected program component is present for additional help.
   Using the FRIMAN, students can develop applications based on the following steps:

  (a) designing classes including relationships between them using class diagrams pro-
      vided by UML FRI tool;
  (b) the FRIMAN creates basic representation of the classes, their attributes and head-
      ers of the methods and constructors by parsing the appropriate XML files ob-
      tained from the UML FRI;
  (c) students will propose algorithms as the bodies of the generated constructors and
      methods with the help of graphical components provided by the FRIMAN;
  (d) the FRIMAN transforms diagrams into Java language;
  (e) debugging the final application using graphical representation of instances cre-
      ated from implemented classes.

    Furthermore, the FRIMAN will be capable to debug the generated code, and the
debugger will be connected with the graphical components. This allows students to see
their logical errors directly in the diagrams.
    The steps described above cover a lot of functionality. Because of that, the FRIMAN
is divided into several modules with specific functionalities (Figure 5). The first module
is XML parser that is designed to parse an XML document containing a UML class
diagram. As mentioned above, the XML document is an output of the UML FRI. XML
parser module is connected to the module responsible for inserting and processing class
diagrams in a project controlled by the FRIMAN. The prepared files are then processed
and modified by the core modules of the application, which are connected to the main
window of the application. The main window (Figure 4) permits performing several
modes of processing, and therefore, it closely cooperates with the module responsible
for editing programming constructs.
Editing individual programming constructs will be performed through graphical com-
ponents. Examples of graphical components can be viewed in the left bottom part of
the window shown in Figure 4. Individual graphical components must provide help for
their operation. Every component that can work with variables (attributes, parameters
and local variables) has to offer access to them. In the case of reference variables, the
component has to be able to show interface of the referenced object.




                           Fig. 4. Proposal of FRIMAN modules

    The editing module is connected to the module whose function is transformation of
graphical components into Java and vice versa. This module is called Code-
Transformator. Another module called Boot runs the entire application and is con-
nected to the main module called Main. After starting this module, the main window
is shown. These core modules are connected with others that allow compiling the source
code into Java bytecode. The compilation is done using the classic Java compiler that
is part of Java virtual machine. Another module that has access to the compiler module
is debugger. Java code can be debugged after each command, and every Java command
will be represented in the FRIMAN editor as a graphical component. Graphical com-
ponents can correspond not only to one command in Java but also to several. In this
case, it is necessary to ensure that the debugging module will correctly interpret line
numbers of the various graphical components. Further, if it is necessary, the module
has to allow identifying the fault line. This problem is not trivial, and its solution re-
quires finding correct transformation.
    Learning system FRIMAN and its architecture brings a number of issues that needs
to be resolved. Therefore, we plan to implement it utilizing the latest technology of
object-oriented programming and using the JAVA language. One of the technologies
that will be used is reflection.
5      Conclusions and Future Work

Ensuring the acquisition of comprehensive knowledge in the field of applied informat-
ics for specialists in management who are educated on bachelor studies is very neces-
sary nowadays. This requires from different educational institutions to prepare relevant
courses that contribute most to that. In our courses we prepare professionals who will
be managers and will be able to control teams or companies engaged in the creation of
information systems. For that reason, acquiring knowledge in the field of design and
creation of information systems plays a key role in our bachelor study.
    Based on years of experience, we have identified which parts of teaching makes the
biggest problem for our students. Based on them, we prepared a proposal of a learning
system that will benefit from the positive aspects of the existing and previously used
development environments. The proposed system will allow giving the emphasis to
understanding the basic principles of object-oriented programming and allow students
to avoid problematic parts of programming. The parts that beginning students consider
problematic will be discussed in the later parts of the course. This way we try to ensure
the equitable distribution of knowledge that should be acquired by the students during
the course. We expect that the proposed learning system will increase percentage of
students that successfully pass courses Informatics for Managers 1 and Informatics for
Managers 2.
    System FRIMAN, which was presented in this paper, allows creating projects and
classes in the projects. In every class, it also allows declaring methods and creating
their bodies through graphical components. This permits dealing with basis of algo-
rithm design. Furthermore, the system allows generating code from the diagrams, cre-
ating instances of the compiled class, and debugging code.
    Currently, we work on modification of the initial proposal in such a way that the
drawing relevant diagrams will also be performed using the FRIMAN. After solving
this issue, there will be no necessity of connection to the UML FRI, and the FRIMAN
will be more consistent and less dependent on other projects.


References
 1. Checkland, P., Scholes, J.: Soft Systems Methodology in Action. Wiley (1999).
 2. University of Kent: BlueJ hompage, http://bluej.org.
 3. University of Kent: Greenfoot hompage, http://greenfoot.org/.
 4. Parso, E., Suroviak, D., Ondrejak, J., Dragula, M., Jesensky, M., Sensel, P., Sedlacek, P.,
    Vaclavkova, M.: FRIMAN. Cent. Eur. Res. J. 2, 70–75 (2016).
 5. Sadlon, L., Janech, J.: UML FRI hompage.
 6. ŘEPA, V.: Analýza a návrh informačních systémů. Ekopress, Praha (1999).
 7. Horstmann, C.S.: Big Java 3rd Edition. John Wiley & Sons, Inc. (2008).
 8. Václavková, M., Nedeljaková, I., Kovalík, Š., Boháčik, J., Kopecký, J.: Informatika pre
    manažérov – základy programovania v jazyku Java. Žilinská univerzita v Žiline EDIS
    (2016).