Recenzje
Myślenie algorytmiczne. Jak rozwiązywać problemy za pomocą algorytmów. Wydanie II
Recenzja książki „Myślenie algorytmiczne” Myślenie algorytmiczne to sposób rozwiązywania problemów poprzez tworzenie uporządkowanych procedur (algorytmów), które prowadzą do rozwiązania zadania w sposób efektywny i powtarzalny, spełniający postawione wcześniej założenia. Polega na analizie problemu, rozbiciu go na mniejsze części, określeniu sekwencji działań i przewidywaniu możliwych wyników. Myślenie algorytmiczne jest podstawą programowania komputerowego, ale ma zastosowanie także w codziennym życiu, np. przy planowaniu zadań, optymalizacji procesów czy podejmowaniu decyzji. Przykładem myślenia algorytmicznego może być przepis kulinarny, który składa się z uporządkowanej sekwencji kroków prowadzącej do założonego celu, czyli dania. Ba, przepisy kulinarne zawierają także elementy programowania współbieżnego. W informatyce myślenie algorytmiczne obejmuje również analizę efektywności algorytmów (np. złożoność czasowa i użycie pamięci) oraz wybór odpowiednich struktur danych. Rozwija umiejętności logicznego myślenia, kreatywność i systematyczność. Książka „Myślenie algorytmiczne” jest przeznaczona dla programistów pragnących tworzyć programy spójne logicznie i efektywne. Grupą wyróżnioną przez autora są młodzi, zdolni programiści pragnący spróbować swych sił w olimpiadach informatycznych i konkursach programistycznych. Z tego powodu przykłady dyskutowanych zadań i problemów są przez autora pieczołowicie wybrane z zasobów kilku olimpiad informatycznych z różnych krajów. Także dlatego duży nacisk położono na wybór właściwych algorytmów, zapewniających optymalne użycie pamięci i czasu wykonywania napisanego programu, ponieważ te czynniki mają szczególnie duże znaczenie przy ocenianiu prac. Książka nie jest podręcznikiem programowania, nie omawia podstawowych, oklepanych algorytmów w rodzaju wież Hanoi, optymalizacji grafu czy metod sortowania. Autor celowo i z rozmysłem stawia i dokładnie omawia trudne zadania programistyczne, których zapewne nie potrafiłbyś rozwiązać samodzielnie. Szczególną uwagę zwraca na analizę problemu, dobór właściwych struktur danych i analizę wydajności algorytmu. Jest to szczególnie ważne na olimpiadach informatycznych, gdzie jest narzucony maksymalny czas wykonania programu. Także witryny oceniające rozwiązania zadań bezlitośnie odrzucają rozwiązania, które „nie wyrabiają się w czasie”. Dlatego elegancja algorytmu nie jest tym, co tygrysy (czyt. algorytmy sprawdzające) lubią najbardziej. Algorytmy rekurencyjne są piękne, ale niewydajne. Jak to w życiu - liczy się skuteczność. Książka przedstawia kilka klas problemów, a w każdym z nich starannie dobrane 2-3 zadania są dokładnie omówione w różnych wariantach rozwiązania: tablice mieszające, drzewa i rekurencja, memoizacja i programowanie dynamiczne, grafy i przeszukiwanie wszerz, najkrótsze ścieżki na grafach ważonych, wyszukiwanie binarne, kopce i drzewa segmentów, struktura zbiorów rozłącznych, randomizacja. Tytuł „Myślenie algorytmiczne” jest dokładnie tym, co Autor chciał przekazać. Każde zadanie (matematyczne czy programistyczne) można i należy sprowadzić do abstrakcji, która z kolei pozwala wybrać metodę rozwiązania. W przypadku zadań złożonych dobrą praktyką jest poszukanie rozwiązania dla problemu uproszczonego, pozbawionego subtelności, podobnie jak w modelowaniu fizycznych układów dynamicznych. Pozwoli to określić sedno problemu, a w konsekwencji sposób jego rozwiązania. Pozwoli też ominąć pułapki związane z niewłaściwym wyborem metody. Wybór języka programowania jest sprawą drugorzędną, Autor wybrał język C. Nie jest to trudny język, może nieco przestarzały, ale za to czytelny i zrozumiały. Osobiście wybrałbym Pythona, ze względu na wyjątkowe cechy edukacyjne tego języka, zwłaszcza struktury danych. Ostatni rozdział książki omawia efektywność algorytmów, bo rozwiązania zadań konkursowych nie tylko muszą podać poprawne wyniki. Powinny też spełniać wymagania dotyczące wykorzystania pamięci i czasu procesora. Dlaczego? Chociażby po to, żeby wyeliminować rozwiązania trywialne i naiwne oraz metody brutalne znane na przykład z łamania haseł z wykorzystaniem słownikowych baz danych. Czas wykonania programu świadczy też o jakości zastosowanego algorytmu. Biorąc pod uwagę powyższe wymagania można dojść do wniosku, że nie jest to książka dla każdego, mimo trochę mylącego podtytułu: “Jak rozwiązywać problemy za pomocą algorytmów”. Ale jeśli trafi do właściwej osoby… Daniel Zingaro „Myślenie algorytmiczne. Jak rozwiązywać problemy za pomocą algorytmów”. Wydanie II, Wydawnictwo Helion, 2025 Notka o autorze. Daniel Zingaro jest wykładowcą University of Toronto. Główny obszar jego zainteresowań stanowi metodyka nauczania informatyki. Jest znany z niekonwencjonalnego podejścia do nauczania.
Myśl i działaj. Jak realistycznie oceniać rzeczywistość i osiągać swoje cele
Czy zdarzyło Ci się kiedyś wpaść w pułapkę własnych założeń? Budować plan, który wydawał się solidny niczym gotycka katedra, by po chwili patrzeć, jak wszystko wali się niczym domek z kart? Jeśli tak to "Myśl i działaj" Thibauta Meurisse’a to książka, której prawdopodobnie brakowało Ci w najważniejszych momentach życia. Każdy dzień przynosi nadmiar informacji, a tempo życia wymusza natychmiastowe decyzje, w takich chwilach coraz trudniej o chłodną analizę i trafną ocenę rzeczywistości. Właśnie w tym kontekście książka Thibauta Meurisse’a „Myśl i działaj. Jak realistycznie oceniać rzeczywistość i osiągać swoje cele” zyskuje wyjątkową wartość. Autor proponuje przemyślany model intelektualnego porządkowania rzeczywistości oraz praktyczny przewodnik po procesie skutecznego działania opartego na realistycznym myśleniu i starannej analizie. Nasze rezultaty są bezpośrednią konsekwencją przyjętego modelu rzeczywistości. Błędne założenia prowadzą do nieskutecznych działań, podczas gdy trafna ocena sytuacji pozwala projektować strategie adekwatne do wyzwań, z jakimi mierzymy się na co dzień - zarówno w życiu zawodowym, jak i osobistym. Osiąganie celów to przede wszystkim jakości procesów poznawczych, jakie uruchamiamy w trakcie działania. Autor oferuje konkretne narzędzia, schematy myślowe oraz zestaw ćwiczeń, które systematycznie kształtują nawyk precyzyjnego i krytycznego myślenia oraz pozwalają przenieść teorię na grunt codziennych decyzji. Jeśli więc czujesz, że Twoje życie przypomina czasem bieg w ciemnościach - zatrzymaj się, weź głęboki oddech, otwórz książkę Meurisse’a i naucz się myśleć tak, by Twoje działanie naprawdę miało sens.
Porywający mówca. Jak brzmieć pewnie i przekonująco
„Porywający mówca”, czyli poradnik, dzięki któremu będziesz brzmieć pewnie i przekonująco. ZAWSZE! Będę szczera… Uwielbiam poradniki, które z miejsca motywują do działania - zwłaszcza w tematach, na których mi zależy - bo zawierają ogrom merytorycznej i praktycznej wiedzy. ALE! Jednocześnie czytając taką książkę wiem, że osiągnięcie konkretnego celu to dłuższy proces, związany z utrwalaniem wiedzy oraz z ćwiczeniami. Najlepsze jest jednak to, że w poradniku dostaję wszystkie narzędzia, by działać od zaraz! „Porywający mówca” należy do takich właśnie książek! Motywuje do pracy już od pierwszej strony i to bez względu na to, co Cię skłania do pracy nad głosem. Mało tego! Droga do bycia porywającym mówcą wydaje się bardzo przyjemna, bo ani ćwiczenia nie wyglądają na skomplikowane, ani regularność ich wykonywania nie powinna stanowić problemu. Owszem, trzeba być świadomym kilku kwestii związanych z pracą nad aparatem mowy, ale byłam bardzo pozytywnie zaskoczona tym, jak wiele można zyskać pracując nad nim. Ewa Kozicka napisała książkę, którą świetnie się czyta i z miejsca chce się wdrażać zawarte w niej porady. Całość publikacji została podzielona na cztery części: głos, dykcja, ekspresja oraz dodatkowe ćwiczenia. W każdej z nich Autorka wgryza się w temat, rozkładając go na czynniki pierwsze oraz proponuje ścieżkę pracy nad zagadnieniem. Nawet nie zdajecie sobie sprawy z tego, jak ważne jest to, jak się mówi, i jak wiele można zyskać, kontrolując tę umiejętność. Zapewne domyślacie się, że sięgnęłam po „Porywającego mówcę” z uwagi na nagrywane podcasty. Byłam ogromnie ciekawa, czy dowiem się czegoś nowego, a otrzymałam… esencję wiedzy na temat pewnego i przekonującego brzmienia oraz konkretne wskazówki, jak to osiągnąć. Bardzo polecam wszystkim, nie tylko mówcom.
TIME of lies
Nie mam słów w jaki sposób mogłabym opisać tę książkę. Była po prostu 𝐆 𝐄 𝐍 𝐈 𝐀 𝐋 𝐍 𝐀. Po opisie spodziewałam się czegoś na zasadzie delikatnego enemies, które całkiem prędko przeradza się na lovers. Zdecydowanie tego tutaj nie dostałam, co absolutnie mi nie przeszkadzało. Między Aurorą, a Timothy namacalnie wyczuwałam potężną nienawiść. A jak wiecie między nienawiścią a miłością jest cienka granica… Przez większość książki moje preferencje na temat potencjalnego partnera głównej bohaterki co stronę się zmieniały. Wątek romantyczny kręcił się między Timothy a Ivanem. Ja zdecydowanie jestem Team ten pierwszy. Klimat elitarnego liceum został idealnie przedstawiony. Nie potrafiłam oderwać się od czytania. Osobiście bardzo przepadam za długimi opisami, bo pozwala mi to lepiej zbudować świat z książki w swojej głowie, dlatego uniwersum Aurory w mojej wyobraźni idealnie zostało wykreowane, właśnie dzięki pięknym obrazowaniem słów. Naprawdę intrygującym faktem były tajemnice, które pojawiały się znienacka i albo zostawały rozwiązywane, albo nadal nie poznaliśmy na nie odpowiedzi. Interakcje między bohaterami były tak ekscytujące, że musiałam kilka razy zamknąć książkę, ochłonąć i uspokoić rozszalałe serce! Ani razu nie poczułam nudy, co chwilę się coś działo. Nie jest to powieść taka jak wszystkie. Nie znajdziecie tych wątków w co drugiej książce, ani tak wspaniałej bohaterki. Jej myślenie całkiem przypomina moje, więc być może to przez to stała się jedną z moich ulubionych. Aurora nie podejmowała głupich decyzji. Rozważała każdą z możliwości po kilka razy. Była niesamowicie sprytna i podstępna w tym dobrym znaczeniu. Emocje pod koniec historii sięgały niemal zenitu. Z mojej twarzy nie potrafił zejść uśmiech. Jeżeli szukacie czegoś nowego, innego to 𝐓𝐢𝐦𝐞 𝐨𝐟 𝐥𝐢𝐞𝐬 jest dla was idealną pozycją!
Wszystkie barwy mroku
,,Wszystkie kolory mroku" to bardzo dobra historia. Muszę przyznać, że sam opis książki nie oddaje, jak dobra jest ta historia. To było dla mnie bardzo miłe zaskoczenie. Gdy zobaczyłam, ile ma stron, trochę się przeraziłam. A jednak pochłonęłam ją w dwa dni. Fabuła jest świetnie skonstruowana i rozgrywa się na przestrzeni kilkunastu lat. Głównym bohaterem jest Path - jednooki chłopiec, który ratuje koleżankę z rąk seryjnego mordercy. Nie spodziewa się, że ten jeden czyn wpłynie na całe jego życie. Polubiłam go - może nie zawsze postępował właściwie, ale było widać, że to dobry chłopak. Drugą bohaterką jest jego przyjaciółka. A może nawet kimś więcej , kochała go.To było oczywiste. Była mu całkowicie oddana, całe jej życie kręciło się wokół niego. To historia, która trzyma w napięciu od pierwszej strony. Trochę thriller, trochę opowieść o miłości i pięknej przyjaźni. Myślę, że każdy znajdzie tu coś dla siebie. Rozdziały są bardzo krótkie ,czasem zaledwie jednostronicowe , co sprawnia, że książkę czyta się błyskawicznie. Dla mnie to duży plus, bo nie przepadam za długimi rozdziałami. Książka podzielona jest na części, z których każda przedstawia inny etap życia bohaterów. Śledzimy ich losy i obserwujemy, jak dorastają. Autor posługuje się świetnym stylem, który sprawia, że czytanie tej historii to czysta przyjemność. Bardzo się cieszę, że miałam okazję ją zrecenzować. Z pewnością długo o niej nie zapomnę. Polecam. Nie zawiedziecie się.