Basics of Programming (FSI-SZP)

Academic year 2023/2024
Supervisor: doc. Ing. Pavel Štarha, Ph.D.  
Supervising institute: ÚM all courses guaranted by this institute
Teaching language: Czech
Aims of the course unit:

The aim of the course is to teach students the basics needed for creating simple applications. The student is introduced to the basics of programming using primitive and reference data types, classes and objects in C#. In addition, students are given emphasis on the formulation of algorithms for solving problems.

Learning outcomes and competences:

Students will gain a basic understanding of C# and using the Visual Studio IDE tools. They will also gain the ability to formulate simple algorithms and then implement them.

Prerequisites:

Computer basics.

Course contents:

The course provides an introduction to the C# programming language using the Visual Studio IDE. Students are introduced to basic concepts such as statements, variable, data type, and others. Further, basics of object-oriented programming are explained.

Teaching methods and criteria:

The lectures explain the basic principles and theory of the topics. The exercises are aimed at practicing the material covered in the lectures.

Assesment methods and criteria linked to learning outcomes:

The evaluation of the course consists of points for the semester project (presentation of a functional program in C# - 70%) and points for independent tasks (30%) assigned during the semester. The condition for getting the credit is obtaining at least 50% of the points from the semester project. Additional points can be awarded for an active approach during the course.

Controlled participation in lessons:

Attendance at lectures is recommended, attendance at the exercise is compulsory. Classes are held according to the weekly schedule. The material discussed in the exercises corresponds to the current topic in the lecture according to the syllabus. The substitution of missed exercises is entirely at the discretion of the instructor.

Type of course unit:
    Lecture  13 × 1 hrs. optionally                  
    Computer-assisted exercise  13 × 2 hrs. compulsory                  
Course curriculum:
    Lecture

1. Introduction to C# and .NET Framework, introduction to Visual Studio IDE - project management, tools, debugging. Console application.
2. Variables, basic data types, operators. Command, code block. Flow control.
3. Reference vs value types. Arrays, collections.
4. Working with strings.
5. Methods, overloading. Basic program structure.
6. Access modifiers. Basic types (class, structure, interface, etc.), objects.
7. Introduction to object-oriented programming.
8. Basics of program design.
9. Fundamentals of object-oriented programming - inheritance, polymorphism.
10. Program vs library, namespace, using .NET Framework, project templates.
11. Exceptions.
12. Stream, working with files.
13. Problem solving.

    Computer-assisted exercise

The exercises are aimed at practice of the material covered in the topics on lectures, see the lectures outline. Emphasis is placed on the ability to work independently, i.e. to develop a simple application, often as part of independent tasks.

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