Plan Szkolenia

Wprowadzenie

  • Czym jest programowanie i dlaczego warto poświęcić mu uwagę
  • Historia programowania
  • Możliwości automatyzacji zadań za pomocą oprogramowania
  • Rola programisty i komputera w przedsiębiorstwie
  • Programowanie dziś, trendy rozwoju obecnego rynku
  • Programowanie deklaratywne i imperatywne. Jak czy Co?
  • Maszyna Turinga
  • Konsolidacja, kompilacja i interpretowanie "w locie"

Przypomnienie zagadnień logiki i algebry Boole'a

  • Predykaty
  • Zdania logiczne
  • Tautologie
  • Algebra Boole'a

Pierwszy program

  • Strukturalnie
  • Funkcyjnie
  • Obiektowo
  • I jak jeszcze?

Typy proste

  • Reprezentacja ciągów znakowych
  • Liczby całkowite
  • Liczby zmiennoprzecinkowe
  • Typy logiczne
  • Typ Null
  • Wartość pusta czy niezainicjalizowana
  • Silne i słabe typowanie

Struktury danych

  • Pojęcia FIFO i FILO
  • Stosy
  • Kolejki
  • Deklaracja tablic i list
  • Indeksowanie
  • Mapy
  • Rekordy
  • Drzewa

Operatory

  • Operatory przypisania
  • Operatory arytmetyczne
  • Operatory porównania
  • Porównanie typu i wartości w różnych językach
  • Operatory bitowe
  • Konkatenacja
  • Operatory inkrementacji i dekrementacji
  • Najczęściej popełniane błędy

Sterowanie przebiegiem programu

  • Instrukcje if, if else
  • Instrukcja goto, omówienie problemów zastosowania
  • Instrukcja switch
  • Pętla for, for-in
  • Pętla while, do-while
  • Pętla foreach
  • Przerywanie pętli

Tworzenie kodu wielokrotnego użycia

  • Programowanie funkcyjne
  • Programowanie obiektowe

Paradygmaty programowania funkcyjnego

  • Czym jest funkcja
  • Funkcja a procedura
  • Podstawy rachunku lambda
  • Argumenty funkcji
  • Zwracanie wartości
  • Funkcje jako argumenty
  • Funkcje anonimowe
  • Domknięcia
  • Rekurencja

Paradygmaty programowania obiektowego

  • Reprezentacja bytów z realnego świata, byty w filozofii, ontologie i idee, potrzeba objektowości
  • Podejmowanie decyzji co ma być objektem, czyli własne typy
  • Deklaracja klas
  • Tworzenie instancji klas
  • Pola, jako stan obiektu
  • Metody, jako zachowanie obiektu
  • Abstrakcja
  • Hermetyzacja
  • Dziedziczenie
  • Polimorfizm
  • Asocjacja i agregacja
  • Delegacja i rozdzielenie zależności pomiędzy obiektami
  • Moduły, pakiety, biblioteki
  • Udostępnianie API
  • Modelowanie systemu jako klas i obiektów
  • Opisywanie i programowanie relacji pomiędzy klasami
  • Program z perspektywy biznesowej

Dobre praktyki programowania

  • Pułapki i najczęściej popełniane błędy
  • Kod wysokopoziomowy w interpretacji niskopoziomowej
  • Optymalizacja kodu
  • Zasada KISS
  • Zasada DRY
  • Zasada Worse is Better
  • Separacja abstrakcji od implementacji
  • Sposoby detekcji błędów logicznych programów
  • Konwencje godowania
  • Komentowanie kodu
  • Metryki oprogramowania

Przegląd technologii i omawianych języków

  • Obszar zastosowań omawianych języków
  • Główne cechy języków
  • Perspektywy rozwoju
  • Dalszy kierunek rozwoju: algorytmika, optymalizacja kodu, wzorce implementacyjne, wzorce projektowe, wzorce architektoniczne, wzorce analityczne
  • Redukcja konstrukcji sterujących - zastosowanie algorytmów sztucznej inteligencji i automatyczne podejmowanie decyzji
  • Którą platformę wybrać? Indywidualne konsultacje
 35 godzin

Liczba uczestników



Cena za uczestnika

Opinie uczestników (7)

Szkolenia Powiązane

Powiązane Kategorie