Ocena:

Książka „How to Design Programs” jest polaryzującym źródłem wśród czytelników, z których niektórzy chwalą jej innowacyjne podejście i głębię, podczas gdy inni krytykują jej złożoność i przestarzałe metody nauczania. Chociaż oferuje ona cenny wgląd w projektowanie programów i umiejętności rozwiązywania problemów, może nie być odpowiednia dla absolutnie początkujących lub dla tych, którzy potrzebują przewodnika krok po kroku po językach programowania, takich jak Scheme.
Zalety:⬤ Doskonała do samodzielnej nauki i doskonalenia podstaw programowania.
⬤ Zapewnia unikalne podejście pedagogiczne, które kładzie nacisk na projektowanie i rozwiązywanie problemów.
⬤ Wielu czytelników uznało ją za wnikliwą, promującą dobre praktyki programistyczne.
⬤ Powszechnie uważana za korzystną zarówno dla początkujących, jak i doświadczonych programistów chcących pogłębić swoją wiedzę.
⬤ Uważana za zbyt złożoną i chaotyczną dla początkujących.
⬤ Niektórzy twierdzą, że jest słabo napisana i zawiera niejasne wyjaśnienia.
⬤ Niektóre treści i ćwiczenia są przestarzałe w porównaniu do nowoczesnych metod nauczania.
⬤ Użycie Scheme jako głównego języka może być mylące dla osób oczekujących prostszego wprowadzenia do programowania.
(na podstawie 29 opinii czytelników)
How to Design Programs, Second Edition: An Introduction to Programming and Computing
Całkowicie zmienione wydanie, oferujące nowe przepisy na projektowanie interaktywnych programów i wsparcie dla obrazów jako zwykłych wartości, testowania, programowania sterowanego zdarzeniami, a nawet programowania rozproszonego.
To wprowadzenie do programowania umieszcza informatykę w centrum edukacji w zakresie sztuk wyzwolonych. W przeciwieństwie do innych książek wprowadzających, koncentruje się na procesie projektowania programów, prezentując wytyczne dotyczące projektowania programów, które pokazują czytelnikowi, jak analizować problem, jak formułować zwięzłe cele, jak tworzyć przykłady, jak opracowywać zarys rozwiązania, jak ukończyć program i jak go przetestować. Ponieważ nauka projektowania programów polega na studiowaniu zasad i nabywaniu umiejętności, które można wykorzystać, tekst nie wykorzystuje gotowego języka przemysłowego, ale przedstawia język nauczania dostosowany do indywidualnych potrzeb. Z tego samego powodu oferuje DrRacket, środowisko programistyczne dla nowicjuszy, które wspiera zabawną, zorientowaną na informacje zwrotne naukę. Środowisko to rozwija się wraz z czytelnikami, w miarę jak opanowują oni materiał zawarty w książce, aż do momentu, gdy obsługuje pełnoprawny język dla całego spektrum zadań programistycznych.
To drugie wydanie zostało całkowicie zmienione. Podczas gdy książka nadal uczy systematycznego podejścia do projektowania programów, drugie wydanie wprowadza różne przepisy na projektowanie programów interaktywnych z interfejsami graficznymi i programów wsadowych. Wzbogaca również przepisy na projektowanie funkcji o liczne nowe wskazówki. Wreszcie, języki nauczania i ich IDE są teraz dostarczane z obsługą obrazów jako zwykłych wartości, testowania, programowania sterowanego zdarzeniami, a nawet programowania rozproszonego.