Internet Rzeczy (IoT) w inteligentnych miastach

Internet Rzeczy to nie futurystyczna wizja, lecz technologia, która już dziś kształtuje sposób funkcjonowania nowoczesnych miast. Dzięki połączeniu urządzeń codziennego użytku z siecią, możliwa jest ciągła wymiana danych między infrastrukturą miejską, użytkownikami i systemami zarządzania. To sprawia, że miasta stają się bardziej responsywne, wydajne i przyjazne środowisku. IoT wspiera rozwój inteligentnych metropolii, umożliwiając lepsze wykorzystanie zasobów, ograniczanie emisji i poprawę jakości życia mieszkańców.

Technologia, która zmienia oblicze miast

Wykorzystanie IoT w miejskiej infrastrukturze pozwala na inteligentne zarządzanie energią – dzięki tzw. smart grids oraz licznikom zużycia możliwe jest dynamiczne dostosowywanie poboru prądu do rzeczywistych potrzeb, co przekłada się na zmniejszenie strat i emisji CO₂. Systemy te umożliwiają także bardziej efektywne działanie budynków publicznych, redukując koszty i zwiększając ich energooszczędność.

W zakresie gospodarowania wodą czujniki umieszczone w sieciach wodociągowych wykrywają nawet najmniejsze wycieki, pozwalając na szybkie interwencje i ograniczenie strat. Inteligentne systemy nawadniania, uwzględniające dane pogodowe, pozwalają znacząco zmniejszyć zużycie wody w przestrzeni publicznej. W miastach takich jak Dubaj mieszkańcy mogą samodzielnie monitorować swoje zużycie dzięki cyfrowym licznikom, co sprzyja bardziej odpowiedzialnym nawykom.

IoT wspiera także zrównoważone zarządzanie odpadami. Inteligentne pojemniki informują system o stopniu zapełnienia, co umożliwia lepsze planowanie tras odbioru i ograniczenie niepotrzebnych przejazdów śmieciarek. W niektórych miastach wdrażane są rozwiązania, które rozpoznają rodzaje odpadów i automatycznie je segregują, zwiększając efektywność recyklingu i zmniejszając ilość śmieci trafiających na wysypiska.

Systemy sterowania ruchem opierające się na danych z czujników i kamer pozwalają lepiej zarządzać transportem w miastach. Płynniejsze przejazdy oznaczają mniej korków, mniejsze zużycie paliwa i niższą emisję spalin, a to bezpośrednio przekłada się na jakość powietrza i komfort życia mieszkańców.

Technologie IoT wspomagają także monitorowanie zagrożeń środowiskowych i poprawiają działanie służb publicznych. Miasta mogą szybciej reagować na zanieczyszczenia, awarie czy inne niebezpieczne sytuacje. Poprzez bieżącą analizę danych możliwe jest podejmowanie trafnych decyzji – nie tylko w sytuacjach kryzysowych, ale także w codziennym zarządzaniu przestrzenią miejską.

Wszystko to razem składa się na nowoczesne, inteligentne miasto – zrównoważone, bezpieczne i otwarte na potrzeby swoich mieszkańców.

Wczytywanie…

