Myśl jak programista. Techniki kreatywnego rozwiązywania problemów
- Autor:
- V. Anton Spraul
- 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
(14.90 zł najniższa cena z 30 dni)26.95 zł
49.00 zł(-45%) -
Ta książka pomoże Ci się przygotować do pracy na stanowisku testera oprogramowania, a także zapewni wsparcie podczas wykonywania nowych zadań. Znajdziesz tu dokładne omówienie podstaw testowania, jego różnych rodzajów i poziomów w odniesieniu do zastosowania na różnych etapach pracy nad projektem...
Tester samouk. Praktyczny przewodnik po testowaniu oprogramowania na bazie gotowego projektu Tester samouk. Praktyczny przewodnik po testowaniu oprogramowania na bazie gotowego projektu
(35.40 zł najniższa cena z 30 dni)41.30 zł
59.00 zł(-30%) -
Czym jest inżynieria wymagań? To systematyczne podejście do pozyskiwania i dokumentowania wymagań, a także zarządzania nimi. Polega na zrozumieniu potrzeb i oczekiwań interesariuszy, a następnie opisaniu, za pomocą wymagań, systemu, który je spełnia.
Certyfikowany inżynier wymagań. Na podstawie IREB CPRE. Poziom podstawowy Certyfikowany inżynier wymagań. Na podstawie IREB CPRE. Poziom podstawowy
(41.40 zł najniższa cena z 30 dni)48.30 zł
69.00 zł(-30%) -
Firmy z branży IT prześcigają się w tworzeniu rozwiązań zwiększających wydajność pracy, jak również podnoszących poziom specjalizacji pracowników w określonych dziedzinach. Od kilku już lat pozycja full stack developera, który wykonywał wszystkie prace programistyczne, jest wielką rzadkością. Obe...
Postman i SQL. Kurs video. Metody testowania REST API i przeszukiwania baz danych Postman i SQL. Kurs video. Metody testowania REST API i przeszukiwania baz danych
(39.90 zł najniższa cena z 30 dni)79.49 zł
159.00 zł(-50%) -
To drugie, zaktualizowane wydanie przewodnika po systemie Prometheus. Znajdziesz w nim wyczerpujące wprowadzenie do tego oprogramowania, a także wskazówki dotyczące monitorowania aplikacji i infrastruktury, tworzenia wykresów, przekazywania ostrzeżeń, bezpośredniej instrumentacji kodu i pobierani...
Prometheus w pełnej gotowości. Jak monitorować pracę infrastruktury i wydajność działania aplikacji. Wydanie II Prometheus w pełnej gotowości. Jak monitorować pracę infrastruktury i wydajność działania aplikacji. Wydanie II
(53.40 zł najniższa cena z 30 dni)62.30 zł
89.00 zł(-30%) -
Power Apps to platforma stworzona przez Microsoft, umożliwiająca łatwe projektowanie, tworzenie i dostosowywanie aplikacji bez konieczności posiadania głębokiej wiedzy programistycznej. Z użyciem Power Apps można budować niestandardowe aplikacje, które efektywnie wspierają i automatyzują różne pr...
Power Apps. Kurs video. Tworzenie biznesowych aplikacji no-code Power Apps. Kurs video. Tworzenie biznesowych aplikacji no-code
(39.90 zł najniższa cena z 30 dni)89.54 zł
199.00 zł(-55%) -
Ta książka będzie świetnym uzupełnieniem wiedzy o Flutterze i Darcie, sprawdzi się również jako wsparcie podczas rozwiązywania konkretnych problemów. Znalazło się tu ponad sto receptur, dzięki którym poznasz tajniki pisania efektywnego kodu, korzystania z narzędzi udostępnianych przez framework F...
Flutter i Dart. Receptury. Tworzenie chmurowych aplikacji full stack Flutter i Dart. Receptury. Tworzenie chmurowych aplikacji full stack
(41.40 zł najniższa cena z 30 dni)48.30 zł
69.00 zł(-30%) -
Sterownik PLC (ang. programmable logic controller) to jedno z najważniejszych urządzeń stosowanych w automatyce przemysłowej. Zawiera układ mikroprocesorowy pozwalający sterować pracą maszyn, linii produkcyjnych, oświetlenia i innych urządzeń elektrycznych w przemyśle, ale nie tylko. Tego typu st...
Języki programowania sterowników PLC: LAD, FBD, SCL, STL. Ćwiczenia dla początkujących Języki programowania sterowników PLC: LAD, FBD, SCL, STL. Ćwiczenia dla początkujących
(26.94 zł najniższa cena z 30 dni)31.43 zł
44.90 zł(-30%) -
Czy chcesz szybko i skutecznie opanować podstawy Microsoft Azure, zrozumieć jego architekturę i możliwości? W takim razie to książka dla Ciebie! Czy chcesz nauczyć się, jak wdrażać, zarządzać i skalować aplikacje w chmurze Azure, nie tracąc przy tym cennego czasu? W takim razie to książka dla C...
Azure w 1 dzień. Microsoft Azure od podstaw po zaawansowane techniki Azure w 1 dzień. Microsoft Azure od podstaw po zaawansowane techniki
-
Zigi to postać fikcyjna - warta poznania! Autor książki, sam będący od wielu lat testerem, wyposażył swojego bohatera we własne doświadczenia. Dołożył do nich trochę „case’ów”, które widział, o których słyszał lub czytał, ubrał je w przystępne słowa i sfabularyzował dla podkręce...(35.40 zł najniższa cena z 30 dni)
41.30 zł
59.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