Myśl jak programista. Techniki kreatywnego rozwiązywania problemów (ebook)(audiobook)(audiobook)
- Autor:
- V. Anton Spraul
- Promocja Przejdź
- Wydawnictwo:
- Helion
- Wydawnictwo:
- Helion
- Ocena:
- 4.4/6 Opinie: 8
- Stron:
- 280
- Druk:
- oprawa miękka
- 3w1 w pakiecie:
-
PDFePubMobi
Opis książki
Czytaj fragment
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!
Podobne produkty
-
Algorytmy Data Science. Siedmiodniowy przewodni... Algorytmy Data Science. Siedmiodniowy przewodnik. Wydanie II
David Natingga
-
Algorytmy. Ilustrowany przewodnik Algorytmy. Ilustrowany przewodnik
Aditya Bhargava
-
Wielkie umysły programowania. Jak myślą i pracu... Wielkie umysły programowania. Jak myślą i pracują twórcy najważniejszych języków
Federico Biancuzzi, Shane Warden
-
Czysty kod. Podręcznik dobrego programisty Czysty kod. Podręcznik dobrego programisty
Robert C. Martin
-
Czysta architektura. Struktura i design oprogra... Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów
Robert C. Martin
-
Mistrz czystego kodu. Kodeks postępowania profe... Mistrz czystego kodu. Kodeks postępowania profesjonalnych programistów
Robert C. Martin
Ebooka przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook 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 posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video zobaczysz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP4 (pliki spakowane w ZIP)
Recenzje książki: Myśl jak programista. Techniki kreatywnego rozwiązywania problemów (1)
-
forbot.pl Damian Nowak, 2014-08-19
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 książki
- 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@helion.pl.
- Format:
- 170x230
- Numer z katalogu:
- 14479
- Rozmiar pliku Pdf:
- 5.2MB
- Rozmiar pliku ePub:
- 3.6MB
- Rozmiar pliku Mobi:
- 3.6MB
- Pobierz przykładowy rozdział PDF
- Przykłady na ftp
Ebook zawiera materiały dodatkowe, które możesz pobrać z serwera FTP - link znajdziesz na stronie redakcyjnej.
- Erraty / Zgłoś erratę
- Kategorie:
Programowanie » Inne - Programowanie
Spis treści książki
- 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)
(2)
(2)
(3)
(0)
(0)
(1)
6 oceniona przez: 2020-04-24
6 oceniona przez: Pawel C, student 2013-08-31
5 oceniona przez: embedded system 2016-05-08
5 oceniona przez: Damian Nowak, Robotics Specialist 2014-08-22
4 oceniona przez: 2022-05-17
4 oceniona przez: Agata, Adminsitrator 2015-01-03
4 oceniona przez: Tomasz Lewowski, 2013-10-24
1 oceniona przez: 2013-11-14
więcej opinii