#18 Podstawy C# oraz .NET Core
Rejestracja rusza 15.03 o godzinie 9:00
Temat: Podstawy C# oraz .NET Core
Warsztaty programowania wprowadzające w najnowszą wersję języka C# oraz platformy .NET Core w wersji 1.1, która została udostępniona w ubiegłym roku przez Microsoft jako rozwiązanie open-source oraz cross-platform tzn. działające na dowolnym systemie operacyjnym. W trakcie zajęć skupimy się na następujących zagadnieniach:
- Wprowadzenie do platformy .NET Core - czym jest i co nam daje.
- Czym jest C# oraz jak jest kompilowany i uruchamiany kod źródłowy.
- Definiowanie zmiennych, metod, klas oraz ich poprawne modelowanie.
- Dziedziczenie, polimorfizm, interfejsy i dążenie do abstrakcji.
- Typy generyczne, wyjątki, obsługa błędów, słowo kluczowe var.
- Delegaty oraz wyrażenia lambda, zdarzenia (events).
- Extension methods (metody rozszerzające).
- IEnumerable, IQueryable, yield oraz LINQ.
- Mechanizm refleksji, typy dynamiczne (dynamic).
- Asynchroniczność oraz wielowątkowość.
Wykorzystane przykłady będą z życia wzięte ponieważ bardzo ważne jest to, aby wiedzieć jaka funkcjonalność języka ma jakie zastosowanie w rzeczywistej aplikacji. Docelowo jest to pierwsza z dwóch części warsztatów, która ma zachęcić uczestników do samodzielnego zgłębienia tajnik programowania z wykorzystaniem C#, tak aby, spotkać się znowu w niedalekiej przyszłości i wykorzystać zdobytą wiedzę do stworzenia praktycznej aplikacji.
Wymagania:
- Laptop z dowolnym systemem operacyjnym (Windows, Linux, Mac).
- Zainstalowane środowisko .NET Core https://www.microsoft.com/net/core
- Upewnienie się, że .NET Core działa poprawnie poprzez stworzenie oraz uruchomienie aplikacji typu “Hello World” z użyciem dotnet CLI https://docs.microsoft.com/en-us/dotnet/articles/core/tools/
- Wybrane środowisko do pisania kodu np.
- https://www.visualstudio.com
- https://code.visualstudio.com (tego ja używam)
- https://www.jetbrains.com/rider
- Dowolny inny edytor tekstowy (Sublime, Atom, Brackets, Vim itp.).
- W przypadku VS Code zainstalować rozszerzenie C# http://www.omnisharp.net
- Podstawowa znajomość teorii programowania - zmienne, klasy, metody itd.
Do zapoznania:
Podstawowa wiedza dotycząca programowania ogólnie (np. wyszukać pojęcia jak kompilacja, proces, wątek) oraz znajomość takich pojęć jak zmienna, metoda, typ danych, pętla, wyrażenie warunkowe (if/switch), klasa.
Wiedzę można uzupełnić m.in. z następujących źródeł:
- https://mva.microsoft.com/pl/training-courses/podstawy-j%C4%99zyka-c--14509?l=hxVwdR2nB_5105192797 (części 1-3 ale inne również mile widziane).
- https://mva.microsoft.com/en-US/training-courses/c-fundamentals-for-absolute-beginners-16169?l=Lvld4EQIC_2706218949 (idealnie części 1-12 ale wystarczy nawet kilka początkowych).
- http://csharp.net-tutorials.com/basics/introduction/ - sekcja The Basics
- https://www.tutorialspoint.com/csharp/index.htm - do części Methods
Znajomość podstawowych zagadnień związanych z programowaniem byłaby mile widziana (aczkolwiek nie jest wymagana) gdyż pozwoli skupić się od razu na języku i pisaniu właściwego kodu :).
P.S.
W przedstawionych materiałach wideo nie należy przejmować się wykorzystanym edytorem kodu Visual Studio, ponieważ my będziemy korzystać z czego innego.
Należy pamiętać o:
- BYOD - Bring Your Own Device.
- Piwo we własnym zakresie.
- Uśmiech, poczucie humoru czy też chęć nauki - we własnym zakresie.
Prelegent:
Inżynier oraz architekt oprogramowania z 6 letnim doświadczeniem, kontrybutor open source, bloger & vloger, członek krakowskiej grupy .NET, współzałożyciel turkusowej organizacji Noordwind. Miłośnik DDD, (mikro)serwisów, otwartego oprogramowania, platformy .NET Core oraz zwycięzca ubiegłorocznej edycji konkursu programistyczno-blogowego "Daj Się Poznać".