Course detail

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.

Prerequisites

Knowledge of object-oriented programming techniques.

Co-requisites

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#
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

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 50 points of 100.

Language of instruction

Czech, English

Work placements

Not applicable.

Aims

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.

Classification of course in study plans

  • Programme BIT Bachelor's, 2. year of study, summer semester, 5 credits, optional

  • Programme IT-BC-3 Bachelor's

    branch BIT , 2. year of study, summer semester, 5 credits, optional

Type of course unit

 

Lecture

26 hours, optionally

Teacher / Lecturer

Syllabus

  1. Introduction .NET Framework, .NET CORE a .NET Standard
  2. Object Oriented Programming C# (Ing. Tibor Jašek, MSP)
  3. ASP.NET Core Web API (Ing. Roman Jašek, Microsoft MVP)
  4. Inversion of Control, configuration, Middleware, Logging (Adam Štěpánek, MSP)
  5. Web - MVC (Ing. Tibor Jašek, MSP)
  6. How to Write Tests (Ing. Jiří Pokorný, Solarwinds)
  7. Test Driven Development (Ing. Jiří Pokorný, Solarwinds)
  8. Microsoft Azure (Ing. Roman Jašek, Microsoft MVP)
  9. Software Architectures in C# (Martin Dybal, Microsoft MVP)
  10. Design Patterns in C# (Martin Dybal, Microsoft MVP)
  11. Xamarin (Ing. Roman Jašek, Microsoft MVP)
  12. C# 8, .Net Core / Roslyn / DotVVM / .Net on Linux

Exercise in computer lab

26 hours, compulsory

Teacher / Lecturer

eLearning