Znalezione gdzieś w necie C++
W czasie zajęć nauczycie się:
Podstaw architektury komputera z perspektywy programisty
Jak dokładnie działa tworzenie kodu wykonywalnego
Programowania proceduralnego w tym, jak działa:
zarządzanie pamięcią,
organizacja pamięci programu,
stałe/zmienne lokalne/globalne, automatyczne, statyczne (globalne i lokalne) i dynamiczne
tablice
wskaźniki (w tym do funkcji) i referencje
Programowania obiektowego w tym, co to są:
klasy (konkretne, abstrakcyjne i czysto abstrakcyjne/interfejsy), obiekty, metody, kontrola dostępu (w tym funkcje/klasy zaprzyjaźnione)
konstruktory, destruktory (w tym wzorzec RAII)
dziedziczenie vs. kompozycja
polimorfizm i funkcje wirtualne
definiowanie (przeciążanie) operatorów
przestrzenie nazw, moduły
wyjątki
szablony funkcji i klas
elementy biblioteki standardowej (kolekcje i algorytmy)
elementy standardów C++11,14
Wybranych zagadnień z algorytmów i struktur danych w tym, co to są:
tablice, tablice z haszowaniem, zbiory, stosy, kolejki, listy; drzewa (poszukiwań binarnych), grafy, …
wybrane algorytmy: wyszukiwanie, sortowanie, najkrótsze ścieżki w grafie, programowanie dynamiczne (vs. algorytmy zachłanne)
rekursja (w tym strukturalna)
złożoność obliczeniowa (czasowa, pamięciowa)
Dodatkowo podstaw programowania współbieżnego i systemów czasu rzeczywistego
W piątkowe wieczory będzie można dodatkowo dowiedzieć się o:
Zwinnych metodykach tworzenia oprogramowania w zespołach - SCRUM, Kanban
O pracy z kodem źródłowym w systemach kontroli wersji, tzw. Configuration Management
Tworzeniu Unit Testów
Środowisku ciągłej integracji
Automatycznych systemów budowania i weryfikacji oprogramowania