Papers

Last update:    2016-02-10 – 12:37

Modified Explanation of Java Object Constructs Helping with their Understanding
International Conference on New Horizons in Education 2015   —   Barcelona   —   PDF version for download.
Abstract:
Most textbooks and courses explain the basic object oriented (OO) constructs in a very similar way. Extensive experience with teaching different kinds of courses at various levels, from primary and secondary schools to universities and retraining courses for professional programmers shows that many students have difficulties with this traditional approach to the explanation of basic OO constructs. The paper shows a little modified approach to this explanation that is based on the Architecture First methodology and that may lead to a better understanding of these constructs.

BlueJ as the NetBeans Plugin
Federated Conference on Software Development and Object Technologies 2015   —   Slovakia, Žilina   —   PDF version for download.
Abstract:
One of the best IDE for introduction courses of object oriented programming is the BlueJ IDE. This IDE was developed with respect to needs of the absolute beginners. It offers almost everything what we need for teaching according the Architecture First methodology. However later, when the students go over to some professional IDE, they lose many of the BlueJ excellent features, especially the ability to design the program and its architecture in the interactive mode. The paper shows, how the BlueJ IDE was modified to work as fully functional plugin for NetBeans IDE and which new possibilities we obtain with it.

Kopenograms and their implementation in BlueJ
Federated Conference on Software Development and Object Technologies 2015   —   Slovakia, Žilina   —   PDF version for download.
Abstract:
Although currently the bulk of the most common algorithmic tasks are included in libraries of programming languages, it is necessary to realize, that upon completion of object oriented design of application, we still not avoid of using more complex algorithmic constructions. For its visual projection and easier understanding several graphic languages are used. Architecture First methodology for its purpose prefers kopenograms, as one of the most suitable method of displaying structured algorithm. This paper deals with the tool, which was added to IDE BlueJ in order to improve support of Architecture First methodology by this IDE and which allows students to show kopenogram of selected method in a simple manner in interactive mode.

Interface-based software requirements analysis
Federated Conference on Software Development and Object Technologies 2015   —   Slovakia, Žilina   —   PDF version for download.
Abstract:
Software requirements analysis is a critical phase in the software development life cycle. It is usually carried out using one of the following: use cases, user stories or business scenarios. Use cases, user stories and business scenarios thus become inputs for the object oriented analysis (OOA) of application software development. Most translating and mapping of software requirements from text to objects and classes creates problems with software acceptance. There is also a practical issue with object oriented analysis, namely, that OOA and object oriented design (OOD) both operate with the same objects and classes, and, in practice, it has not yet been possible to separate them from one another. The goal of this article is to provide a solution that will simplify software requirements analysis and separate such analysis from design, in order to give architects, developers and testers the ability to work independently through a contract (interface) that integrates their work.

Functional Programming Constructs in Java 8 and Their Integration into Lessons of Object Oriented Architecture
SDOT'13   —   Jihlava
Federated Conference on Software Development and Object Technologies
PDF version for download.
Abstract:
In contemporary programming the significance of parallelizability of wide range of human activities is increasing. The development of various teaching tools is so quick that it is difficult to even watch it. Concurrently a natural endeavor is arising to install such programming constructs which would enable to transfer the main burden to the used libraries and frameworks and leave only a care for the best programming of the required business logic to programmers. A significant place among these constructs belongs to functional programming, above all the lambda expressions and data streams. This paper presents the basic characteristics of certain new constructs in Java 8 and how these constructs can be included into the lessons on the object oriented architecture.

Our Experience Teaching After-School Programming to Parents and Their Children
WorldComp 2013   —   LasVegas
The 2013 World Congress in Computer Science, Computer Engineering, and Applied Computing
PDF version for download.
Abstract:
Many years ago, Prague’s sport clubs introduced courses of swimming, gymnastics, trekking as well as other physical training for parents and their children, in which parents and children are active participants who carry on the selected activities together. Compared to this thoroughly-explored problem, courses of programming for adults and children face a very different set of problems. We were inspired by the experience of after-school athletes and decided to examine how an interest group of after-school programming for parents and their children might operate. This paper summarizes a two-year experience with running such courses.

How to improve understanding of OOP constructs
FedCSIS 2012   —   Wroclaw
Federated Conference on Computer Science and Information Systems
PDF version for download.
Abstract:
Most textbooks and courses explain basic object oriented (OO) constructs in a very similar way. Extensive experience with teaching different kinds of courses at various levels, from primary and secondary school through to university and requalification courses for professional programmers shows that many students have a difficulty with this traditional approach. In this paper we show that a modified approach according to Architecture First methodology leads to a better understanding of the basic OO constructs.

