Course detail

Programming Techniques

FSI-DPTAcad. year: 2007/2008

The course is concerned with the following topics: Introduction, object principles, object oriented programming, object extension of Pascal for Delphi. Static and virtual methods, constructors, destructors. Static and dynamic instance of the class, working with pointers. Private and public properties and methods, principles of code safety improvement. Systematic design of inherited classes by existing classes modification, class compatibility, use of virtual methods. Philosophy of object oriented libraries use. Top-down method application. Principles of data and processing classes design separation. Designing units, project structure, working with object libraries. Implementation of list, tree, collection, streams. Use of those structures. Recursion. Selected parts of software engineering, project, project management methodology.

Language of instruction

Czech

Number of ECTS credits

6

Mode of study

Not applicable.

Learning outcomes of the course unit

Students will learn the methodology of program development based on the object-oriented programming and will acquire skills to solve a problem through object technologies.

Prerequisites

The understanding of algorithmization principles, structured approach to problem solving and methodology knowledge of non-object program making is expected.

Co-requisites

Not applicable.

Planned learning activities and teaching methods

Teaching methods depend on the type of course unit as specified in the article 7 of BUT Rules for Studies and Examinations.

Assesment methods and criteria linked to learning outcomes

Course-unit credit requirements: active participation in seminars and individual elaboration of an assigned project. The examination comprises written and oral parts. The written part is represented by a test with four questions. Oral part consists of discussion on the written part with possible complementary questions. The evaluation is fully in competence of a tutor according to the valid directives of BUT.

Course curriculum

Not applicable.

Work placements

Not applicable.

Aims

The introduction to the object oriented methodology of work with a computer. The algorithmic thinking extent and structured approach to problem solving. The development of computer creativity and a structured approach to problem solving.

Specification of controlled education, way of implementation and compensation for absences

The attendance at lectures is recommended while at seminars it is obligatory. Education runs according to week schedules. The form of compensation of missed seminars is fully in the competence of a tutor.

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

Not applicable.

Recommended reading

Not applicable.

Classification of course in study plans

  • Programme B3901-3 Bachelor's

    branch B3910-00 , 1. year of study, summer semester, compulsory
    branch B3904-00 , 1. year of study, summer semester, elective (voluntary)

  • Programme B2341-3 Bachelor's

    branch B2370-00 , 2. year of study, summer semester, compulsory
    branch B2339-00 , 2. year of study, summer semester, elective (voluntary)

Type of course unit

 

Lecture

26 hours, optionally

Teacher / Lecturer

Syllabus

1. Introduction, the principles of objects, object oriented programming, Object oriented extensions in Delphi.
2. Static and virtual methods, constructors and destructors.
3. Dynamic instance of class, work with pointers.
4. Private and public properties and methods, principles of security improvement.
5. Systematic design of inheritors through modification of existing classes, compatibility of existing classes, virtual methods use. Philosophy of work with object oriented libraries.
6. Top down method application, Principles of the separation of overhead and data classes
7. Software engineering, methodology of project management, the design of project structure, work with object libraries, units design.
8. Dynamic array, work with dynamic arrays.
9. Implementation and use of lists.
10. Implementation and use of trees.
11. Stream, work with the stream.
12. Recursion and its use.
13. Accreditation.

Computer-assisted exercise

26 hours, compulsory

Teacher / Lecturer

Syllabus

1. Repetition – work with pointers, recursion. Object as generalised record.
2. Static and dynamic instance of class. Systematic design of constructor and destructor.
3. Philosophy of virtual methods use.
4. Principles of code security increasing.
5. Classes design philosophy with use of inheritance, classes compatibility.
6. Class design and top down method. Use of classes compatibility for condensation and generalization of code. Overhead and data classes separation.
7. Philosophy of project structuralization in, support in Delphi.
8. Dynamic array, work with dynamic arrays.
9. List implementation.
10. Tree implementation, work with tree I.
11. Tree implementation, work with tree II.
12. Stream, work with stream.
13. Recursive approach to data structures.

Exercises cover and develop typical examples.