Course detail

Programming .NET and C#

FIT-IW5Acad. year: 2020/2021

.NET platform introduction. Precompiled code. Platform independence, MSIL, safe code. C# language: language elements, types, classes, instances, attributes, methods, inheritance, virtual methods, interfaces, overloading, abstract classes, messages, events. WPF and WinForms, interfaces, GUI elements, windows, menu, controls. WPF: styles, sources, data binding. Access to the operating system, Threads, Localization and application settings. ADO.NET and data access, SQL queries, DataSet, DataReader. Entity Framework, LINQ. Active web pages, ASP.NET, forms. ASP .NET Active content, XML. Network communication TCP and UDP, WCF, Web services. Effective development, Unit testing, Documentation.

Learning outcomes of the course unit

Ability to design and implement applications and distributed systems on the .NET platform.
Ability to implement complex information systems.


Knowledge of object-oriented programming techniques.


Not applicable.

Recommended optional programme components

Not applicable.

Recommended or required reading

Charles Petzold - Programming Microsoft Windows With C#
Simon Robinson - C# Professional Programming
Erich Gunnerson - A Programmer's Introduction to C#
Erich Gunnerson - A Programmer's Introduction to C#
Programátorské večery na ČVUT,átorské%20večery
Albahari, Joseph, and Ben Albahari. C# 7.0 in a Nutshell : the definitive reference. Sebastopol, CA: O'Reilly Media, 2017.
Posadas, Marino. Mastering C# and .NET framework : deep dive into C# and .NET architecture to build efficient, powerful applications. Birmingham: Packt, 2016.
Price, Mark J. C# 7.1 and .NET Core 2.0 - Modern Cross-Platform Development - Third Edition. Birmingham: Packt Publishing, 2017.
Rabaey, Jan M., Anantha P. Chandrakasan, and Borivoje Nikolic. Digital integrated circuits : a design perspective. Upper Saddle River, N.J: Pearson Education, 2003.

Planned learning activities and teaching methods

Not applicable.

Assesment methods and criteria linked to learning outcomes

All forms of teaching are optional. To pass the course you need to make and to defend projects and got at least 55 points of 100.

Language of instruction

Czech, English

Work placements

Not applicable.


To obtain an overall view of .NET technologies and its programming with C#

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

All forms of teaching are optional. PC labs can be individually substituted by consultations on exceptional cases.

Classification of course in study plans

  • Programme BIT Bachelor's, 2. year of study, winter semester, 5 credits, elective

  • Programme IT-BC-3 Bachelor's

    branch BIT , 2. year of study, winter semester, 5 credits, elective

Type of course unit



26 hours, optionally

Teacher / Lecturer


  1. Introduction to C# and .NET platform
  2. Introduction into Object Oriented Programming
  3. ASP.NET Core Web API
  4. Inversion of Control, configuration, middleware, logging
  5. Web - MVC
  6. How to write tests?!
  7. Test Driven Development
  8. Microsoft Azure
  9. Software architectures in C#
  10. Design Patterns in C#
  11. Xamarin
  12. C# 8, .Net Core / Roslyn / DotVVM
  13. .Net on Linux

Exercise in computer lab

26 hours, compulsory

Teacher / Lecturer