Course Code: 3627
Duration: 35 hours
Overview:

Celem szkolenia jest przedstawienie podstaw związanych z programowaniem od podstaw składni po powszechne paradygmaty programowania. Szkolenie poparte jest przykładami opartymi o języki programowania takie jak: C, Java, Python, Scala, C#, Closure i JavaScript. Podczas szkolenia uczestnicy zdobywają ogólną wiedzę zarówno ze wzorców programowania, dobrych praktyk, powszechnie stosowanych rozwiązań jak i przegląd realizacji omawianych tematów przez różne platformy. Każde z zagadnień omówionych podczas szkolenia ilustrowane jest przykładami zarówno najbardziej podstawowymi, jak i bardziej zaawansowanymi i opartymi o rzeczywiste problemy.

Course Outline:

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
Sites Published:

United Arab Emirates - Introduction to Programming

Qatar - Introduction to Programming

Egypt - Introduction to Programming

Saudi Arabia - Introduction to Programming

South Africa - Introduction to Programming

Brasil - Introdução à Programação

Canada - Introduction to Programming

中国 - Introduction to Programming

香港 - Introduction to Programming

澳門 - Introduction to Programming

台灣 - Introduction to Programming

USA - Introduction to Programming

Österreich - Introduction to Programming

Schweiz - Introduction to Programming

Deutschland - Introduction to Programming

Czech Republic - Introduction to Programming

Denmark - Introduction to Programming

Estonia - Introduction to Programming

Finland - Introduction to Programming

Greece - Introduction to Programming

Magyarország - Introduction to Programming

Ireland - Introduction to Programming

Luxembourg - Introduction to Programming

Latvia - Introduction to Programming

España - Introduction to Programming

Italia - Introduction to Programming

Lithuania - Introduction to Programming

Nederland - Introduction to Programming

Norway - Introduction to Programming

Portugal - Introdução à Programação

România - Introduction to Programming

Sverige - Introduction to Programming

Türkiye - Introduction to Programming

Malta - Introduction to Programming

Belgique - Introduction à la Programmation

France - Introduction à la Programmation

日本 - Introduction to Programming

Australia - Introduction to Programming

Malaysia - Introduction to Programming

New Zealand - Introduction to Programming

Philippines - Introduction to Programming

Singapore - Introduction to Programming

Thailand - Introduction to Programming

Vietnam - Introduction to Programming

India - Introduction to Programming

Argentina - Introduction to Programming

Chile - Introduction to Programming

Costa Rica - Introduction to Programming

Ecuador - Introduction to Programming

Guatemala - Introduction to Programming

Colombia - Introduction to Programming

México - Introduction to Programming

Panama - Introduction to Programming

Peru - Introduction to Programming

Uruguay - Introduction to Programming

Venezuela - Introduction to Programming

Polska - Wprowadzenie do programowania

United Kingdom - Introduction to Programming

South Korea - Introduction to Programming

Pakistan - Introduction to Programming

Sri Lanka - Introduction to Programming

Bulgaria - Introduction to Programming

Bolivia - Introduction to Programming

Indonesia - Introduction to Programming

Kazakhstan - Introduction to Programming

Moldova - Introduction to Programming

Morocco - Introduction to Programming

Tunisia - Introduction to Programming

Kuwait - Introduction to Programming

Oman - Introduction to Programming

Slovakia - Introduction to Programming

Kenya - Introduction to Programming

Nigeria - Introduction to Programming

Botswana - Introduction to Programming

Slovenia - Introduction to Programming

Croatia - Introduction to Programming

Serbia - Introduction to Programming

Bhutan - Introduction to Programming

Nepal - Introduction to Programming

Uzbekistan - Introduction to Programming