Skip to main content
Skip header

C# Programming I

* Exchange students do not have to consider this information when selecting suitable courses for an exchange stay.

Course Unit Code460-2057/01
Number of ECTS Credits Allocated4 ECTS credits
Type of Course Unit *Choice-compulsory type A
Level of Course Unit *First Cycle
Year of Study *Second Year
Semester when the Course Unit is deliveredWinter Semester
Mode of DeliveryFace-to-face
Language of InstructionCzech
Prerequisites and Co-Requisites
PrerequisitiesCourse Unit CodeCourse Unit Title
460-2052Introduction to Programming
460-2055Object Oriented Programming
Name of Lecturer(s)Personal IDName
GAJ03doc. Ing. Petr Gajdoš, Ph.D.
Summary
Students will deepen the knowledge of object-oriented programming with respect to the use of C# language, which belongs to the most used languages. The course builds on the "Introduction to Programming" and "Object-Oriented Programming" courses and requires that the students have already successfully passed these courses.
Learning Outcomes of the Course Unit
The aim of the subject is to familiarize students with C# language such that they can understand all basic constructions of the selected language and a run-time environment. The students will be able to create desktop applications in C#.

Knowledge and Skills:

- selected development environment with emphasis on Microsoft Visual Studio, program debugging
- understanding .NET Framework and .NET Core platforms
- Understanding Common Language Runtime (CLR), Ahead-of-Time (AoT) vs. Just-in-Time (JIT) compilation
- key elements of the language and language structures, grammar, memory management
- type system and difference between primitive and object types
- principles of object oriented programming (OOP) projected into C #
- iterators, execution control, exception system
- type conversions, generic types, collections
- events, lambda expressions
- working with files, LINQ
- console application creation

After completing the course, the student should be able to design and implement a problem-solving application with the knowledge of object-oriented programming using the latest features of C# language.
Course Contents
Lecture notes will include at least the following topics:

1. Description of the .NET CORE architecture
2. Data types and program constructs of C# language
3. Basic input / output
4. Class definitions, inheritance, overloading methods
5. Program interface design - definition, utilization, implementation
6. Generic data types
7. Collections and their usage, iterators, LINQ
8. Simple lambda expressions, exception system
9. Strings and regular expressions
10. File system and advanced work with input / output
11. Delegates and events
12. Attributes and metadata
13. Threads and synchronization

Practical exercises on computer labs will correspond to lecture notes:

1. An example of code compilation, assembly
2. Exercise on data types and basic program constructs of C# language
3. Working with a standard input/output
4. Class definitions, inheritance, overloading methods
5. Program interface design - definition, utilization, implementation
6. Creating of a generic class and its usage
7. Collections and their usage, iterators, LINQ
8. Simple lambda expressions, exception system
9. String processing with the use of regular expressions
10. File system and advanced work with input/output, XML, JSON, etc.
11. Delegates and events
12. Attributes and metadata
13. Threads and synchronization

Recommended or Required Reading
Required Reading:
[1] Albahari, Joseph, and Ben Albahari. C# 7.0 in a nutshell : the definitive reference. Sebastopol, CA: O'Reilly, 2018. Print. ISBN: 1491987650

[2] Price, Mark J. C# 7 and .NET Core modern cross-platform development : create powerful cross-platform applications using C# 7, .NET Core, and Visual Studio 2017 or Visual Studio Code. Birmingham, UK: Packt Publishing, 2017. Print. ISBN: 1787129551
[1] Albahari, Joseph, and Ben Albahari. C# 7.0 in a nutshell : the definitive reference. Sebastopol, CA: O'Reilly, 2018. Print. ISBN: 1491987650

[2] Price, Mark J. C# 7 and .NET Core modern cross-platform development : create powerful cross-platform applications using C# 7, .NET Core, and Visual Studio 2017 or Visual Studio Code. Birmingham, UK: Packt Publishing, 2017. Print. ISBN: 1787129551
Recommended Reading:
[1] Troelsen, Andrew, and Philip Japikse. Pro C# 7 With .net and .net Core. City: Apress, 2018. Print. ISBN: 1484230175
[1] Troelsen, Andrew, and Philip Japikse. Pro C# 7 With .net and .net Core. City: Apress, 2018. Print. ISBN: 1484230175
Planned learning activities and teaching methods
Lectures, Tutorials
Assesment methods and criteria
Task TitleTask TypeMaximum Number of Points
(Act. for Subtasks)
Minimum Number of Points for Task Passing
Graded creditGraded credit100 (100)51
        AktivitaOther task type50 26
        Písemka 1Written test20 10
        Písemka 2Written test30 15