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.
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
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