Tworzenie testów automatycznych z wykorzystaniem AI - Zakres nauczania:

  1. Wprowadzenie do automatyzacji i konfiguracja środowiska

    Omówienie zasad automatyzacji testów, kiedy warto automatyzować oraz roli piramidy testów i testów E2E. Konfiguracja środowiska programistycznego, instalacja .NET SDK, zarządzanie paczkami NuGet oraz struktura projektu testowego w oparciu o NUnit lub xUnit.

  2. Pierwsze kroki z Selenium WebDriver

    Wprowadzenie do architektury Selenium WebDriver zgodnej ze standardem W3C, konfiguracja sterowników przeglądarek oraz inicjalizacja testów w popularnych przeglądarkach. Nawigacja po stronach i zarządzanie stanem przeglądarki.

  3. Lokalizowanie elementów interfejsu użytkownika

    Strategie lokalizowania elementów przy użyciu selektorów ID, Name, ClassName, CSS oraz XPath. Różnice pomiędzy selektorami relatywnymi i absolutnymi oraz wykorzystanie narzędzi deweloperskich w pracy testera.

  4. Interakcje z elementami i asercje

    Wykonywanie podstawowych akcji na elementach strony, takich jak kliknięcia, wprowadzanie danych i czyszczenie pól. Tworzenie asercji w NUnit oraz pisanie pierwszych samodzielnych testów automatycznych.

  5. Wykorzystanie AI jako wsparcia w automatyzacji testów

    Wprowadzenie do GitHub Copilot jako narzędzia wspierającego testera. Konfiguracja, tworzenie promptów, generowanie fragmentów kodu oraz analiza błędów. Zastosowanie AI ma charakter wspierający i opcjonalny.

  6. Dynamiczne strony i synchronizacja testów

    Rozwiązywanie problemów związanych z asynchronicznością aplikacji webowych. Stosowanie mechanizmów oczekiwania, różnice między implicit i explicit wait oraz wykorzystanie AI do generowania niestandardowych warunków synchronizacji.

  7. Page Object Model i wsparcie AI

    Wprowadzenie do architektury Page Object Model, separacja logiki testowej od struktury strony oraz tworzenie klas stron. Wykorzystanie AI do generowania szkieletów klas POM na podstawie struktury HTML.

  8. Zaawansowane interakcje z interfejsem użytkownika

    Obsługa list rozwijanych, alertów, ramek iframe oraz pracy z wieloma oknami przeglądarki. Wykorzystanie klasy Actions do realizacji bardziej złożonych interakcji użytkownika.

  9. Testy sterowane danymi

    Tworzenie testów parametryzowanych, ładowanie danych testowych z plików zewnętrznych oraz wykorzystanie AI do generowania realistycznych zestawów danych testowych.

  10. Raportowanie i diagnostyka testów

    Rejestrowanie przebiegu testów, wykonywanie zrzutów ekranu w przypadku błędów oraz wprowadzenie do generowania raportów HTML ułatwiających analizę wyników testów.

  11. Refaktoryzacja i code review z wykorzystaniem AI

    Stosowanie zasad Clean Code w testach automatycznych, identyfikacja problemów w kodzie testów oraz optymalizacja struktury projektu przy wsparciu narzędzi AI.

  12. Warsztat finałowy i podsumowanie

    Realizacja projektu end-to-end dla przykładowej aplikacji webowej, zastosowanie poznanych wzorców i narzędzi AI w praktyce oraz omówienie dalszych ścieżek rozwoju, w tym integracji z CI/CD.

Tworzenie Agentów AI i Praca z Lokalnymi Modelami LLM​ - Zakres nauczania:

  1. Wprowadzenie do n8n

    Omówienie platformy n8n, jej możliwości oraz praktycznych zastosowań w automatyzacji procesów. Wyjaśnienie, jak działa środowisko, jak korzystać z interfejsu użytkownika oraz jak tworzyć pierwsze przepływy pracy, wykorzystując elementy takie jak węzły i workflow.

  2. Integracja z modelami AI

    Przedstawienie sposobów łączenia n8n z różnymi API modeli sztucznej inteligencji (np. OpenAI, Gemini). Pokazanie, jak tworzyć elastyczne i dynamiczne workflow, które komunikują się z modelami w celu przetwarzania danych, analiz czy generowania odpowiedzi.

  3. Tworzenie agentów AI

    Budowanie inteligentnych agentów automatyzujących konkretne zadania, takich jak obsługa wiadomości email, analiza treści, klasyfikacja danych, ekstrakcja informacji z dokumentów czy analiza komentarzy z mediów społecznościowych. Omówienie ich działania, logiki oraz implementacji.

  4. Zaawansowane mechanizmy wykorzystywane przy tworzeniu agentów AI

    Praca z kluczowymi funkcjami n8n: węzłami HTTP Request oraz Webhook, wykorzystaniem formularzy, obróbką i ekstrakcją danych, a także możliwością rozszerzania funkcjonalności poprzez własny kod w JavaScript lub Pythonie.

  5. Wprowadzenie do lokalnych modeli LLM

    Szerokie wprowadzenie do lokalnie uruchamianych modeli językowych, ich zalet, ograniczeń oraz zastosowań. Przegląd różnic między narzędziami takimi jak Ollama i LM Studio oraz omówienie popularnych modeli, m.in. LLaMA, Gemma, Mistral, Phi czy DeepSeek.

  6. Instalacja i konfiguracja środowiska lokalnych modeli

    Instrukcja instalacji LM Studio oraz Ollama, wraz z interfejsem Open WebUI. Wyjaśnienie, jak pobierać modele, uruchamiać je zarówno z poziomu GUI, jak i CLI, oraz jak korzystać z lokalnego API modeli do integracji w aplikacjach i procesach firmowych.

  7. Dostosowanie Ollama do potrzeb firmy

    Tworzenie użytkowników, zarządzanie dostępem do modeli i organizacja środowiska. Przedstawienie sposobów konfiguracji LLM pod kątem różnych grup użytkowników oraz ustawień dopasowanych do konkretnych procesów biznesowych, takich jak pobieranie danych z zewnętrznych wyszukiwarek.

  8. Metody adaptacji modeli LLM do wymagań organizacji

    Omówienie technik dostosowywania modeli, w tym RAG (Retrieval-Augmented Generation) w Ollama i LM Studio, a także podstaw fine-tuningu — kiedy warto go stosować i jakie daje możliwości.

