- Wstęp (9)
 
Rozdział 1. Rozumienie i analizowanie problemów. Algorytmy i ich zastosowanie (11)
- Temat 1. Sposoby reprezentowania algorytmów (12)
- 1.1. Pseudokod (12)
 - 1.2. Rozwiązywanie równania kwadratowego (14)
 
 - Temat 2. Wprowadzenie do języka C++ - podstawowe konstrukcje i analiza przykładów (22)
- 2.1. Struktura programu (23)
 - 2.2. Operacje wejścia-wyjścia (25)
 - 2.3. Zmienne, stałe, wskaźniki i referencje (29)
 - 2.4. Wyrażenia arytmetyczne, relacje i operatory logiczne (32)
 - 2.5. Priorytety relacji i działań (37)
 - 2.6. Funkcje matematyczne (38)
 - 2.7. Komentarze (40)
 - 2.8. Podstawowe konstrukcje algorytmiczne (40)
 - 2.9. Proste typy danych (52)
 - 2.10. Funkcje w języku C++ (53)
 - 2.11. Strukturalne typy danych (62)
 
 - Temat 3. Własności i złożoność obliczeniowa algorytmów (79)
- 3.1. Złożoność obliczeniowa i efektywność algorytmów (79)
 - 3.2. Poprawność i skończoność algorytmów (84)
 - 3.3. Optymalność algorytmów (85)
 
 - Temat 4. Iteracja i rekurencja (88)
- 4.1. Obliczanie silni liczby naturalnej (88)
 - 4.2. Zastosowania algorytmu Euklidesa (91)
 - 4.3. Wieże Hanoi (94)
 
 - Temat 5. Błędy w obliczeniach komputerowych (99)
- 5.1. Notacja naukowa liczb (99)
 - 5.2. Błąd bezwzględny i względny (101)
 
 - Temat 6. Rozkładanie liczby na czynniki pierwsze i sito Eratostenesa (103)
- 6.1. Faktoryzacja liczby (103)
 - 6.2. Sito Eratostenesa (105)
 
 - Temat 7. Pozycyjne systemy liczbowe i ich zastosowania (108)
- 7.1. Pozycyjne i niepozycyjne systemy liczbowe (108)
 - 7.2. Konwersje pozycyjnych systemów liczbowych (110)
 - 7.3. Zastosowanie systemu binarnego - szybkie potęgowanie liczb (114)
 - 7.4. Operacje arytmetyczne wykonywane w różnych systemach liczbowych (116)
 - 7.5. Wyznaczanie wartości wielomianu za pomocą schematu Hornera (120)
 - 7.6. Zamiana liczb z dowolnego pozycyjnego systemu liczbowego na system dziesiętny z zastosowaniem schematu Hornera (123)
 
 - Temat 8. Reprezentacja danych liczbowych w komputerze (125)
- 8.1. Reprezentacja liczb naturalnych i całkowitych w komputerze (125)
 - 8.2. Stałopozycyjna reprezentacja liczb (125)
 - 8.3. Binarna reprezentacja liczb ujemnych (126)
 - 8.4. Zmiennopozycyjna reprezentacja liczb (127)
 
 - Temat 9. Algorytmy liniowe na ciągach liczbowych (129)
- 9.1. Losowe generowanie ciągów liczbowych (129)
 - 9.2. Liniowe przeszukiwanie ciągu liczbowego (134)
 - 9.3. Liniowe przeszukiwanie ciągu liczbowego z wartownikiem (138)
 - 9.4. Znajdowanie minimalnego lub maksymalnego elementu (140)
 - 9.5. Sprawdzanie monotoniczności ciągu liczbowego (144)
 - 9.6. Lider i idol w zbiorze (146)
 
 - Temat 10. Algorytmy na tekstach (151)
- 10.1. Palindromy (151)
 - 10.2. Sortowanie tekstu (153)
 - 10.3. Anagramy (154)
 
 - Temat 11. Szyfrowanie tekstu (159)
- 11.1. Kryptografia i kryptoanaliza (159)
 - 11.2. Szyfrowanie symetryczne (161)
 - 11.3. Szyfrowanie asymetryczne (167)
 
 - Zadania do rozdziału 1. (169)
 
