Myśl jak programista. Techniki kreatywnego rozwiązywania problemów
- Autor:
- V. Anton Spraul
- Wydawnictwo:
- Helion
- Wydawnictwo:
- Helion
- Ocena:
- 4.4/6 Opinie: 8
- Stron:
- 280
- Druk:
- oprawa miękka
- Dostępne formaty:
-
PDFePubMobi
Opis ebooka: Myśl jak programista. Techniki kreatywnego rozwiązywania problemów
Znajdź wyjście z najtrudniejszych sytuacji!
Nauka programowania to tak naprawdę nauka sposobu myślenia. Jako programista musisz biegle analizować problemy, dzielić je na części oraz starać się je rozwiązać w optymalny sposób. Składnia języka i środowisko programistyczne to tylko podstawowe narzędzia, których obsługi nauczyć się może każdy. Jednak nie każdy potrafi myśleć jak programista.
Recenzja książki na Forbot.pl >>
Dzięki tej książce masz szansę zostać profesjonalistą! W trakcie lektury poznasz najlepsze sposoby rozwiązywania problemów, opanujesz rekurencję i przekonasz się, że wcale nie jest ona taka straszna. Zobaczysz również, jak tworzyć kod nadający się do ponownego użycia, i opanujesz zagadnienia z obszaru programowania obiektowego. Przykłady w tej książce zostały napisane w języku C++, ale nie stanowi to bariery, żeby przenieść te idee na inne języki programowania. Warto poświęcić tej książce parę wieczorów i zmienić swój sposób patrzenia na programowanie!
Poznaj:
- strategie rozwiązywania problemów
- sposoby rozwiązywania problemów za pomocą rekurencji
- korzyści z wykorzystania wskaźników i pamięci dynamicznej
- metody zdobywania nowych umiejętności programistycznych
Opanuj sztukę myślenia jak programista!
Przeprogramuj swój mózg
Prawdziwym wyzwaniem programowania nie jest uczenie się składni języka - to poznawanie metod, pozwalających w sposób kreatywny rozwiązywać problemy, by można było stworzyć coś wspaniałego.
V. Anton Spraul, autor tej jedynej w swoim rodzaju pozycji, ujawnia sposoby, które pozwalają programistom rozwiązywać problemy i uczy tego, co często bywa pomijane w innych książkach: w jaki sposób należy myśleć jak programista. W każdym rozdziale jest prezentowane inne zagadnienie programistyczne, takie jak klasy, wskaźniki i rekurencja, a także ciekawe zadania, pozwalające na wykorzystanie zdobytej wiedzy.
Z tej książki nauczysz się także, w jaki sposób można:
- Podzielić problemy na mniejsze komponenty, by można je było łatwiej rozwiązywać.
- Uczynić większość kodu możliwym do ponownego wykorzystania dzięki funkcjom, klasom i bibliotekom.
- Wybrać najlepszą strukturę danych dla określonego zadania.
- Opanować bardziej zaawansowane zagadnienia programistyczne, takie jak rekurencja i pamięć dynamiczna.
- Uporządkować myśli i zaplanować strategie, by móc się skutecznie zmagać z określonymi rodzajami problemów.
Mimo że przykłady kodów w książce są napisane w C++, prezentują one kreatywne koncepcje rozwiązywania problemów, przekraczające granice poszczególnych języków programowania. W rzeczywistości często sięgają one obszarów spoza informatyki. Jak wiadomo dla większości wykwalifikowanych programistów, tworzenie znakomitego kodu jest sztuką twórczą, a pierwszym etapem, prowadzącym do uzyskania arcydzieła jest nauczenie się myśleć jak programista.
V. Anton Spraul wykłada podstawy programowania oraz informatykę od ponad 15 lat. W tej książce przedstawia esencję technik, które wykorzystywał i rozwijał podczas indywidualnych sesji z doświadczającymi trudności programistami. Jest także autorem książki Computer Science Made Simple.
Wybrane bestsellery
-
Książka, którą trzymasz w dłoni, opisuje działanie różnych rodzajów oprogramowania. Autor w przystępny i interesujący sposób wyjaśnia trudne i złożone kwestie. Nie musisz być informatykiem ani znać podstaw programowania, aby zrozumieć procesy, które przebiegają w magicznie lśniących układach scal...
Jak działa oprogramowanie? Tajemnice komputerowych mechanizmów szyfrowania, obrazowania, wyszukiwania i innych powszechnie używanych technologii Jak działa oprogramowanie? Tajemnice komputerowych mechanizmów szyfrowania, obrazowania, wyszukiwania i innych powszechnie używanych technologii
(24.50 zł najniższa cena z 30 dni)26.95 zł
49.00 zł(-45%) -
Dzięki tej książce dowiesz się, jak pozyskiwać, analizować i wizualizować dane, a potem używać ich do rozwiązywania problemów biznesowych. Wystarczy, że znasz podstawy Pythona i matematyki na poziomie liceum, aby zacząć stosować naukę o danych w codziennej pracy. Znajdziesz tu szereg praktycznych...
Data science i Python. Stawianie czoła najtrudniejszym wyzwaniom biznesowym Data science i Python. Stawianie czoła najtrudniejszym wyzwaniom biznesowym
(55.20 zł najniższa cena z 30 dni)48.30 zł
69.00 zł(-30%) -
Ta książka zawiera szereg praktycznych wskazówek dotyczących przygotowania, przeprowadzania i oceniania wyników kontrolowanych eksperymentów online. Dzięki niej nauczysz się stosować naukowe podejście do formułowania założeń i oceny hipotez w testach A/B, dowiesz się także, jak sprawdzać wiarygod...
Kontrolowane eksperymenty online. Praktyczny przewodnik po testach A/B Kontrolowane eksperymenty online. Praktyczny przewodnik po testach A/B
(63.20 zł najniższa cena z 30 dni)55.30 zł
79.00 zł(-30%) -
Dzięki tej książce poznasz od podstaw Gita i GitLaba. Dowiesz się, jak skonfigurować runnery GitLaba, a także jak tworzyć i konfigurować potoki dla różnych etapów cyklu rozwoju oprogramowania. Poznasz zasady interpretacji wyników potoków w GitLabie. Nauczysz się też wdrażania kodu w różnych środo...
Automatyzacja metodyki DevOps za pomocą potoków CI/CD GitLaba. Buduj efektywne potoki CI/CD do weryfikacji, zabezpieczenia i wdrażania kodu, korzystając z rzeczywistych przykładów Automatyzacja metodyki DevOps za pomocą potoków CI/CD GitLaba. Buduj efektywne potoki CI/CD do weryfikacji, zabezpieczenia i wdrażania kodu, korzystając z rzeczywistych przykładów
(55.30 zł najniższa cena z 30 dni)55.30 zł
79.00 zł(-30%) -
Ta książka wyjaśni Ci rolę matematyki w tworzeniu, renderowaniu i zmienianiu wirtualnych środowisk 3D, a ponadto pozwoli odkryć tajemnice najpopularniejszych dzisiaj silników gier. Za sprawą licznych praktycznych ćwiczeń zorientujesz się, co się kryje za rysowaniem linii i kształtów graficznych, ...
Matematyka w programowaniu gier i grafice komputerowej. Tworzenie i renderowanie wirtualnych środowisk 3D oraz praca z nimi Matematyka w programowaniu gier i grafice komputerowej. Tworzenie i renderowanie wirtualnych środowisk 3D oraz praca z nimi
(62.30 zł najniższa cena z 30 dni)62.30 zł
89.00 zł(-30%) -
ChatGPT, chatbot opracowany i udostępniony przez firmę OpenAI, szybko stał się obiektem zainteresowania internautów na całym świecie — i na nowo wzbudził gorące dyskusje wokół sztucznej inteligencji. Ludzie mediów prześcigają się w skrajnych wizjach, jedni podchodzą do tematu entuzjastyczni...(10.95 zł najniższa cena z 30 dni)
12.04 zł
21.90 zł(-45%) -
Mam wrażenie, że wokół sieci neuronowych narosło wiele mitów. Nawet niektórzy starsi członkowie mojej rodziny na hasło "sztuczna inteligencja" robią posępną minę, niezależnie od tego, czy mowa jest o generowaniu obrazów czy - na przykład - o rozpoznawaniu odręcznego pisma czy też tłumaczeniu teks...(24.57 zł najniższa cena z 30 dni)
24.57 zł
28.90 zł(-15%) -
Tę książkę docenią przede wszystkim inżynierowie oprogramowania, programiści i administratorzy systemów, którzy muszą szybko zrozumieć praktyki DevOps. Znajdziesz tu bezcenną wiedzę, która ułatwi Ci efektywną pracę z nowoczesnym stosem aplikacji i sprawne przystąpienie do zadań związanych z DevOp...
DevOps dla zdesperowanych. Praktyczny poradnik przetrwania DevOps dla zdesperowanych. Praktyczny poradnik przetrwania
(40.20 zł najniższa cena z 30 dni)46.90 zł
67.00 zł(-30%) -
Pytest – nowoczesny framework do uruchamiania testów automatycznych w języku Python. Można używać tej platformy do przeprowadzania testów jednostkowych, ale sprawdzi się świetnie także podczas konstruowania rozbudowanych testów wyższego poziomu (integracyjnych, end-to-end) dla całych aplika...
Pytest. Kurs video. Automatyzacja testów w Pythonie Pytest. Kurs video. Automatyzacja testów w Pythonie
(44.70 zł najniższa cena z 30 dni)96.85 zł
149.00 zł(-35%) -
Książkę szczególnie docenią analitycy bezpieczeństwa, którzy chcą się zapoznać z zestawem poleceń ARM i zdobyć wiedzę umożliwiającą im efektywne korzystanie z technik inżynierii wstecznej. Poza zestawem potrzebnych poleceń znalazło się w niej mnóstwo przydatnych informacji. Znajdziesz tu przegląd...
Niebieski lis. Polecenia procesorów Arm i inżynieria wsteczna Niebieski lis. Polecenia procesorów Arm i inżynieria wsteczna
(53.40 zł najniższa cena z 30 dni)62.30 zł
89.00 zł(-30%)
Ebooka "Myśl jak programista. Techniki kreatywnego rozwiązywania problemów" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Myśl jak programista. Techniki kreatywnego rozwiązywania problemów" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Myśl jak programista. Techniki kreatywnego rozwiązywania problemów" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Recenzje ebooka: Myśl jak programista. Techniki kreatywnego rozwiązywania problemów (1) Poniższe recenzje mogły powstać po przekazaniu recenzentowi darmowego egzemplarza poszczególnych utworów bądź innej zachęty do jej napisania np. zapłaty.
-
Recenzja: forbot.pl Damian Nowak, 2014-08-19Recenzja dotyczy produktu: ksiązka drukowanaCzy recenzja była pomocna:
Czy zdarzyło Wam się usiąść z entuzjazmem do projektu? Kawa gotowa, nasiona słonecznika do chrupania również.
Przeszliście wstępną konfigurację projektu i… godzinę obserwowaliście kursor? Przyznam się, że do dzisiaj bardzo często mam z tym problem. Rozwiązania tego problemu zacząłem szukać w recenzowanej książce.
Jestem samoukiem, większość tego, co wiem, zdobyłem małymi krokami czytając wyrywkowo różne artykuły, pytając ludzi, testując rozwiązania metodą prób i błędów. Potrafię pisać programy, ale… ale pisanie programów to nie wszystko. Trzeba wiedzieć JAK je pisać, a właściwie zmienić zupełnie swój sposób myślenia.
No właśnie. Z tego, co się orientuję, to na studiach kierunków informatycznych można się spotkać z zajęciami przygotowującymi do rozwiązywania typowo programistycznych problemów. Co, jeśli jednak nie możemy sobie pozwolić na kilkuletnie szkolenie? Jednym z wyjść jest lektura książki „Myśl jak programista. Techniki kreatywnego rozwiązywania problemów”. Nie zastąpi ona oczywiście solidnego kursu, ale pozwoli nabrać właściwych nawyków oraz obrać właściwy kierunek w zdobywaniu wiedzy i umiejętności przydatnych dla programisty-profejsonalisty.
Dla kogo jest ta książka?
Autor już na początku zaznacza, że pozycja jest skierowana dla programisty znającego podstawową składnię i semantykę języka C++. Wymaga także pewnego doświadczenia w pisaniu oprogramowania. Raczej nie polecałbym jej osobom dopiero zaczynającym swoją przygodę z kodem – od tego są znacznie „przyjaźniejsze” podręczniki. Chyba, że ktoś chciałby przeczytać tylko jeden-dwa rozdziały, a do reszty wrócić po nauce podstaw.
Czego można się z niej dowiedzieć?
Pierwsza część książki teoretycznie ma mało wspólnego z samym programowaniem – zawarto w niej zbiór klasycznych problemów do rozwiązania, jak chociażby plansza do Sudoku albo stara i być może znana niektórym z Was łamigłówka typu Boatman Riddle.
Jeśli nie mieliście z nimi do czynienia wcześniej, to autor pokaże jak trudna w rozwiązaniu, albo nawet pozornie „nierozwiązywalna” zagadka może nagle stać się banalna. Wystarczy zmienić tok rozumowania.
Mało tego – ten rozdział wyjaśnia, że sporą część łamigłówek możemy sprowadzić do analogii problemu, który już wcześniej rozwiązaliśmy.
Dlatego tak istotne jest „gimnastykowanie umysłu” na wszelkie możliwe sposoby. Drugi rozdział to już zadania typowo programistyczne – m.in. „rysowanie” określonych figur geometrycznych znakami i zagadnienia związane z sumą kontrolną Luhna. Wszystkie zostały przedstawione jako krótki opis problemu i obszerny opis możliwego rozwiązania (lub rozwiązań). Nadmienię tutaj jeszcze, że każdy rozdział zakończony jest listą ciekawych ćwiczeń do wykonania we własnym zakresie – przy niektórych można się naprawdę spocić!
Przeważająca większość książki obejmuje zagadnienia strategii rozwiązywania problemów. Są to podstawy, z którymi niektórzy z Was mogli się spotkać w podręcznikach i skryptach akademickich, ale zostały opisane w sposób tak przystępny, że mogą rzucić nowe światło na niektóre trudniejsze kwestie.
Kolejne rozdziały wzbogacą wiedzę w zakresach rozwiązywania problemów przy pomocy tablic, wskaźników, klas, rekurencji i… korzystania z pracy innych programistów.
Nie chodzi tu oczywiście o plagiat, a o zwykłe poszukiwanie inspiracji, sposobu myślenia w momencie, gdy stanęliśmy w martwym punkcie.
Dodam, że każdy rozdział zawiera szczegółową rozpiskę częstych błędów. Obszerne wyjaśnienia i – przede wszystkim – odpowiedzi, kiedy należy danego sposobu używać.
Czy warto?
Panuje powszechne przekonanie, że nie każdy „nadaje się” na programistę. Są ludzie, którym tłumaczy się zagadnienia dziesiątki razy (samemu zaczyna się je rozumieć), a oni nadal nie. Po lekturze tej książki stwierdziłem jednak, że ten specyficzny sposób myślenia można w sobie rozwijać – zauważyłem na własnym przykładzie, że moje podejście się zmieniło i w przypadku niektórych problemów zaczynam podświadomie „czuć” właściwie rozwiązanie.
Nie twierdzę, że lektura ta jest remedium na każdą łamigłówkę i niedouczenie czytelnika, ale wzbogaci na pewno wiedzę i doświadczenie mniej lub bardziej początkującego programisty. Czy warto sięgnąć po tę pozycję? Z pewnością! Zagadnienia w niej poruszone nie tylko pomogą rozwiązać problemy, które wcześniej spędzały nam sen z powiek. “Myśl jak programista” to także poradnik mówiący, jak w prosty sposób poprawić optymalizację kodu już napisanego i działającego. Wasze roboty na pewno odwdzięczą się Wam większą wydajnością i precyzją działania. Zainteresowanych odsyłam do załączonego fragmentu. Książka dostępna jest w wersji papierowej oraz tańszej elektronicznej.
Szczegóły ebooka
- Tytuł oryginału:
- Think Like a Programmer: An Introduction to Creative Problem Solving
- Tłumaczenie:
- Jacek Janusz
- ISBN Książki drukowanej:
- 978-83-246-7284-4, 9788324672844
- Data wydania książki drukowanej:
- 2013-08-16
- ISBN Ebooka:
- 978-83-246-7286-8, 9788324672868
- Data wydania ebooka:
- 2013-09-26 Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Format:
- 170x230
- Numer z katalogu:
- 14479
- Rozmiar pliku Pdf:
- 5.2MB
- Rozmiar pliku ePub:
- 3.6MB
- Rozmiar pliku Mobi:
- 8.9MB
- Przykłady na ftp
Ebook zawiera materiały dodatkowe, które możesz pobrać z serwera FTP - link znajdziesz na stronie redakcyjnej.
Spis treści ebooka
- O książce (11)
- Wymagania wstępne (11)
- Wybrane zagadnienia (12)
- Styl programowania (12)
- Ćwiczenia (12)
- Dlaczego C++? (13)
- Klasyczne łamigłówki (17)
- Lis, gęś i kukurydza (17)
- Łamigłówki z przesuwanymi elementami (22)
- Sudoku (26)
- Zamek Quarrasi (30)
- Ogólne techniki rozwiązywania problemów (32)
- Miej zawsze jakiś plan (32)
- Ponownie zaprezentuj problem (33)
- Podziel problem (34)
- Rozpocznij z wiedzą, którą posiadasz (35)
- Uprość problem (36)
- Szukaj analogii (37)
- Eksperymentuj (38)
- Nie popadaj we frustrację (38)
- Ćwiczenia (40)
- Elementy języka C++ wykorzystywane w tym rozdziale (42)
- Tworzenie wzorów na wyjściu (42)
- Przetwarzanie danych wejściowych (48)
- Analiza problemu (49)
- Łączenie wszystkich elementów w całość (58)
- Śledzenie stanu (60)
- Podsumowanie (73)
- Ćwiczenia (74)
- Podstawowe informacje o tablicach (78)
- Przechowywanie danych (79)
- Kopiowanie (79)
- Odczytywanie i przeszukiwanie (80)
- Sortowanie (81)
- Obliczenia statystyczne (84)
- Rozwiązywanie problemów za pomocą tablic (85)
- Optymalizacja (89)
- Tablice ze stałymi wartościami (91)
- Tablice z wartościami nieskalarnymi (94)
- Tablice wielowymiarowe (96)
- Kiedy należy używać tablic (99)
- Ćwiczenia (104)
- Podstawowe informacje o wskaźnikach (108)
- Korzyści z używania wskaźników (109)
- Struktury danych o wielkości definiowanej w trakcie działania programu (109)
- Struktury danych o zmiennych rozmiarach (110)
- Współdzielenie pamięci (110)
- Kiedy należy używać wskaźników? (111)
- Pamięć ma znaczenie (112)
- Stos i sterta (113)
- Rozmiar pamięci (116)
- Czas życia (118)
- Rozwiązywanie problemów za pomocą wskaźników (119)
- Łańcuchy o zmiennej długości (119)
- Listy powiązane (130)
- Wnioski i następne działania (139)
- Ćwiczenia (139)
- Przegląd podstawowych informacji o klasach (144)
- Cele użycia klas (146)
- Enkapsulacja (146)
- Ponowne użycie kodu (147)
- Dzielenie problemu (147)
- Hermetyzacja (148)
- Czytelność (150)
- Wyrazistość (150)
- Tworzenie przykładowej klasy (151)
- Podstawowy schemat klasy (152)
- Metody wspierające (156)
- Klasy z danymi dynamicznymi (160)
- Dodawanie węzła (162)
- Reorganizacja listy (165)
- Destruktor (169)
- Kopiowanie głębokie (170)
- Obraz całości dla klas z pamięcią dynamiczną (175)
- Błędy, jakich należy unikać (176)
- Klasa fikcyjna (176)
- Jednozadaniowce (177)
- Ćwiczenia (178)
- Przegląd podstawowych informacji o rekurencji (182)
- Rekurencja nieogonowa i ogonowa (182)
- Wielki Pomysł Rekurencyjny (191)
- Często popełniane błędy (194)
- Zbyt wiele parametrów (195)
- Zmienne globalne (196)
- Używanie rekurencji w dynamicznych strukturach danych (198)
- Rekurencja i listy powiązane (198)
- Rekurencja i drzewa binarne (201)
- Funkcje opakowujące (204)
- Kiedy należy wybierać rekurencję? (207)
- Argumenty przeciwko rekurencji (207)
- Ćwiczenia (211)
- Poprawne i niewłaściwe wykorzystanie kodu (214)
- Przegląd podstawowych informacji o komponentach (215)
- Blok kodu (215)
- Algorytmy (216)
- Wzorce (216)
- Abstrakcyjne typy danych (217)
- Biblioteki (218)
- Zdobywanie wiedzy o komponentach (219)
- Eksploracyjne zdobywanie wiedzy (219)
- Zdobywanie wiedzy w razie potrzeby (223)
- Wybór typu komponentu (232)
- Wybór komponentu w praktyce (234)
- Porównanie wyników (238)
- Ćwiczenia (239)
- Tworzenie własnego planu głównego (242)
- Uwzględnienie mocnych i słabych stron (242)
- Budowanie planu głównego (248)
- Rozwiązywanie każdego problemu (250)
- Opracowywanie metody oszukiwania (252)
- Wymagane podzadania dla metody oszukiwania w grze wisielec (254)
- Wstępny projekt (256)
- Kodowanie wstępne (257)
- Analiza wstępnych wyników (266)
- Sztuka rozwiązywania problemów (267)
- Zdobywanie nowych umiejętności programistycznych (268)
- Nowe języki (269)
- Zdobywanie nowych umiejętności w języku, który już znasz (271)
- Nowe biblioteki (272)
- Bierz udział w szkoleniach (273)
- Podsumowanie (274)
- Ćwiczenia (275)
Podziękowania (7)
Wstęp (9)
1. Strategie rozwiązywania problemów (15)
2. Prawdziwe łamigłówki (41)
3. Rozwiązywanie problemów za pomocą tablic (77)
4. Rozwiązywanie problemów za pomocą wskaźników i pamięci dynamicznej (107)
5. Rozwiązywanie problemów za pomocą klas (143)
6. Rozwiązywanie problemów za pomocą rekurencji (181)
7. Rozwiązywanie problemów za pomocą ponownego wykorzystania kodu (213)
8. Myślenie jak programista (241)
Skorowidz (276)
Oceny i opinie klientów: Myśl jak programista. Techniki kreatywnego rozwiązywania problemów V. Anton Spraul (8) Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.
(2)
(2)
(3)
(0)
(0)
(1)
więcej opinii