SQL – Poziom podstawowy​ - Zakres nauczania:

  1. Wprowadzenie do baz danych i SQL

    Omówienie, czym są bazy danych, podstawowych pojęć takich jak tabela, rekord i kolumna. Wprowadzenie do języka SQL oraz przegląd podstawowych narzędzi, np. SQL Server Management Studio.

  2. Podstawy tworzenia zapytań SELECT

    Poznanie składni SELECT, wybieranie danych z jednej tabeli, filtrowanie danych za pomocą WHERE, sortowanie wyników przy użyciu ORDER BY oraz ograniczanie wyników za pomocą LIMIT.

  3. Operacje na danych – INSERT, UPDATE, DELETE

    Dodawanie nowych rekordów, modyfikowanie istniejących danych oraz usuwanie rekordów. Omówienie zasad bezpieczeństwa podczas modyfikacji danych.

  4. Tworzenie i modyfikacja tabel

    Tworzenie tabel za pomocą CREATE TABLE, definiowanie typów danych, kluczy podstawowych (PRIMARY KEY), modyfikacja tabel (ALTER TABLE) oraz usuwanie tabel (DROP TABLE).

  5. Relacje między tabelami – klucze obce i JOIN

    Omówienie relacji między tabelami, kluczy obcych (FOREIGN KEY) oraz podstawowych typów JOIN (INNER, LEFT, RIGHT). Przykłady łączenia danych z dwóch tabel.

  6. Agregacja danych i funkcje wbudowane

    Funkcje agregujące (COUNT, SUM, AVG, MIN, MAX), grupowanie danych (GROUP BY) oraz filtrowanie grup za pomocą HAVING.

  7. Podzapytania i operacje złożone

    Podzapytania w klauzulach SELECT, WHERE i FROM; operacje na zbiorach danych (UNION, INTERSECT) oraz instrukcje warunkowe CASE WHEN.

  8. Zarządzanie użytkownikami i uprawnieniami

    Tworzenie użytkowników, przydzielanie uprawnień (GRANT), cofanie uprawnień (REVOKE) oraz dobre praktyki w zakresie bezpieczeństwa baz danych.

  9. Ćwiczenia praktyczne i projekt końcowy

    Rozwiązywanie zadań praktycznych oraz realizacja projektu końcowego polegającego na stworzeniu bazy danych i wykonaniu przykładowych zapytań SQL.

Python - Poziom podstawowy - Zakres nauczania:

  1. Wprowadzenie do języka Python

    Omówienie, czym jest Python i gdzie znajduje zastosowanie. Instalacja środowiska programistycznego (Python, VS Code, Jupyter Notebook), podstawowe zasady składni oraz stworzenie pierwszych skryptów, w tym program Hello World.

  2. Typy danych i operacje

    Przegląd podstawowych typów danych: liczby, teksty, listy i słowniki. Omówienie operatorów arytmetycznych i porównań, operacje na stringach oraz podstawy formatowania tekstu.

  3. Instrukcje warunkowe i pętle

    Poznanie instrukcji warunkowych if, else i elif oraz pętli for i while. Omówienie instrukcji break i continue oraz ich zastosowania w prostych algorytmach i praktycznych przykładach.

  4. Funkcje i moduły

    Tworzenie własnych funkcji, przekazywanie argumentów i zwracanie wartości. Wprowadzenie do modułów wbudowanych (math, random, datetime) oraz importowanie własnych modułów w projektach.

  5. Obsługa plików

    Otwieranie, odczyt i zapis plików tekstowych oraz praca z plikami CSV. Praktyczne zastosowania do przetwarzania danych i tworzenia prostych narzędzi.

  6. Podstawy programowania obiektowego w Pythonie

    Klasy i obiekty, atrybuty i metody. Wprowadzenie do dziedziczenia i podstaw polimorfizmu oraz przykłady praktycznego zastosowania programowania obiektowego.

  7. Tworzenie prostych aplikacji konsolowych

    Łączenie zdobytej wiedzy w praktyce poprzez tworzenie prostych gier i aplikacji (np. quiz, kalkulator, licznik). Wprowadzenie do debugowania kodu i rozwiązywania problemów programistycznych.

  8. Podsumowanie i praca projektowa

    Omówienie najważniejszych zagadnień kursu, realizacja mini-projektu końcowego, wspólne rozwiązywanie problemów oraz sesja pytań i odpowiedzi.

