Programming Techniques (FSI-SPT)

Academic year 2020/2021
Supervisor: prof. RNDr. Ing. Tomáš Březina, CSc.  
Supervising institute: ÚM all courses guaranted by this institute
Teaching language: Czech
Aims of the course unit:
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.
Learning outcomes and competences:
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.
Prerequisites:
Knowledge and skills fulfilling the conditions of successful completion of the Basic Programming (SZP) course are expected.
Course contents:
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.
Teaching methods and criteria:
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 defense of individually elaborated project assigned by the teacher. The evaluation is fully in competence of the teacher according to valid BUT regulations.
Controlled participation in lessons:
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.
Type of course unit:
    Lecture  13 × 1 hrs. optionally                  
    Computer-assisted exercise  13 × 2 hrs. compulsory                  
Course curriculum:
    Lecture 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 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.
The study programmes with the given course:
Programme Study form Branch Spec. Final classification   Course-unit credits     Obligation     Level     Year     Semester  
B-MAI-P full-time study --- no specialisation -- GCr 3 Compulsory 1 1 S