Course detail

Programming Techniques I

FSI-SPTAcad. year: 2022/2023

In this course we deal with programming console applications for Windows in C#. For this, more advanced secure object-oriented programming constructions supporting top-down design and wrapping methodologies are used.
We develop applications in the VS 2019 environment using its productivity-enhancing tools.

Language of instruction

Czech

Number of ECTS credits

3

Mode of study

Not applicable.

Learning outcomes of the course unit

Development of algorithmic thinking, structured approach to problem solving supported by actual object-oriented technologies and development of creativity.

Prerequisites

Knowledge and skills that meet the conditions for successful completion of the BASICS OF PROGRAMMING (SZP) course are expected.

Co-requisites

Not applicable.

Planned learning activities and teaching methods

The preferred style is learning by solve simple authentic tasks.

Assesment methods and criteria linked to learning outcomes

Students will prove the acquired knowledge and skills by independent elaboration of a semester project.
A graded credit is awarded on the basis of a point evaluation of a semester project, taking into account the point evaluation of three ongoing projects assigned during the semester. The evaluation is fully in the competence of the teacher according to the valid guidelines of BUT.

Course curriculum

Not applicable.

Work placements

Not applicable.

Aims

Knowledge and skill to shape students' programming habits with regard to productive writing of robust object-oriented applications under Windows in C# using its more advanced elements and VS 2019 environment tools.

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

Teaching takes place according to the weekly syllabi of the course syllabus. Attendance at lectures is expected, at seminars mandatory. Absence from the seminar can be replaced by a separate elaboration of the projects discussed at the given seminar or by elaboration of a substitute project with a possible presentation. The way of compensation missed seminar is fully in the competence of the teacher.

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

Albahari, J.: C# 10 in a Nutshell: The Definitive Reference, O'Reilly Media; 1st edition (March 15, 2022), ISBN 978-1098121952. (EN)
Oficiální online dokumentace jazyka C#: https://learn.microsoft.com/en-us/dotnet/csharp/ (EN)
Price, M.: C# 11 and .NET 7 – Modern Cross-Platform Development Fundamentals; Packt Publishing; 7th ed. edition (November 8, 2022), ISBN 978-1803237800 (EN)

Recommended reading

Not applicable.

Elearning

Classification of course in study plans

  • Programme B-MAI-P Bachelor's 1 year of study, summer semester, compulsory

  • Programme LLE Lifelong learning

    branch CZV , 1 year of study, summer semester, compulsory

Type of course unit

 

Lecture

13 hod., optionally

Teacher / Lecturer

Syllabus

1. Encapsulation as system definition, class / structure, object creation / release
2. Member access modifiers, property, automatic property
3. Indexed property
4. Static members, secure code, exceptions and protected blocks
5. Object serialization, binary, text, minimum XML language
6. Inheritance, type compatibility and top-down design
7. Virtual methods and top-down design
8. Delegate, delegate vs. virtual method
9. Interface, interface vs. class
10. Delegate and lamda-functions
11. Minimum on Linq collections and extensions
12. Generic class
13. Event, event management

Computer-assisted exercise

26 hod., compulsory

Teacher / Lecturer

Syllabus

At each seminar, at least one application is written or developed with the teacher's explanation and under his guidance, in which the constructions according to the current topic presented at the lecture are implemented.

Elearning