Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
webowych,wtymprzeglądarkainternetowaFireFox).Ktojednakmyśli,żeto
oznacza,onnaprawdęnauczyłsięprogramowania?Małapodpowiedź:jeśli
ktośuważa,żetak,toopróczprzeczytaniatejksiążkipowinienprawdopo-
dobniepopracowaćnadumiejętnościąkrytycznegomyślenia.Pewnie,mógł
możesięprzyswoićjakiśmałyfragmentwiedzyoprogramowaniu,alenie,nie
nauczyłsięprogramować.Jeślimożnabysiębyłonauczyćprogramowaćwciągu
mniejwięcejgodziny,toprogramowaniemusiałobybyćnatyletrywialne,że
nauczaniegowszkołachbyłobystratączasu.
Znaczeniepodstawowejwiedzy
Interesującyiniecoprzeciwnydomojegopoglądnatemattego,jakuczyć
programowania,zostałwyrażonynabloguprzezStephenaWolframa,twórcę
programuMathematicaijęzykaWolfram,wewpisiezatytułowanymfiHow
toTeachComputationalThinking”(Jaknauczyćmyśleniaobliczeniowego).
Wolframdefiniujemyślenieobliczeniowejakofiformułowanieproblemów
natylejasnoisystematycznie,bymócdziękitemupowiedziećkomputerowi,
jakmajerozwiązać”.Całkowiciesięzgadzamzdefinicją.Wrzeczywistości
jesttowdużejmierzemotywacjadonapisaniatejksiążki.
StanowczojednakniezgadzamsięzestanowiskiemWolframa,żeci,któ-
rzyucząsięprogramować,powinnirozwinąćswojeumiejętnościmyślenia
obliczeniowegozapomocąpotężnychnarzędziwysokiegopoziomu,podob-
nychdotych,któreonwynalazł,zamiastuczyćsiępodstawowychtechnologii.
Naprzykładnapodstawierosnącegozainteresowaniastatystykąwstosunku
dorachunkuróżniczkowego,widaćwyraźnie,żeprzekształcaniedanychjest
rozwijającychsięobszaremwiedzy.Cojednaksiędzieje,gdyludziepopro-
stuwrzucająstosydanychwprogram,zktóregodziałaniemniedobrze
obeznani?
Jednymzmożliwychrezultatówjestgenerowaniewynikówciekawiewy-
glądających,leczalbonieprawidłowych,albowręczbezsensownych.Niedawne
badania(np.fiGeneNameErrorsareWidespreadintheScientificLiterature”
autorstwaMarkaZiemanna,YotamaErenaiAssamaEl-Osta)wykazały,że
jednapiątaopublikowanychartykułówzdziedzinygenetykizawierabłędy
powstałeprzeznieprawidłoweposługiwaniesięarkuszamikalkulacyjnymi.
Pomyślmyomożliwychbłędachiichnastępstwach,gdybyjeszczepotężniej-
szenarzędziaznalazłysięwrękachjeszczewiększejliczbyludzi!Dokładne
wykonaniejestbardzoważnetam,gdzierezultatywpływająnażycieludzkie.
Zrozumieniepodstawowychtechnologiipozwalawykształcićwyczucie
tego,comożepójśćźle.Znajomośćjedynienarzędziwysokiegopoziomuspra-
wia,żezadajesięnietepytania,cotrzeba.Wartonauczyćsięobsługimłot-
ka,zanimprzejdziesiędoużyciagwoździarki.Innympowodem,dlaktórego
wartopoznaćpodstawowesystemy,jestfakt,żedajetomożliwośćbudowania
nowychnarzędzi.Jesttobardzoważne,ponieważzawszeistniejezapotrze-
bowanienatwórcównarzędzi,nawetjeślitoużytkownikówjestowielewię-
cej.Poznaniebudowykomputeranatyle,byzachowanieprogramuniebyło
tajemnicą,pozwalanapisanielepszegokodu.
xxviiiWprowadzenie