Szkolenie C# podstawy programowania
Poziom
PodstawowyCzas
16h / 2 dniTermin
IndywidualnieCena
IndywidualnieSzkolenie C# podstawy programowania
Szkolenie wprowadza w podstawy programowania w C# i środowisku .NET. Obejmuje składnię języka, typy danych, kontrolę przepływu, funkcje, programowanie obiektowe, testy jednostkowe, pracę z kolekcjami, podstawy LINQ, komunikację HTTP oraz wprowadzenie do asynchroniczności. Uczestnicy pracują na prostych aplikacjach konsolowych i przykładach kodu, aby po szkoleniu samodzielnie tworzyć, uruchamiać, testować i rozwijać podstawowe programy w C# zgodnie z dobrymi praktykami jakości kodu.
Dla kogo jest to szkolenie?
Dla osób, które chcą nauczyć się podstaw programowania w C#
Dla front-end developerów, którzy chcą poznać C# i środowisko .NET
Dla początkujących programistów aplikacji biznesowych, webowych i desktopowych oraz back-end developerów, którzy chcą uporządkować podstawy C# i .NET
Czego nauczysz się na szkoleniu?
- Nauczysz się podstaw składni języka C# i pracy w środowisku .NET
- Poznasz typy danych, zmienne, funkcje, kolekcje i kontrolę przepływu kodu
- Nauczysz się tworzyć proste aplikacje konsolowe oraz bibliotekę z testami jednostkowymi
- Zapoznasz się z podstawami programowania obiektowego w C#
Program szkolenia
Dzień 1
Moduł 1: Programowanie obiektowe – założenia i porównanie z innymi paradygmatami programowania
- Paradygmaty programowania
- Obiektowy model programu
- Klasy, obiekty i odpowiedzialności
- Różnice pomiędzy programowaniem obiektowym, proceduralnym i funkcyjnym
Moduł 2: Wprowadzenie do środowiska .NET i języka C#
- Platforma .NET i jej podstawowe elementy
- Rola języka C# w ekosystemie .NET
- Struktura projektu i procesu uruchamiania aplikacji
- Podstawowe typy aplikacji w .NET
Moduł 3: Visual Studio – podstawy narzędzia w zakresie potrzebnym na czas szkolenia
- Interfejs środowiska Visual Studio
- Projekt, rozwiązanie i pliki źródłowe
- Uruchamianie i debugowanie aplikacji
- Podstawowe skróty i funkcje wspierające pracę z kodem
Moduł 4: Budowa prostej aplikacji konsolowej
- Struktura aplikacji konsolowej
- Punkt startowy programu
- Dane wejściowe i wyjściowe
- Kompilacja i uruchamianie programu
Moduł 5: Projekt biblioteki wraz z projektem testów
- Biblioteka klas
- Referencje pomiędzy projektami
- Projekt testowy
- Organizacja kodu produkcyjnego i testowego
Moduł 6: Testy jednostkowe – cel, struktura i podstawowe zasady
- Cel testów jednostkowych
- Struktura testu jednostkowego
- Asercje i przypadki testowe
- Podstawowe zasady czytelnych testów
Moduł 7: Programowanie w języku C#
- Składnia języka C#
- Instrukcje i wyrażenia
- Organizacja kodu w plikach i przestrzeniach nazw
- Podstawowe konwencje nazewnicze
Moduł 8: Podstawy składni
- Zmienne i typy proste
- Złożone struktury danych: tablice, kolekcje i słowniki
- Funkcje: definicje, parametry i wartości zwracane
- Typy referencyjne i wartościowe
Moduł 9: Kontrola przepływu kodu
- Warunkowy przepływ z wykorzystaniem wyrażeń if/else oraz switch
- Pętle for, while i do/while
- Pętla foreach
Dzień 2
Moduł 10: Obiektowość w C#
- Klasa i obiekt
- Część statyczna i instancyjna obiektu
- Modyfikatory dostępu
- Polimorfizm
- Interfejsy i ich zastosowanie
- Przestrzenie nazw
- Obsługa wyjątków
Moduł 11: LINQ – czytelna praca na kolekcjach
- Zapytania LINQ do kolekcji
- Filtrowanie, sortowanie i projekcja danych
- Metody rozszerzające
- Czytelność i ograniczenia zapytań LINQ
Moduł 12: Asynchroniczność i wielowątkowość – różnice i zastosowanie
- Model asynchroniczny
- Model wielowątkowy
- Zadania typu I/O-bound i CPU-bound
- Różnice pomiędzy współbieżnością i równoległością
Moduł 13: Programowanie asynchroniczne z wykorzystaniem konstrukcji async/await
- Słowa kluczowe async i await
- Metody asynchroniczne
- Wynik operacji asynchronicznej
- Podstawowe zasady czytelnego kodu asynchronicznego
Moduł 14: Task Parallel Library – podstawowe mechanizmy pracy z zadaniami
- Task jako reprezentacja operacji asynchronicznej
- Rezultat zadania i status wykonania
- Kontynuacje zadań
- Anulowanie zadań
- Obsługa wyjątków w zadaniach
- Różnice pomiędzy pracą asynchroniczną i równoległą
- Podstawowe ryzyka: blokowanie wątków, deadlocki i nadmiarowa równoległość
Moduł 15: Komunikacja z zewnętrznymi usługami przy wykorzystaniu protokołu HTTP
- Cechy protokołu HTTP, Web i REST API
- Przykładowa komunikacja z zewnętrznymi usługami
Moduł 16: Podsumowanie i dobre praktyki w tworzeniu oprogramowania
- Podsumowanie stosowanych już praktyk
- Ogólne dobre praktyki programowania: SOLID, DRY, KISS, YAGNI
- Narzędzia pomocne w utrzymaniu kodu na wysokim poziomie jakości