Papers

Security of Outsourcing of Software Development
Objekty 2011   —   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   —   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   —   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   —   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   —   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   —   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
PDF version for download.
Abstract:
Slightly modified version of Evaluation of Student Assignments

Order of explanation should be Interface – Abstract classes – Overriding
ITiCSE 2007   —   Dundee   —   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   —   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.