Rozdział 1. Rozumienie i analizowanie problemów. Algorytmy i ich zastosowanie (9)
- Temat 1. Metoda haszowania - inne spojrzenie na wyszukiwanie wzorca w tekście (10)
- 1.1. Tablice z haszowaniem (11)
- 1.2. Problem kolizji (22)
- 1.3. Złożoność haszowania (26)
- 1.4. Zastosowanie haszowania (32)
- Temat 2. Programowanie zachłanne (33)
- 2.1. Programowanie zachłanne (34)
- 2.2. Problem wydawania reszty (45)
- Temat 3. Programowanie dynamiczne (49)
- 3.1. Programowanie dynamiczne (50)
- 3.2. Algorytm wydawania reszty (59)
- Temat 4. Najdłuższy wspólny podciąg (66)
- 4.1. Algorytm znajdujący najdłuższy wspólny podciąg (NWP) dwóch ciągów (66)
- 4.2. Algorytm znajdowania NWP (70)
- Temat 5. Znajdowanie w ciągu podciągów o różnych własnościach (76)
- 5.1. Podciąg niemalejący i podciąg nierosnący (77)
- Temat 6. Zastosowanie metody "dziel i zwyciężaj" (88)
- 6.1. Wyszukiwanie elementów największego i najmniejszego w zbiorze (88)
- 6.2. Sortowanie przez scalanie (102)
- 6.3. Sortowanie szybkie (111)
- Temat 7. Metody numeryczne i obliczenia przybliżone (117)
- 7.1. Obliczanie wartości pierwiastka kwadratowego z liczby nieujemnej - metoda Herona (118)
- 7.2. Obliczanie pola obszaru ograniczonego wykresem funkcji (123)
- Temat 8. Programowanie zorientowane obiektowo (153)
- 8.1. Programowanie obiektowe w języku C++ (155)
- 8.2. Programowanie obiektowe w języku Python (176)
- Temat 9. Grafika w języku Python (185)
- 9.1. Moduł Turtle w języku Python (185)
- 9.2. Tworzenie prostych rysunków (189)
- 9.3. Programowanie rysowania złożonych figur i sterowanie żółwiem za pomocą klawiatury (199)
- 9.4. Projektowanie motywów graficznych - przykłady (202)
- Temat 10. Algorytmy badające własności geometryczne (209)
- 10.1. Przynależność punktu do odcinka (209)
- 10.2. Punkt wewnątrz wielokąta (217)
- Temat 11. Rekurencyjne tworzenie fraktali (223)
- 11.1. Co to jest fraktal? (223)
- 11.2. Skąd się wzięły fraktale? (226)
- 11.3. Jak powstają fraktale? (226)
- 11.4. Algorytmy rekurencyjne funkcji tworzących (231)
- 11.5. Zastosowanie fraktali (248)
- Temat 12. Struktury danych i ich zastosowanie (249)
- 12.1. Listy (250)
- 12.2. Krotki (257)
- 12.3. Słowniki (258)
- 12.4. Zbiory (260)
- 12.5. Struktury danych w C++ (263)
- Temat 13. Algorytmy grafowe i zastosowanie słowników w języku Python (271)
- 13.1. Grafy i ich znaczenie (271)
- 13.2. Operacje na grafach (274)
- 13.3. Algorytmy grafowe (280)
- 13.4. Graf jako drzewo (283)
- 13.5. Algorytm Dijkstry (286)
- Temat 14. Operacje na plikach tekstowych (292)
- 14.1. Otwieranie lub tworzenie pliku (293)
- 14.2. Odczyt z pliku (296)
- 14.3. Zapis do pliku (298)
- 14.4. Zamykanie pliku (300)
- 14.5. Sprawdzanie plików (300)
- 14.6. Obsługa wyjątków (301)
- Zadania do rozdziału 1. (304)
Rozdział 2. Systemy operacyjne i sieci komputerowe (309)
- Temat 15. Modele warstwowe sieci komputerowych (310)
- 15.1. Modele warstwowe sieci (310)
- 15.2. Protokoły warstw modeli ISO/OSI i TCP/IP (319)
- Temat 16. Konfiguracja lokalnej sieci komputerowej oraz bezprzewodowy dostęp do sieci internet (324)
- 16.1. Planowanie sieci komputerowej (324)
- 16.2. Parametry sprzętu sieciowego używanego w sieciach domowych i małych biurach (326)
- 16.3. Konfiguracja sieci w domu lub małej firmie (330)
- 16.4. Udostępnianie sieci pomiędzy urządzeniami (334)
- Temat 17. Funkcjonowanie sieci komputerowej (336)
- 17.1. Protokół IPv4 (337)
- 17.2. Protokół IPv6 (342)
- Temat 18. Projektowanie zestawu komputerowego (346)
- 18.1. Dobór elementów zestawu komputerowego (346)
- 18.2. Zestaw komputerowy dla domu (352)
- 18.3. Komputery dla gracza (352)
- 18.4. Komputery dla profesjonalistów (352)
- 18.5. Dodatkowe urządzenia peryferyjne (352)
- Zadania do rozdziału 2. (355)
Rozdział 3. Relacyjna baza danych i strony WWW (357)
- Temat 19. Internetowa aplikacja bazodanowa (358)
- 19.1. Baza danych w aplikacji internetowej (358)
- 19.2. PHP - gdzie można go wykorzystać? (360)
- 19.3. Przepływ informacji w internetowej aplikacji bazodanowej (362)
- 19.4. Przypomnienie i pogłębienie wiadomości o PHP (362)
- 19.5. Funkcje obsługi plików (383)
- 19.6. Baza danych MySQL (388)
- Temat 20. Aplikacja internetowa: jak strona współpracuje z bazą danych (396)
- 20.1. Pliki cookies i sesje (397)
- 20.2. Rozszerzenia PHP do komunikacji z bazą danych (406)
- 20.3. Obsługa bazy danych MySQL z poziomu PHP (408)
- Zadania do rozdziału 3. (418)
Rozdział 4. Kierunki rozwoju technologii informatycznych oraz aspekty etyczne, prawne i społeczne w zastosowaniach informatyki (421)
- Temat 21. Współtworzenie otwartych zasobów w sieci (421)
- 21.1. Licencje a zasoby dostępne w sieci (423)
- 21.2. Otwarte zasoby edukacyjne (427)
- 21.3. Współpraca z innymi autorami (434)
- 21.4. Wiarygodność informacji opublikowanych w internecie (435)
- Temat 22. Wpływ trendów w historycznym rozwoju informatyki (437)
- 22.1. Krótka historia ważnych wydarzeń w rozwoju internetu (439)
- 22.2. Przemiany społeczne a technologie (441)
- 22.3. Wpływ technologii informacyjno-komunikacyjnej na wybrane dziedziny życia (443)
- 22.4. Trendy technologiczne (448)
- Zadania do rozdziału 4. (452)
- Bibliografia (454)
- Skorowidz (456)