Kopenograms - Graphical Language for Structured Algorithms
WorldComp 2012   —   Las Vegas
The 2012 World Congress in Computer Science, Computer Engineering, and Applied Computing
PDF version for download.
Abstract:
In the OOP era of the present times, it tends to be forgotten sometimes that the design of rather complex algorithms may be ahead of us at the end of object analysis. Several graphical languages are available for their representation. Kopenograms are one of the clearest ways how to represent structured algorithms. They are an apt supplement of UML diagrams used to show algorithmic structures, and they have proven themselves as a very effective tool in programming classes.

Principles of the Methodology Architecture First
Objects 2012   —   Praha
PDF version for download.
Abstract:
The set of tasks, which does not need to be solved by a programmer, because certain program can solve it, extends all the time. The area which still resists to automation is a design of a good architecture. Most of the current methodologies teach primarily how to write a program in some programming language. The methodology Architecture First turns the current procedures up and starts with teaching the object oriented architecture. The paper introduces this methodology and explains its principles.

Kopenograms and their Implementation in Netbeans
Software Development 2012   —   Ostrava
PDF version for download.
Abstract:
In contemporary period of OOP we tend to forget that sometimes a proposal of more complex algorithms is expecting us at the end of object analysis. There are several graphic languages existing for their projection. One of the most illustrative ways of structured algorithms projection uses kopenograms. This paper deals with the detailed way of kopenograms´ transcript in the first part, the second part is devoted to an editor, which is developed as a plug-in into the developmental environment NetBeans.

Outsourcing Of System Integration Development
Software Development 2012   —   Ostrava
PDF version for download.
Abstract:
Many companies outsource the development of system integration as well as development of any information system. There are different risks connected to the outsourced development of system integration. This essay will describe and cover only architectural risks of outsourced development of system integration. This essay will analyze these risks by using agile development methodology. The proposed solution will be based on architectural design patterns, system integration design patterns and agile development methodology.

Security of Outsourcing of Software Development
Objekty 2011   —   Ostrava
PDF version for download.
Abstract:
Security is crucial for all information systems that provide business service. Many systems do not solve security because they rely on firewalls and network securities or security is ignored because of lock of kills or lock of requirements. When outsourcing software development it can easily happen that security is left out from information system scope because of lack of resources and skills. This article will show most types of security vulnerabilities and describes how to check software against security requirements.

Cumulant – a program facilitating the development of educational projects series stepwise cumulating the functionality of the developed program
Objekty 2011   —   Ostrava
PDF version for download.
Abstract:
The paper introduces a program facilitating the development of series of educational projects, in which the developed program is stepwise improved and at the same time, each phase is presented as an independent project assigned to the relevant lesson of the textbook or course. It explains how to specify assembling of particular projects from classes in the overall teacher’s project and shows which tools the program offers for defining several versions of the gradually developed class in one source file, and how to specify which part of the source code will be incorporated into the final program for particular lessons.

Development of Programming Textbooks and Courses
Objekty 2011   —   Ostrava
PDF version for download.
Abstract:
The paper analyses various approaches to the development of textbooks and courses of programming or programming languages. It introduces their advantages and disadvantages and shows where is the difference between real programming textbooks and courses and the textbooks and courses that only present a programming language and its libraries. The paper specifies certain principles that should be observed in concept proposals of programming courses and textbooks. It reminds the early bird pedagogical rule according to which the lecture should be organized in such a way that the most important principles would be explained as soon as possible. At the same time it suggests not to concentrate unnecessarily on topics that are gradually automated but on the other hand, to teach from the very beginning also the basic architectural principles. At the conclusion it introduces various approaches to the development of accompanying programs and analyses their pros and cons. It introduces simultaneously a program that can significantly help in designing the accompanying programs which can be gradually improved by students during the course.

Programming is also debugging
Software Development 2011   —   Ostrava
PDF version for download.
Abstract:
When we talk about teaching programming, we mostly discuss only how to teach the art of coding. Possibly we accompany it with a discussion on teaching the art of analyzing and designing. During these discussions we do not realize that students (and professional programmers as well) do not spend most time by coding but by debugging. However, the standard courses usually do not deal with the art of proper debugging. The paper addresses this handicap and is searching for the way to incorporate this topic into our courses.

The methodology Design Patterns First and inductive learning in interactive mode
PREDIL 2010   —   Banská Bystrica
Promoting Equality in Digital Literacy
PDF version for download.
Abstract:
Our experience shows that girls often prefer to think in inductive rather than deductive manner. This can be a problem especially in programming, where the deductive approach is generally preferred. The paper shows how we can modify the methodology of teaching to satisfy these needs and how to teach Object Oriented Programming in a less abstract way. The approach is based on the Design Patterns First methodology that suggests starting the course in an interactive mode, where students play a role of an object in a project. The paper presents how we can use the interactive mode for teaching various topics including interface and its purpose in the program and how to follow it by explaining basic design patterns and demonstrating their influence to the overall quality of program.

