Szkolenie Podstawy języka C# w oparciu o model obiektowy
Czas trwania
Wymagania
Otwarty umysł i chęć poznania wytwarzania oprogramowania
W cenie szkolenia:
- efektywne szkolenie w małej grupie - średnio 4 osoby
- materiały szkoleniowe (przygotowane przez wykładowcę)
- książka powiązana tematycznie ze szkoleniem lub materiały drukowane
- certyfikaty w języku polskim i angielskim, e-certyfikat
- obiad
- catering (napoje i słodycze)
Terminy Szkoleń Otwartych
| Data rozpoczęcia | Miejscowość | Cena netto kursu | ||
|---|---|---|---|---|
| 2012-05-28 | Poznań | od 3140 do 3690 PLN - zapisz się! | ||
| 2012-05-28 | Opole | od 3140 do 3690 PLN - zapisz się! | ||
| 2012-05-28 | Gdańsk | od 3140 do 3690 PLN - zapisz się! | ||
| 2012-06-11 | Lublin | od 3140 do 3690 PLN - zapisz się! | ||
| 2012-06-11 | Wrocław | od tylko 3070 do 3616 PLN - zapisz się! | ||
| 2012-06-18 | Łódź | od 3140 do 3690 PLN - zapisz się! | ||
| 2012-06-18 | Gliwice | od 3140 do 3690 PLN - zapisz się! | ||
| 2012-06-18 | Częstochowa | od 3140 do 3690 PLN - zapisz się! | ||
| 2012-06-25 | Lublin | od 3140 do 3690 PLN - zapisz się! | ||
| 2012-06-25 | Gdańsk | od 3140 do 3690 PLN - zapisz się! |
Charakterystyka kursu
Nauka programowania nie jest czynnością prostą. Wymaga częstego praktykowania i doskonalenia. Teoria jest również ważna jak praktyka. W pierwszych etapach poznawania projektowania i implementacji systemów informatycznych, ma ogromne znaczenie wypracowanie efektywnych praktyk tworzenia aplikacji. W kursie można wyróżnić kilka etapów cyklicznie powtarzających się przez cały czas trwania szkolenia:
- zapoznanie uczestników z teorią,
- zastosowanie wiedzy teoretycznej w praktyce,
- analiza i wnioski.
Uczestnicy zapoznają się z teorią, następnie pod nadzorem prowadzącego stosują ją w praktyce. Przez cały cykl szkolenia kandydaci pracują z jednym przykładem, rozwijając go i wyciągając wnioski. Zadania są dobrane w taki sposób, żeby zwrócić uwagę na najczęściej spotykane problemy związane z tworzeniem oprogramowania. Sytuacja obrazuje rozwój i utrzymanie oprogramowanie w "prawdziwym" życiu. Książki, które opisują całą semantykę języka C# nie nauczą jak wytwarzać efektywne, skalowalne oprogramowanie, dlatego kurs kładzie nacisk na zrozumienie trudnych zagadnień w połączeniu teorii z praktyką. W ten sposób użytkownik nabywa umiejętności refactoringu, utrzymania oprogramowania i „efektywne” praktyki.
Zagadnienia omawiane na kursie
Obiektowość
- Cechy modelu obiektowego
- Typ obiektu w kontekście obiektu
- Zadanie: Modelowanie obiektu
- Podsumowanie zadania
- Zadanie: identyfikacja cech i zachowań obiektu
- Podsumowanie zadania: wyjaśnienie pojęcia "gromadzenia"
- Zadanie: refactoring modelu z uwzględnieniem "gromadzenia"
- Podsumowanie zadania
- Zadanie: rozbudowa modelu obiektowego
- Podsumowanie zadania
Związki zachodzące na modelu obiektowy
- Związek asocjacji
- Asocjacja opisana kierunkiem i liczebnością
- Związki agregacji całkowitej i częściowej
- Zadanie: identyfikacja związków asocjacji w modelu obiektowym
- Podsumowanie zadania
- Zadanie: identyfikacja agregacji
- Podsumowanie zadania
Typy proste i kolekcje w C#
- Charakterystyka typów prostych
- Kolekcje w C#
- Zadanie: uzupełnienie modelu obiektowego o poznane typy
- Podsumowanie zadania: agregacja = kolekcja
Cechy obiektowości: Enkapsulacja = Hermetyzacja = WIDOCZNOŚĆ
- Charakterystyka widoczności w języku C#
- Przedstawienie widoczności na modelu obiektowym
- Zadanie: uzupełnienie modelu obiektowego o widoczność
- Podsumowanie zadania
Implementacja modelu obiektowego w C#
- Definiowanie typu referencyjnego = klas
- Zadanie: utworzenie klas
- Podsumowanie zadania
- Definiowanie składowych klas: cechy i zachowanie = właściwości i funkcje
- Zadanie: definiowanie składowych klas
- Podsumowanie zadania
Implementacja logiki w C#
- Charakterystyka operatorów arytmetycznych i logicznych w C#
- Charakterystyka instrukcji warunkowych IF i SWITCH
- Cykliczne przetwarzanie danych FOREACH, for i rodzaje while
- "Umowna" różnica między funkcją, a metodą
- Zadanie: Implementacja logiki
- Podsumowanie zadania
Uruchomienie aplikacji
- Wprowadzenie do śledzenia działania programu
- Zadanie: weryfikacja działania programu
- Zadanie: użycie opcji śledzenia WATCH oraz STACK TRACE
- Podsumowanie śledzenia
Cechy obiektowości: Dziedziczenie
- Zadanie: zmiana wymagań
- Podsumowanie zadania
- Charakterystyka związku dziedziczenia
- Zadanie: zastosowanie dziedziczenia na modelu obiektowym
- Podsumowanie zadania
- Dzidziczenie z punktu widzenia języka C#
- Zadanie: implementacja dziedziczenia
- Podsumowanie zadania: zalety dziedziczenia
- Przesłanianie, Nadpisywanie i Nowe wersje składowych w C# = overload, OVERRIDE, NEW
- Zadanie: uszczegółowienie implementacji
- Podsumowanie zadania
Polimorfizm
- Charakterystyka polimorfizmu
- Zadanie: zrozumieć polimorfizm
- Podsumowanie zadania: śledzenie działania polimorfizmu w trybie DEBUG
- Rzutowanie typów w języku C# = operator AS, rzutowanie jawne i niejawne
- Zadanie: zastosowanie polimorfizmu
- Podsumowanie zadania
Wzorzec typu obiektu = klasa abstrakcyjna
- Charakterystyka klas abstrakcyjnych
- Zastosowanie klasy abstrakcyjnej na modelu obiektowym
- Zadanie: definicja klas abstrakcyjnych
- Podsumowanie zadań
- Składowe typu abstrakcyjnego = ABSTRACT
- Zadanie: uzupełnienie implementacji
- Podsumowanie zadania
- Zabezpieczenie klas abstrakcyjnych przed zmianami w klasach pochodnych w C#
Interfejs
- Charakterystyka interfejsu
- Różnice między klasą abstrakcyjną i interfejsem
- Zadanie: identyfikacja interfejsów
- Podsumowanie zadania
- Zadanie: wybór między interfejsem a klasą abstrakcyjną
- Podsumowanie zadania
- Zadanie: implementacja interfejsów
- Podsumowanie zadania
- Zadanie: zmiana wymagań
- Podsumowanie zadania: zalety interfejsów
"Stałe" w C#
- Charakterystyka zmiennych typu stałego w C# - CONST, READONLY
- Zadanie: uzupełnienie implementacji o zmienne typu stałego
- Podsumowanie zadania
Typy strukturalne i wyliczenia w C#
- Charakterystyka typów strukturalnych - STRUCT
- Charakterystyka wyliczeń - ENUM
- Zadanie: wzbogacenie implementacji o wyliczenia
- Podsumowanie zadania










































