Szkolenie Podstawy języka C# w oparciu o model obiektowy

Wybierz termin szkolenia
Wyceń szkolenie zamknięte
Wyceń szkolenie zdalne
Zbyt drogo? Podaj swoją cenę
Zaproponuj termin szkolenia otwartego
Drukuj plan szkolenia

Czas trwania

40 godzin(y) (po 8h lekcyjnych dziennie)
 

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ę!
 
Node ID: 24970

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