How to improve understanding of object constructs using a slightly modified explanation
DidInfo 2010   —   Banská Bystrica
16th National Conference on the Teaching of Informatics
PDF version for download.
Abstract:
Most textbooks and courses explain basic object oriented (OO) constructs in a very similar way. Extensive experience with teaching different kinds of courses at various levels, from primary and secondary school through to university and requalification courses for professional programmers shows that many students have a difficulty with this traditional approach. In this paper we show that a modified approach leads to a better understanding of the basic OO constructs.

Using the methodology Design Patterns First by prototype testing with a user
IMEM 2009   —   Spišská Kapitula
Interdisciplinary relationship in the theory and practice of informatics, management, economics and mathematics
PDF version for download.
Abstract:
The agile methodologies are more and more popular. One of their traits is embracing users in the development team. To be really useful users should be able not only to evaluate the design of a user interface but they also have to understand the programming techniques of business processes. If we could show users not only the results, but also how the program solves the particular processes, we could obtain from them feedback of much higher quality and we could discover some errors much sooner. The article shows how we can teach user to behave correctly inside our program and work here with the program’s particular instances – perform instance level modeling and testing. It shows how use the methodology Design Patterns First to teach him to analyze the program behavior without learning how to program.

Early Introduction of Inheritance Considered Harmful
Objects 2009   —   Hradec Králové
PDF version for download.
Abstract:
Most textbooks about object-oriented programming start explaining the OOP triumvirate, inheritance – abstract classes – interface, with inheritance and overriding, then continues with abstract classes and ends with interfaces and their implementation. The article explains why the Design Patterns First methodology changes this order of explanation. It suggests explaining the interface at the beginning of course and not continuing with inheritance of classes until the students include active incorporation of interfaces in their design. The article gives reasons for this changed order, expresses its benefits and accompanies this explanation with some examples of students’ assignments demonstrating usage of these principles.

Automatic Grading of Student’s Assignments
Informatika XXI/2008   —   Luhačovice
PDF version for download.
Abstract:
One of the bothersome tasks in programming education is evaluation of student assignment solutions and homeworks, because this activity is time consuming and mostly not interesting. The paper shows how the evaluation of handed in solutions can be easily automated and introduces a “micro library” used for this purpose. Then it shows how we can modify the evaluation process to minimize problems caused by handing in solutions prepared by somebody else.

Order of explanation should be Interface – Abstract classes – Overriding
ITiCSE 2007   —   Dundee
Innovation and Technology in Computer Science Education
PDF version for download.
Abstract:
Most textbooks about object-oriented programming start explaining the OOP triumvirate, inheritance – abstract classes – interface, with inheritance and overriding, then continues with abstract classes and ends with interfaces and their implementation. The article explains why the Design Patterns First methodology changes this order of explanation. It suggests explaining the interface at the beginning of course. After some experience it should follow by explaining abstract classes and inheritance without method overriding and after more experience by explaining inheritance of standard classes and method overriding. The article gives reasons for this changed order, expresses its benefits and accompanies this explanation with some examples of students’ assignments demonstrating usage of these principles.

Evaluation of Student Assignments
Software 2007   —   Ostrava
PDF version for download.
Abstract:
One of the bothersome tasks in programming education is evaluation of student assignment solutions and homeworks. Because, this activity is time consuming and mostly not interesting. The paper shows how we can automate the evaluation of handed in solutions by using Design Patterns First methodology. It first sums up the basic characteristic of the Design Patterns First methodology and shows, why its use facilitates the designing of the assignments and subsequent evaluation of handed in solutions. It informs about a “micro library” used by author for this purpose. In the next part it shows using three examples taken from a basic course of Java how it is possible to make the evaluation significantly more effective.

Let’s Modify the Objects-First Approach into Design-Patterns-First
ITiCSE 2006   —   Bologna
Innovation and Technology in Computer Science Education
PDF version for download.
Abstract:
Design patterns have made a strong impact on how object-oriented software is designed, implemented, and communicated in industrial projects. Teaching patterns is therefore of great importance. To become them rooted, it is imperative to teach them from the very beginning of the course. This paper suggests modifying present Objects First approach into the Design Patterns First one and shows how to do it. It presents the brief content of the first five lessons of the course in which this approach is applied, together with some examples which demonstrate the usage of design patterns and which are on the other hand sufficiently simple for the first lesson of introductory course.