Niniejszy skrypt przeznaczony jest dla wszystkich chcących poznać podstawy i wybrane bardziej zaawansowane elementy programowania współbieżnego, równoległego i rozproszonego. Tematem głównym są obliczenia równoległe, czyli odpowiedź na pytanie jak w praktyce wykorzystywać współczesny sprzęt komputerowy, taki jak np. mikroprocesory wielordzeniowe i klastry komputerów osobistych. Przetwarzanie współbieżne i rozproszone traktowane są jako ważne obszary, w wielu miejscach pokrywające się z tematyką obliczeń równoległych, jednak skrypt nie jest ich wyczerpującą prezentacją.
Skrypt zakłada u Czytelnika pewien poziom wiedzy dotyczącej architektury procesorów i komputerów, systemów operacyjnych, programowania w klasycznych językach proceduralnych i obiektowych. Zakres omawiany na kursach studiów informatycznych pierwszego stopnia powinien być w zupełności wystarczający. Osoby nie studiujące informatyki, a mające pewne doświadczenie programistyczne, także nie powinny mieć kłopotu z korzystaniem ze skryptu.
Założeniem skryptu jest położenie głównego nacisku na rozumienie omawianych zagadnień oraz przedstawienie szeregu przykładów praktycznych. W wielu miejscach (np. w tytułach rozdziałów) pojawiają się w sposób jawnie sformułowany problemy, jakie napotyka się tworząc oprogramowanie współbieżne, równoległe czy rozproszone. Treść rozdziałów szczegółowo prezentuje problemy, analizuje ich możliwe rozwiązania oraz pokazuje przykłady praktycznych rozwiązań.
Do przedstawienia przykładów kodu rozwiązującego problemy, wybrane zostały popularne środowiska programowania, jednakże tylko w wariancie podstawowym. Prezentacja przykładu zazwyczaj obejmuje kod źródłowy wraz z informacją o jego kompilacji, uruchomieniu programu oraz efekcie działania. Celem głównym jest przedstawienie rozwiązania wybranego problemu programistycznego, dlatego też np. fragmenty kodu nie zawierają szczegółowej obsługi błędów. Odpowiednią obsługę błędów, na podstawie szczegółowych specyfikacji omawianych środowisk, należy dodać w przypadku umieszczania kodu w programach użytkowych.
W skrypcie nie są przedstawiane sposoby obsługi zaawansowanych środowisk programowania, w tym programowania równoległego czy rozproszonego. Filozofia prezentacji jest taka, aby nauczyć dostrzegania problemów przy programowaniu oraz umiejętności rozwiązywania tych problemów.
Narzędzia używane w skrypcie są proste - ktoś, kto rozumie problem i wie jaka jest istota jego rozwiązania, łatwo stworzy właściwy kod posługując się dowolnym narzędziem. Z założenia zawartość skryptu ma być pomocna dla osób stosujących dowolne narzędzia i środowiska programowania.
Układ skryptu pomyślany jest jako szereg rozdziałów, w każdym rozdziale występuje pewna myśl przewodnia, pewien problem programistyczny, który rozdział stara się omówić. W zasadzie możliwe jest korzystanie ze skryptu na zasadzie korzystania z wybranych rozdziałów - zależnie od napotkanych problemów, które chce się rozwiązać. Dla ułatwienia takiego stosowania w skrypcie zawarty jest szereg odniesień do zagadnień omawianych gdzie indziej, tak aby np. można było na bieżąco uzupełniać treść pominiętą wcześniej. Rozdziały oznaczone gwiazdką (*) zawierają materiał bardziej zaawansowany, nie stanowiący niezbędnej podstawy do zrozumienia innych zagadnień. Skrypt zawiera także indeks oraz Słownik użytych tłumaczeń terminów angielskich - terminologia angielska jest zazwyczaj bardziej
1