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.
- recommended prerequisite
Recommended optional programme components
Recommended or required reading
Charles Petzold - Programming Microsoft Windows With C#
Simon Robinson - C# Professional Programming
Erich Gunnerson - A Programmer's Introduction to C#
Programátorské večery na ČVUT, http://avc.sh.cvut.cz/archiv/index.php?id=104&select=Programá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
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
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.
Type of course unit
26 hours, optionally
Teacher / Lecturer
- Introduction to C# and .NET platform
- Introduction into Object Oriented Programming
- ASP.NET Core Web API
- Inversion of Control, configuration, middleware, logging
- Web - MVC
- How to write tests?!
- Test Driven Development
- Microsoft Azure
- Software architectures in C#
- Design Patterns in C#
- C# 8, .Net Core / Roslyn / DotVVM
- .Net on Linux
Exercise in computer lab
26 hours, compulsory
Teacher / Lecturer