Course detail

Programming Techniques

FSI-SPTAcad. year: 2018/2019

Selected designs of object-oriented programming are presented and the program creation principles are demonstrated. The knowledge is related to the methodology of systematic program design.

Learning outcomes of the course unit

Students will acquire knowledge of the methodology of creating programs using object-oriented programming and will adopt the ability to solve problems using object technology.


Knowledge and skills fulfilling the conditions of successful completion of the Basic Programming (SZP) course are expected.


Not applicable.

Recommended optional programme components

Not applicable.

Recommended or required reading

Hejlsberg, A. et al.: C# Programming Language (Covering C# 4.0), The (4th Edition) (Microsoft Windows Development Series), 2010
Wirth, N.: Algorithms and Data Structures. Prentice Hall, 1985.
Hanák, J.: Praktické objektové programování v jazyce C#, 2009
Hejlsberg, A. et al.: C# Programming Language (Covering C# 4.0), The (4th Edition) (Microsoft Windows Development Series), 2010
Sharp J.: Microsoft Visual C# 2008 Krok za krokem

Planned learning activities and teaching methods

The course is taught in the form of lectures, which have the character of interpretation of basic principles and theory of given discipline. Seminars are focused on the practical handling of the topics discussed at the lectures.

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.

Language of instruction


Work placements

Not applicable.


Getting acquainted with the object-oriented methodology of working with the computer. Development of algorithmic thinking, structured approach to problem solving and development of computer creativity of students.

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.

Classification of course in study plans

  • Programme B3A-P Bachelor's

    branch B-MAI , 1. year of study, summer semester, 5 credits, compulsory

Type of course unit



26 hours, optionally

Teacher / Lecturer


1. Reminder of the non-object programming concept
2. Motivation and principles of object-oriented programming
3. Minimum about encapsulation
4. Encapsulation and top – bottom design
5. Inheritance, class compatibility, and top-down design
6. Polymorphism and top-down design
7. Static methods, secure code, exceptions, and protected blocks
8. Class v.s. interface
9. Virtual Method v.s. delegate
10. Fundamentals of working with graphics, bitmap, graphical device context
11. Events management, the basics of working with windows
12. Component and delegate
13. Recapitulation

Computer-assisted exercise

26 hours, compulsory

Teacher / Lecturer


1. Introduction to the development environment of MVS 2017
2. Class, field and method definition
3. Class definition, visibility
4. Class definition, property
5. Inheritance by top – bottom design
6. Use of polymorphism by top – bottom design
7. Adding static methods and protected blocks
8. Interface usage
9. Delegate usage
10. Graphical output of the application, work with bitmap
11. Window applications, basic events
12. Component creation
13. Credit

Exercises take the form of developing case examples.