Rozdział 2. Multimedia (171)
- Temat 12. Cyfrowy zapis dźwięku (171)
- 12.1. Teoria dźwięku (171)
 - 12.2. Zapis analogowy dźwięku (173)
 - 12.3. Cyfrowy zapis dźwięku (173)
 
 - Temat 13. Reprezentacja obrazu w komputerze (185)
- 13.1. Co widzi ludzkie oko? (185)
 - 13.2. Barwa (186)
 - 13.3. Modele barw (186)
 - 13.4. Atrybuty barwy (191)
 - 13.5. Własności barwy - głębia bitowa (ang. color depth) (195)
 
 - Temat 14. Kompresja stratna i bezstratna (197)
- 14.1. Kompresja bezstratna (197)
 - 14.2. Kompresja stratna (209)
 
 - Temat 15. Modelowanie 3D (211)
- 15.1. Modelowanie 3D w programie Blender (211)
 - 15.2. Renderowanie obrazu i ustawienie kamery (214)
 
 - Temat 16. Animacje komputerowe (218)
- 16.1. Jak powstaje animacja? (218)
 - 16.2. Animacja poklatkowa (ang. stop motion) (219)
 
 - Zadania do rozdziału 2. (225)
 
Rozdział 3. Arkusz kalkulacyjny (227)
- Temat 17. Zaawansowane funkcje w przykładach (227)
- 17.1. Składnia funkcji (227)
 - 17.2. Widok funkcji (228)
 - 17.3. Funkcje generujące dane (228)
 - 17.4. Zastosowanie funkcji logicznych (230)
 - 17.5. Zastosowanie funkcji czasu (235)
 - 17.6. Zastosowanie funkcji daty (240)
 - 17.7. Zastosowanie funkcji tekstowych (246)
 - 17.8. Zastosowanie funkcji zaokrągleń (253)
 
 - Temat 18. Makropolecenia i VBA (256)
- 18.1. Nagrywanie makropolecenia (256)
 - 18.2. Edycja makra w VBA (259)
 - 18.3. Zastosowanie pętli FOR w VBA (262)
 - 18.4. Zastosowanie instrukcji warunkowej w VBA (265)
 - 18.5. Formularze użytkownika i VBA (268)
 
 - Zadania do rozdziału 3. (272)
 
Rozdział 4. Relacyjna baza danych (275)
- Temat 19. Bazy danych i zarządzające nimi systemy (275)
- 19.1. Rodzaje baz danych (276)
 - 19.2. Projektowanie relacyjnej bazy danych (278)
 
 - Temat 20. Tabele w programie Access 2013 (284)
- 20.1. Tworzenie tabeli (284)
 - 20.2. Typy danych w tabelach (287)
 - 20.3. Podstawowe właściwości pól tabeli (291)
 - 20.4. Pole kluczowe tabeli (297)
 - 20.5. Definiowanie relacji (300)
 - 20.6. Operacje na tabelach bazy danych (306)
 - 20.7. Zmiana sposobu prezentowania danych (309)
 
 - Temat 21. Kwerendy - zapytania (313)
- 21.1. Kwerendy wybierające (314)
 - 21.2. Kwerendy krzyżowe (325)
 - 21.3. Kwerendy funkcjonalne - modyfikujące (329)
 
 - Temat 22. Język zapytań SQL (335)
- 22.1. Kwerenda oparta na jednej tabeli (335)
 - 22.2. Kwerenda wybierająca dane z kilku tabel (337)
 - 22.3. Sortowanie (337)
 - 22.4. Kryterium wyboru (338)
 - 22.5. Pola obliczeniowe (339)
 - 22.6. Kwerendy parametryczne (340)
 - 22.7. Kwerenda tworząca nową tabelę (340)
 - 22.8. Kwerenda krzyżowa (340)
 - 22.9. Tworzenie kwerend za pomocą instrukcji języka SQL (341)
 
 - Temat 23. Formularze (344)
- 23.1. Autoformularze (344)
 - 23.2. Projektowanie formularzy (346)
 
 - Temat 24. Raporty (352)
 - Temat 25. Ochrona i bezpieczeństwo danych (355)
 - Zadania do rozdziału 4. (359)
 - Bibliografia (361)
 - Skorowidz (362)