Podstawy cyberbezpieczeństwa dla użytkowników indywidualnych i pracowników branży IT​ - Zakres nauczania:

  1. Najsłabsze ogniwo cyberbezpieczeństwa: człowiek i jego hasło

    Omówienie cech bezpiecznego hasła, typowych błędów użytkowników oraz psychologii ataków socjotechnicznych. Praktyczne wskazówki, jak tworzyć silne hasła i unikać powszechnych pułapek.

  2. Zarządzanie hasłami przy użyciu menedżerów haseł

    Przegląd popularnych narzędzi, takich jak KeePass czy Bitwarden, w tym konfiguracja, synchronizacja, tworzenie kopii zapasowych oraz zasady bezpiecznego przechowywania haseł.

  3. Phishing – charakterystyka, przykłady i metody ochrony

    Typy phishingu (emailowy, SMS, spear phishing), rozpoznawanie fałszywych wiadomości oraz znaczenie szkoleń uświadamiających i testów socjotechnicznych.

  4. Wyciek danych – sposoby weryfikacji i zapobiegania

    Wykorzystanie narzędzi takich jak HaveIBeenPwned i Firefox Monitor, zarządzanie tożsamością online oraz rekomendacje w przypadku incydentów związanych z wyciekiem danych.

  5. Ransomware – mechanizm działania i profilaktyka

    Wyjaśnienie czym jest ransomware, sposoby jego rozprzestrzeniania, strategie tworzenia kopii zapasowych, segmentacja sieci oraz polityki dostępu minimalizujące ryzyko ataku.

  6. Bezpieczeństwo stron internetowych i SSL

    Znaczenie symbolu „kłódki” w przeglądarce, różnice między certyfikatami DV, OV i EV, analiza bezpieczeństwa HTTPS oraz granice zaufania w kontekście stron internetowych.

  7. Podszywanie się pod adres e-mail – zagrożenia i prewencja

    Analiza nagłówków wiadomości email, mechanizmy SPF, DKIM, DMARC, ochrona tożsamości nadawcy oraz procedury zgłaszania nadużyć.

  8. Adres IP i jego znaczenie w kontekście cyberbezpieczeństwa

    Rola adresów IP w identyfikacji i śledzeniu użytkowników, maskowanie IP (VPN, Tor), geolokalizacja oraz kwestie prywatności w sieci.

  9. Zaufane źródła wiedzy o cyberbezpieczeństwie

    Przegląd najważniejszych źródeł wiedzy i aktualnych informacji o zagrożeniach: CERT Polska, Niebezpiecznik, Zaufana Trzecia Strona, CSIRT NASK, ENISA, raporty ESET Threat Reports, praktyczne alerty, newslettery i podcasty.

  10. Test sprawdzający i dyskusja moderowana

    Krótki test podsumowujący wiedzę uczestników (quiz lub online), omówienie odpowiedzi, wskazanie obszarów do pogłębienia oraz wymiana refleksji i doświadczeń między uczestnikami.

