Kiinnostavia kirjoja
Tässä joitain kiinnostavia tietojenkäsittelytieteen kirjoja, joista on hyötyä muutenkin kuin kursseja suoritettaessa.
Cormen, Leiserson, Rivest, Stein: Introduction to Algorithms
Cormen eli CLR eli CLRS on ollut algoritmien ja tietorakenteiden perusteos jo toistakymmentä vuotta. Se on paljon luettavampi kuin Knuth (paksu ja pedanttinen samaa aihetta käsittelevä klassinen kirjasarja, joka yleensä hankitaan kirjahyllyyn sen statusarvon vuoksi), mutta kattaa silti keskeisimmät algoritmit ja tietorakenteet sekä menetelmät niiden suunnitteluun ja analysointiin. CLRS:n perusteella pystyy halutessaan suorittamaan kurssit Tietorakenteet sekä Algoritmien suunnittelu ja analyysi, minkä lisäksi se palvelee niiden jälkeenkin käsikirjana ja hakuteoksena.
Jouni Siren
"Mitä ei Google tiedä, sitä ei ole olemassa." - vanha viidakon sananlasku
Kymmenen vuotta sitten juuri kukaan ei olisi uskonut, millainen tietomäärä on nyt kenen tahansa ulottuvilla puolessa minuutissa. Etenkin teknisillä aloilla Google löytää vastauksen melkein mihin tahansa yksittäiseen kysymykseen nopeammin ja helpommin kuin sen saisi muilta ihmisiltä kysymällä. Laajoihin asiakokonaisuuksiin perehtymiseen on parempiakin välineitä, mutta esimerkiksi erilaisista tietosanakirjoista, tietokannoista ja muista vastaavista palveluista Google löytää halutun artikkelin usein nopeammin kuin niiden omat hakumenetelmät.
Googlaus on toki taito, joka vaatii harjoittelua. Alkeellisin virhe on käyttää hakusanoja samaan tapaan kuin katsoisi tietosanakirjan hakemistosta. Paljon pidemmälle pääsee kun miettii, mitkä sanat - ja missä muodoissa - todennäköisesti esiintyvät haluttua aihetta käsittelevissä teksteissä, mutta eivät muissa teksteissä kuin korkeintaan sattumalta. (Tällaisia kysymyksiä muuten käsitellään monilla koneoppimista, kieliteknologiaa, data-analyysia ja älykkäitä järjestelmiä sivuavilla kursseilla.)
Jouni Siren
Schneier: Secrets & Lies sekä Schneier: Beyond Fear
Jos tietoturva kiinnostaa, Bruce Schneierin teokset ovat ehdotonta peruslukemistoa. Niiden perussanoma on kaiken kyseenalaistaminen. Ei riitä, että jokin turvallisuusratkaisu näyttää hienolta ja kuulostaa vakuuttavalta. Ratkaisua arvioitaessa tulee miettiä, mitä sen käyttäminen maksaa, mitä se oikeasti tekee (sen sijaan, mitä sen on tarkoitus tehdä), millaisilta uhkakuvilta se suojaa, kuinka todennäköisiä ja haitallisia nämä uhkakuvat ovat, millaisia keinoja ratkaisun kiertämiseen on tai kuka joutuu maksamaan tai kerää hyödyn mistäkin. Schneierin ajatuksiin tutustuminen auttaa huomaamaan, että tietoturva on paljon muutakin kuin tekniikkaa: politiikkaa, taloutta, arvoja...
Jouni Siren
Fred Brooks: The Mythical Man-Month: Essays on Software Engineering
Brooks kertoo mukaansatempaavalla tavalla, miksi lisätyövoiman änkeäminen valmiiksi myöhässä olevaan softaprojektiin vain saa sen myöhästymään enemmän. Kirjan ensimmäinen painos ilmestyi jo yli 30 vuotta sitten, mutta sisältö on pysynyt ajankohtaisena. Sitä ei monesta alan kirjasta voi sanoa.
Sini Ruohomaa
Tom DeMarco, Timothy Lister: Peopleware — Productive Projects and Teams
Peopleware jatkaa Mythical Man-Monthin projektinhallinnallisella linjalla, mutta keskittyy enemmän aivotyötä tekevien ihmisten yleiseen johtamiseen. Tämänkin kirjan viestinä on, että monikaan projektin ongelma ei lopulta liity teknologiaan, vaan ihmisiin. Ryhmien hallinta ja ryhmäytyminen saavat ansaitusti palstatilaa. Kirjaa ryydittävät opettavaiset esimerkkitarinat.
Sini Ruohomaa
Douglas Hofstadter: Gödel, Escher, Bach: an Eternal Golden Braid
Gödel, Escher, Bach eli GEB vie lukijan pää edellä matematiikan, älykkyyden ja itseenviittausten taikamaailmaan. Kirjaa on melkoisesti, mutta sen lukemisen jälkeen onkin sitten niin fiksu olo että oksat pois. Matkan varrella tutuksi tulevat Gödelin "oho, matematiikka on rikki" -todistukset, Escherin aivonreväyttävät piirrokset ja Bachin sävellysten sisäiset kieroudet.
Populisti Ruohomaa