Grupa docelowa
Adresatami szkolenia są osoby chcące od podstaw dobrze poznać język C oraz nauczyć się
poprawnego programowania w tym języku.
Oczekiwania wstępne:
- znajomość podstawowych pojęć informatyki i programowania,
- zalecane doświadczenie w programowaniu w jakimkolwiek języku.
Szkolenie polecamy zarówno początkującym programistom chcącym na przykładzie języka C
nauczyć się dobrych praktyk w programowaniu, jak i doświadczonym programistom innych
języków, którzy mają potrzebę zastosowania języka C w kolejnym projekcie. Szkolenie można także
odbyć po prostu w celach samorozwojowych, aby poznać język będący podstawą większości
współczesnych języków programowania.
Cel i zakres szkolenia
Szkolenie jest podstawowym kursem języka C, obejmującym składnię języka, typy danych ze
szczególnym uwzględnieniem tablic i wskaźników oraz elementy biblioteki standardowej, w tym
wejście/wyjście i operacje na napisach. Istotnym składnikiem szkolenia są warsztaty praktyczne, w
trakcie których uczestnicy pod kierunkiem prowadzącego implementują w C algorytmy i struktury
danych typowe dla każdego wstępnego kursu programowania, ale także realizują ukierunkowane
zadania pozwalające przećwiczyć wybrane elementy języka i biblioteki standardowej.
Szkolenie prowadzone jest na platformie Linux z wykorzystaniem kompilatora GNU C (gcc),
zdecydowana większość materiału dotyczy jednak elementów niezależnych od platformy.
Szkolenie obejmuje najczęściej używane elementy języka C w wersji zgodnej ze standardem
ISO/IEC 9899:2011 (tzw. C11), ze zwróceniem uwagi na historię wybranych elementów oraz
niektóre niestandardowe rozszerzenia dostępne w GNU C.
Po zakończeniu szkolenia aktywny uczestnik potrafi:
- zapisywać w języku C algorytmy oparte o pętle lub rekurencję,
- poprawnie dzielić programy na pliki .c i .h oraz tworzyć proste skrypty programu make w celu rozłącznej kompilacji modułów,
- poprawnie korzystać z pamięci alokowanej statycznie i dynamicznie,
- korzystać ze struktur, tablic oraz wskaźników, w tym arytmetyki na wskaźnikach,
- korzystać ze standardowego wejścia i wyjścia oraz plików,
- wczytywać i wypisywać tekst w postaci sformatowanej oraz wykonywać operacje na napisach.
Szkolenie nie obejmuje m.in. następujących tematów (a może być traktowane jako wstęp
umożliwiający ich dalsze studiowanie):
Szkolenie nie obejmuje m.in. następujących tematów:
- elementy języka C++ nieobecne w C (jak klasy, szablony, strumienie),
- komunikacja i synchronizacja międzyprocesowa, wielowątkowość (patrz szkolenie C-IPC),
- komunikacja sieciowa (patrz szkolenie C-TCP),
- tworzenie dynamicznie ładowanych bibliotek, praca w trybie jądra i inne specyficzne
- zastosowania języka C.