Features of Professional Teachers Training of Informatics in a Programming Course

Abstract

When selecting learning tasks, the development of object-oriented techniques in programming needs to be considered, demonstrating different approaches in solving the same problem. Students should be taught how to use knowledge in real situations, to expand the scope of possible applications of object-oriented programming. The approach to the sum propositioned in this article gives an opportunity to talk about real chance of the process’ automation of difficult mathematical structures designing on the ground of the following stages: establishment, formalization and modeling of objects of structure, allocation of abstractions of the object’s class and the methods; establishment of the communications between objects based on interaction and inheritance of classes; objectoriented design – distribution of classes on modules; creation of models for development of visual projects; - creation of effective algorithms of the sum making methods of the classes entering the project; implementation of the project in one of the chosen object-oriented programming languages; carrying out analysis of results of implementation of the object-oriented project.

Keywords: Object-oriented design, object-oriented programming, design, polymorphism, inheritance

Introduction

Aims and goals of the professional improvement of future teachers of informatics on the basis of

competence approach necessitate an in-depth study and application of innovative educational

technologies.

The federal state educational standards of higher professional education involve a wide use of

information and communications technologies in teaching students.

The course of programming is one of the major courses among disciplines of physics and

mathematics. State educational standards of higher professional education in the major “Informatics”

provide a studying program within the object-oriented structure. The approaches, which were still used,

did not allow a fast developing information technology of visual programming in a proper degree. In

order to improve the quality of teaching students, it is necessary to pay great attention to the study of

various object-oriented programming environments in practice when developing visual projects.

However, the problem of low level skillfulness of students in initial stages of programming should

be noted. Despite the fact that the study of the basics of structured programming is a part of the state

educational standard of general and secondary education in computer science, a significant part of the

freshmen has no clue about programming. However, such situation is fairly stable in recent years.

Students, who have studied the basics of programming in the school course of informatics, are also

experiencing difficulties in studying programming at a tertiary level.

That’s why it is necessary to immediately determine the set of the most important sections for

studying programming in a continuing education, illustrating them with examples using high-level

languages. The study of object-oriented programming (OOP) is overdue, this generates firstly from the

operating skills with on-screen representations of information objects and models (Darakhvelidze, P. &

Markov, E., 2005; Ivanov, G., 2011; Kvatrani, T., 2001). Secondly, OOP has a leading position in the

development of software applications in their professional activities. The object-oriented approach is

now leading in the development of information technology at the professional level.

The basic principles of OOP are inheritance, encapsulation and polymorphism. In accordance with

the principle of inheritance, any descendant class can be generated from another class, this is indicated

in its declaration of the parent class name. The offspring class automatically inherits the fields,

methods, and properties of its parent and can add new ones. Inheritance mechanism allows you to

create a hierarchy of classes.

Polymorphism - a property class that gives the opportunity to solve similar problems using different

ways. As part of OOP, the behavioral properties of the class are defined by the set of its constituent

practices. Descendants who are missing parent properties could be given certain properties, changing

the algorithms and methods of inheritance. To change the method it is necessary to override it in the

offspring, that is, declare a descendant of the same name in the process. As a result, object-parent and

offspring-object, will be two derivatives of the method, and have different algorithmic basis, and

therefore, contain different object properties. This is called polymorphism of objects.

Formulation of the problem

When teaching students the object-oriented style of programming, it is necessary to develop the

ability to set the problem, identify objects and abstraction of the subject area, structure them by using

the object-oriented techniques in programming.

Students are encouraged to develop visual projects during the learning of OOP techniques in the

course - Programming. Among many other projects, it is proposed to create the project «University».

This article proposes a technique, which is based on the design of complex systems and structures; it

is carried out using the following steps:

1.Establishment, formalization and modeling the structure of the object, allocation of abstractions

of the object’s class and determining the methods to be used.

2.Creation of models for the development of visual projects;

3.Establishment of communications between objects, based on interaction and inheritance of

classes;

4.Object-oriented design – distribution of classes into modules.

5.Creation of effective algorithms and methods of entering the project class;

6.Implementation of the project in one of the chosen object-oriented programming languages;

7.Carrying out analysis of results of implementation of the object-oriented project.

Method of creating a project

Consider the methodology of the process of object-oriented designs and programming by creating a

