Programming .NET and C#
FIT-IW5Acad. year: 2019/2020
.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, interfaces, GUI elements, windows, menu, controls. Access to the operating system, Threads, Localization and application settings. LINQ. Active web pages, ASP.NET, forms. ASP .NET Active content, XML. Network communication TCP and UDP, 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 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 50 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.
- Project evaluation is divided into two parts.
- Each part will be evaluated separately and feedback given to students for further improvements in the following phases.
- Phases are marked by 30, 40 points.
- Final project (the second phase) evaluation is an oral defence.
Type of course unit
26 hours, optionally
Teacher / Lecturer
- Introduction .NET Framework, .NET CORE a .NET Standard
- Object Oriented Programming C# (Ing. Tibor Jašek, MSP)
- ASP.NET Core Web API (Ing. Roman Jašek, Microsoft MVP)
- Inversion of Control, configuration, Middleware, Logging (Adam Štěpánek, MSP)
- Web - MVC (Ing. Tibor Jašek, MSP)
- How to Write Tests (Ing. Jiří Pokorný, Solarwinds)
- Test Driven Development (Ing. Jiří Pokorný, Solarwinds)
- Microsoft Azure (Ing. Roman Jašek, Microsoft MVP)
- Software Architectures in C# (Martin Dybal, Microsoft MVP)
- Design Patterns in C# (Martin Dybal, Microsoft MVP)
- Xamarin (Ing. Roman Jašek, Microsoft MVP)
- C# 8, .Net Core / Roslyn / DotVVM / .Net on Linux
Exercise in computer lab
26 hours, compulsory
Teacher / Lecturer
eLearning: currently opened course