MS Excel – Poziom zaawansowany​ - Zakres nauczania:

  1. Formatowanie warunkowe

    Tworzenie reguł wyróżniania komórek, reguł dla pierwszych i ostatnich wartości, pasków danych, zestawów ikon oraz skali kolorów w celu wizualizacji danych.

  2. Funkcje

    Przegląd funkcji tekstowych, funkcji daty i czasu, funkcji logicznych i matematycznych oraz obsługa komunikatów błędów w arkuszu.

  3. Filtrowanie i sortowanie danych

    Sortowanie w kolejności naturalnej, na podstawie fragmentu pola, z pominięciem przedimków, listy filtrowania, zaawansowane kryteria filtrowania danych, kryterium obliczeniowe oraz kopiowanie przefiltrowanych danych do innego zakresu.

  4. Inspekcja arkusza

    Śledzenie poprzedników i zależności komórek, identyfikacja błędów, usuwanie strzałek śledzących oraz szacowanie formuł w celu dokładnej analizy arkusza.

  5. Tabele przestawne i wykresy przestawne

    Tworzenie tabel przestawnych na podstawie tabel lub zakresów danych, tworzenie tabel przestawnych z zewnętrznych baz danych oraz praca z tabelami przestawnymi i ich dostosowywanie.

  6. Menedżer scenariuszy

    Konfiguracja arkusza do pracy ze scenariuszami, dodawanie i wyświetlanie scenariuszy, edycja i scalanie scenariuszy oraz generowanie raportów w Excelu.

  7. Narzędzia MS Solver

    Wczytywanie i korzystanie z dodatku Solver, definiowanie warunków ograniczających, zapisywanie scenariuszy oraz konfiguracja opcji Solvera w celu analizy danych i rozwiązywania problemów optymalizacyjnych.

  8. Tworzenie, edycja i uruchamianie makr

    Rejestrowanie makr, przypisywanie klawiszy skrótu, uruchamianie makr oraz podgląd i edycja kodu VBA powstałego w wyniku rejestracji.

  9. VBA – praca z arkuszem Excel przy użyciu kodu VBA

    Uruchamianie edytora VBA, otwieranie istniejących i tworzenie nowych modułów, procedury VBA, tworzenie makr oraz funkcji użytkownika, obsługa zmiennych, tworzenie wyrażeń, korzystanie z okna komunikatów i instrukcji języka VBA.

MS Excel – Poziom średniozaawansowany​ - Zakres nauczania:

  1. Formuły

    Omówienie zasad tworzenia formuł w Excelu, korzystania z operatorów oraz różnic między adresowaniem względnym a bezwzględnym w arkuszu kalkulacyjnym.

  2. Tworzenie serii

    Tworzenie serii danych zdefiniowanych w arkuszu kalkulacyjnym oraz definiowanie własnych serii w celu automatyzacji wprowadzania danych.

  3. Zaawansowane metody kopiowania zakresów

    Kopiowanie wybranych atrybutów komórek, wykonywanie operacji arytmetycznych na komórkach źródłowych i docelowych oraz transpozycja wierszy i kolumn w arkuszu.

  4. Formatowanie warunkowe

    Tworzenie reguł wyróżniania komórek, reguł dla pierwszych i ostatnich wartości, pasków danych, zestawów ikon oraz skal kolorów w celu wizualizacji danych.

  5. Funkcje

    Przegląd funkcji tekstowych, funkcji daty i czasu, funkcji logicznych i matematycznych oraz obsługa komunikatów błędów w arkuszu.

  6. Filtrowanie i sortowanie danych

    Sortowanie w kolejności naturalnej, na podstawie fragmentu pola, z pominięciem przedimków, listy filtrowania, zaawansowane kryteria filtrowania, kryterium obliczeniowe oraz kopiowanie przefiltrowanych danych do innego zakresu.

  7. Ochrona danych

    Ukrywanie wierszy i kolumn, ukrywanie arkuszy, ochrona arkusza hasłem, blokowanie arkusza oraz wybranych komórek w skoroszycie w celu zabezpieczenia danych.

  8. Praca z wykresami

    Tworzenie wykresów, zmiana ich rodzaju oraz formatowanie w celu lepszego przedstawienia danych wizualnych.

  9. Drukowanie i jego opcje

    Druk całego arkusza, wybranego zakresu, konfiguracja opcji wydruku oraz drukowanie do pliku PDF.

  10. Sumy częściowe

    Praca z sumami częściowymi w arkuszu oraz dostosowywanie sposobu obliczania sum częściowych w zależności od potrzeb analitycznych.

  11. Tabele przestawne i wykresy przestawne

    Tworzenie tabel przestawnych na podstawie tabel lub zakresów danych, w tym również z zewnętrznych baz danych. Praca i dostosowywanie tabel oraz wykresów przestawnych.

  12. Menedżer scenariuszy

    Konfiguracja arkusza do pracy ze scenariuszami, dodawanie, wyświetlanie, edycja i scalanie scenariuszy oraz generowanie raportów w Excelu.