«University» project; during project development, it is necessary to use such basic principles as

inheritance and polymorphism of the object-oriented programming (Shirokova, O., Training in

programming on the basis of the community and distinction of the principles., 2015).

Determination, formalization and modeling of object structures, the allocation of abstractions:

object classes and their methods

The development of the «University» project began, in accordance with the first stage of the

proposed methodology.

When you create classes that are needed to solve problems, it is necessary to describe the fields and

methods: students and teachers. The next step is to create two classes: T-stud and T-prof. Now we need

to highlight the differences and similarities between the fields and methods of these classes. Common

fields for the objects described by the classes are: name (f-name: string), address (f-adress: string), ID-

ID (userID: string), phone (phoneNumber: integer), and the various fields are: the group number (f-gr:

integer) and the name of the department (f-dep: string). Common methods are the constructor creation

and the info function.

Creating models for the development of visual projects

This second stage involves the development of a model for visual project «University». The class

diagram model (Figure 1).

Figure 1: The class diagram model.
The class diagram model.
See Full Size >

Determination of relationships between objects, based on the interaction and inheritance of

classes

When developing the project in the third stage, you need to determine the relationship between

objects, based on the interaction and inheritance of classes. You can use different approaches for

solving this problem.

Due to the decomposition of the identified fields and methods that are common to classes, it is

advisable to create a T-person class, which serves as the base for the two heirs: T-stud and T-prof

classes.

The part of the project that includes a class diagram is the main module that generates and

displays a list of students and teachers.

Figure 2: The main module diagram.
The main module diagram.
See Full Size >

The constructor creator will carry out the function of recording the values in the field. Note,

however, that the constructors in the classes of the student and the teacher should be different, except

when setting the values to be recorded in the f-name, f-dep and f-gr. Creating a static constructor, is

carried out by the descendants of the base class for the creation of objects:

constructor T-person.Сreate(name:string; address:string; user-ID:string; phone-number:integer);

constructor T-stud. Create(name:string; address:string; user ID:string; phone-number:integer;

gr:integer);

constructor T-prof. Create(name:string; address:string; user ID:string; phone-

number:integer;dep:string);

For us it is important to use info methods with a view on the object passed to it, if it is a descendant

of the class T-Person, that is, info will be overlapped in the descendants of T-stud and T-prof. This

allows descendant classes to produce a dynamic method replacement of its own.

Object-oriented design - the distribution of classes in modules

In the fourth stage of the development of object-oriented project, we will create a polymorphism

module for implementation of the base and descendant classes using the Delphi system. Description

module can also be made using C, C ++ systems and others. Imagine a fragment Polymorphism

module:

Type

TPerson = class {base class}

fname: string;

constructor Create (name: string);

function info: string; virtual;

end;

T-stud = class (T-person) {descendant class}

fr: integer; { field for group number }

constructor Create (name: string; gr: integer);

function info: string; override;

end;

T-prof = class (T-person) {descendant class}

f-dep: string; ; {Field for the name of the department}

constructor Create (name: string; dep: string);

function info: string; override;

end;

Info methods will be dynamically overlapped using virtual directive in the descendants of the class-

T-person: T-stud and T-prof; which will allow the descendant class to replace its own eponymous info

method in the module. Polymorphism concept provides a case of applying the object of use to the

method that corresponds to the class object.

Creating efficient algorithms for solving the problems that make up the methods of classes

included in the project, and the realization of one of the selected languages.

The fifth stage involves the creation of algorithms for solving problems that make up the class

methods, included in the project.

This is done by defining the dynamic method info for each class individually:

function T-person.info:string;

begin

result:=’’;

end;

function Tstud.info:string;

begin

result:=fname+' group '+instructor(fgr);

end;

function Tprof.info:string;

begin

result:=f-name+' department '+f-dep;

end;

Person Ref Sheet list can be written in array of T-person object class in the algorithm. The list takes

the form: list: array [1..n] of T-person; {N} -size of list

It is possible to Declare the list as an array of T-person objects because the principle of

polymorphism allows the assignment of a pointer to the parent class, and a pointer to a class-

descendant. Therefore, the elements of the list array can be both objects of T-stud class, and objects of

T-prof class.

This is the displays od a list by applying the info method to the list array elements:

St:= ’’;

for i:=1 to szl do

