|
Lecturer(s)
|
|
|
|
Course content
|
1. Introduction to the .NET and C# ecosystem 2. C# syntax, basic idioms, and working with the environment 3. C# type system: Value vs. Reference Types 4. OOP in C#: Classes, interfaces, inheritance 5. Records, immutable objects, and pattern matching 6. Delegates, lambda expressions, Func<>/Action<>, events 7. Collections in C#: generic collections and their use 8. LINQ I - Basics 9. LINQ II - Advanced techniques and optimization 10. Working with files and JSON/XML 11. Asynchronous C# I - async/await, Task model, I/O-bound operations 12. Asynchronous C# II - Applications: console, Minimal API, Web API 13. Mini-project, consultation, and presentation
|
|
Learning activities and teaching methods
|
Monologic (reading, lecture, briefing), Practical training
- Class attendance
- 30 hours per semester
- Preparation for credit
- 10 hours per semester
|
|
Learning outcomes
|
This course is designed for students who have successfully completed courses in programming languages C and C#. Its aim is to make students acquire practical experience of software to understand software development cycle from its design, teamwork, software development, and testing, debugging and deploying software.
Gaining knowledge of the C # programming language and gaining experience in programming.
|
|
Prerequisites
|
Basic knowledge of programming, databases, network communications and algorithms.
|
|
Assessment methods and criteria
|
Combined exam, Seminar work
Attendance min. to 80%, fulfillment of ongoing programming exercises.
|
|
Recommended literature
|
-
Jon Skeet. C# in Depth, 4E. Manning Publications, 2019. ISBN 9781617294532.
-
Pavel Bory. C# bez předchozích znalostí. Computer Press, 2016. ISBN 978-80-251-4686-6.
|