Java - Poziom podstawowy​ - Zakres nauczania:

  1. Wprowadzenie do języka Java

    Omówienie historii języka i jego zastosowań, przedstawienie podstawowych cech języka Java oraz instalacja środowiska programistycznego (JDK, IntelliJ/Eclipse). Uczestnicy stworzą swój pierwszy program: Hello World.

  2. Składnia i podstawowe konstrukcje językowe

    Poznanie typów danych i zmiennych, operatorów, instrukcji warunkowych (if, switch) oraz pętli (for, while). Praktyczne przykłady wykorzystania podstawowych konstrukcji językowych w programie.

  3. Tablice i kolekcje

    Omówienie tablic jednowymiarowych i wielowymiarowych, podstawowych kolekcji (ArrayList, HashMap) oraz sposobów iterowania po elementach danych struktur.

  4. Funkcje (metody)

    Definicja i wywołanie metod, przekazywanie argumentów, zwracanie wartości, przeciążanie metod oraz zasady zakresu zmiennych. Praktyczne ćwiczenia tworzenia własnych metod.

  5. Programowanie obiektowe w Javie – podstawy

    Wprowadzenie do klas i obiektów, tworzenie konstruktorów, pola i metody, wykorzystanie słowa kluczowego this oraz tworzenie i użycie obiektów w praktycznych przykładach.

  6. Dziedziczenie i polimorfizm

    Rozszerzanie klas, użycie super, nadpisywanie metod, operator instanceof, klasy abstrakcyjne i interfejsy. Praktyczne przykłady dziedziczenia i polimorfizmu w projektach.

  7. Obsługa wyjątków

    Omówienie typowych wyjątków w Javie, instrukcji try, catch, finally oraz tworzenia własnych wyjątków. Ćwiczenia w bezpiecznym obsługiwaniu błędów w kodzie.

  8. Praca z plikami

    Odczyt i zapis plików tekstowych przy użyciu klas FileReader, BufferedReader, FileWriter oraz obsługa błędów I/O. Praktyczne zastosowanie w przykładach projektowych.

  9. Wprowadzenie do projektów w Javie

    Tworzenie prostego projektu (np. mini kalkulator lub menedżer zadań), omówienie struktury projektu oraz dobrych praktyk programistycznych.

  10. Podsumowanie i projekt końcowy

    Rozwiązanie zadania projektowego przez uczestników (np. system rezerwacji lub quiz) oraz omówienie rozwiązań i wniosków z całych zajęć.

C++ - POZIOM PODSTAWOWY​ - Zakres nauczania:

  1. Wprowadzenie do języka C++

    Historia języka C++, jego zastosowania oraz omówienie procesu kompilacji i uruchamiania programów. Przegląd środowisk programistycznych (Visual Studio Code, Code::Blocks, terminal) oraz omówienie podstawowej struktury programu w C++.

  2. Typy danych i zmienne

    Poznanie podstawowych typów danych (int, float, char, bool), deklaracja i inicjalizacja zmiennych, operatory arytmetyczne i logiczne oraz ich zastosowanie w prostych programach.

  3. Instrukcje warunkowe

    Instrukcje if, else, else if oraz operator switch. Praktyczne przykłady zastosowania warunków w prostych algorytmach i programach.

  4. Pętle i iteracje

    Pętle for, while i do-while, przerywanie pętli przy użyciu break i continue. Praktyczne zastosowania iteracji w programach i algorytmach.

  5. Funkcje

    Deklaracja i definicja funkcji, przekazywanie argumentów, zwracanie wartości, zakres zmiennych oraz podstawy rekurencji. Ćwiczenia w tworzeniu własnych funkcji.

  6. Tablice i ciągi znaków

    Tablice jednowymiarowe i dwuwymiarowe, operacje na ciągach znaków (C-string) oraz podstawy klasy string z biblioteki STL. Praktyczne przykłady użycia tablic i ciągów znaków.

  7. Wprowadzenie do wskaźników

    Adresy pamięci, deklaracja wskaźników, dereferencja, operacje na wskaźnikach oraz relacja wskaźników z tablicami. Przykłady zastosowania wskaźników w programach.

  8. Struktury danych

    Tworzenie struktur struct, dostęp do pól oraz praktyczne zastosowanie struktur w prostych projektach i programach.

  9. Wprowadzenie do programowania obiektowego

    Klasy i obiekty, konstruktory i destruktory, enkapsulacja oraz podstawy dziedziczenia. Przykłady tworzenia obiektów i korzystania z metod w C++.

  10. Projekt podsumowujący

    Samodzielna lub zespołowa realizacja prostego projektu (np. kalkulator, system ocen, prosty rejestr danych) z wykorzystaniem poznanych elementów języka C++.