if list[i]<>nil then

St:=St+list[i].info+#13;

ShowMessage('Spisok:'+#13+St); {Displays a list in the box messages }

During the execution of the program, each element of the array can contain an object of T-stud type,

and an object of T-prof type.

3.6. Implementation of visual design at one of the selected object-oriented programming languages

In the sixth stage, design on one of the selected object-oriented programming languages is

implemented. A visual application is also developed. (Shirokova, O., 2015). Window shapes will look

like Figure 3.

The project includes visual components such as: Label1, Label2, Edit1, Edit2, Button1, Button2.

GroupBox1 - a component that brings together a group of components with similar meaning. In this

case, it has two dependent switch : RadioButton1, RadioButton2.

Figure 3: Window shapes of visual application.
Window shapes of visual application.
See Full Size >

3.7. Analysis of the results of the implementation of object-oriented designs.

At the seventh stage of the analysis, the results of the implementation of «University» object-

oriented design would be analyzed.

The results of the project are shown in Figure 4:

T-Form1.Button1Click procedure is performed using the button "Add" to create the list [n]of objects in

T-stud class or T-prof class. The class of objects to be created is determined by the state of the Radio

Button switch . Setting the switch to the Student defines the T-stud class,and setting it to the position of

the Professor defines the T-prof class .

T-Form1.Button2Click procedure is performed using the "List ", it applies the info method to each

element of the list [n] array as an object to form a displaying list of students and teachers.

Figure 4: The results of the project.
The results of the project.
See Full Size >

Analysis of the study results

This study focuses on the problem of polymorphism in the implementation of «University» system

project. Note that when using object classes, T-stud and T-prof used the principles of inheritance and

polymorphism. These principles are the basis of object-oriented university system and it implemented

the project by creating a base class T-person. Description of the interaction of the base class and its

descendants is a key issue when creating system «University».

Therefore, the description of the main unit is fundamental for the creation of this great system.

The ability of students to think "objectively" is formed in the development of visual projects of

standard components of object-oriented programming systems.

This methodology is a phased project involved in the creation of an increasing scope and roles of

independent works of students and the widespread use of active and interactive learning methods.

Conclusion

This article highlights and discusses the features of the study course - technology of object-oriented

programming, as one of the main components of the formation and development of professional

competencies, as well as the ability to act on the basis of the available skills, knowledge and experience

in a particular area of professional activity.

Creating an object-oriented system of modeling projects and structures, contributes to the formation

of students' skills in formalization, abstraction, separation, structuring and implementing of objects.

Ability to apply software development models to create software products, as well as the use of

software systems modeling tools are formed among students.

It is necessary to pay great attention to the creation of object-oriented projects in different

environments to improve the quality of teaching "Programming" course.

In accordance with this methodology the student must acquire the ability to independently develop a

project while learning OOP. Practical experience shows that efficiency of studying programming

increases: theoretical knowledge is acquired at its best and the skills of formalization, design,

modeling and programming are also well practiced.

References

  • Darakhvelidze, P. & Markov, E. (2005). Programming in Delphi, 7. 784.

  • Ivanova, G. (2011). Programming Technology: a textbook, 336.

  • Kvatrani, T. (2001). Rational Rose 2000 and UML, 176.

  • Shirokova, O. (2015). Training in programming on the basis of the community and distinction of the principles. Modern problems of science and education, 1, 1757-1762.

  • Shirokova, O. (2015). An object-oriented projects for solving mathematical problems. XI International scientificpractical. Conf. "Object Systems - 2015", 15-23.

Copyright information

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

About this article

Publication Date

20 July 2016

eBook ISBN

978-1-80296-011-2

Publisher

Future Academy

Volume

12

Print ISBN (optional)

-

Edition Number

1st Edition

Pages

1-451

Subjects

Teacher, teacher training, teaching skills, teaching techniques, organization of education, management of education, FLT, language, language teaching theory, language teaching methods

Cite this article as:

Gainutdinova, T. U., & Shirokova, O. A. (2016). Features of Professional Teachers Training of Informatics in a Programming Course. In R. Valeeva (Ed.), Teacher Education - IFTE 2016, vol 12. European Proceedings of Social and Behavioural Sciences (pp. 30-37). Future Academy. https://doi.org/10.15405/epsbs.2016.07.6