Tervetuloa kurssille!
Nyt opettelemme ohjelmoimaan. Ja tulet huomaamaan, että mystillisen koodauksen salatieteen oppiminen onkin yllättävän helppoa ja hauskaa.
Koodaus on kivaa!
Joku tykkää web-sovellusten ja tietoturvatyökalujen askartelusta. Esimerkiksi Teo. Toiset tykkäävät tehdä pelejä. Kolmas pyörittelee dataa ja rakentaa tekoälymalleja. Neljäs kirjoittaa firmwarea huvipuistolaitteisiin, lentokoneisiin tai ydinvoimaloiden reaktoreihin. Viides tekee mobiilisovelluksia. Hauskaa koodailtavaa löytyy kaikille.
Koodaus on kehittävää
Vaikket päätyisikään koodaamaan työksesi, pelkästään jo harrastuksena ohjelmointi kehittää ongelmanratkaisutaitojasi ja luovuttasi.
Koodareille löytyy töitä
Kun osaat tehdä vaikkapa nettisivuja, on melko helppo löytää freelance töitä tai hakeutua töihin vaikkapa johonkin ohjelmistotaloon.
Kovat hakkerit koodaa.
Ennen kaikkea näin Hakatemian kontekstissa, koodin ymmärtäminen on tärkeää, jotta voit löytää koodista haavoittuvuuksia, sekä neuvoa asiakasta haavoittuvuuksien korjaamisessa. Kokeneen eettisen hakkerin tunnistaa siitä, ettei hän vain listaa asiakkaalle löytämiään haavoittuvuuksia, vaan osaa myös neuvoa, miten ne korjataan ja miten niiltä vältyttäisiin tulevaisuudessa.
Jonkun verran koodausta tarvitsee aina silloin tällöin myös itse tietoturvatestauksessa. Usein tarvitsee automatisoida jokin pikku juttu, johon ei löydy valmista työkalua. Python on tähän tarkoitukseen suosituin ohjelmointikieli ja muun muassa siksi tämä kurssi on tehty Pythonilla.
Miten tämä kurssi toimii
Jokaisessa moduulissa on tehtävä, joka tarkistetaan automaattisesti. Kun saat tehtävän tehtyä, tehtävän kohdalla oleva punainen pallo muuttuu vihreäksi ja pääset jatkamaan seuraavaan moduuliin.
Teet tehtävät selainpohjaisella VSCode -kehitysympäristöllä. Samaa kehitysympäristöä tulet todennäköisesti käyttämään itsekin, kun kokeilet oppimaasi omalla koneella. Voit halutessasi ladata sen vaikka heti täältä. Hakatemian tehtäviin et vielä tarvitse asennettua versiota, vaan pärjäät hyvin selainpohjaisella editorilla.
Miten tehtäviä ratkotaan
Sinulla on yleensä valmiina Python-tiedosto nimeltä “app.py” ja tehtävä on muokata koodi tietynlaiseksi. Älä unohda tallentaa tiedostoa, kun olet valmis (Ctrl + S / Command + S).
Voit kokeilla koodiasi itse klikkaamalla oikeassa yläkulmassa olevaa "Play" nappia (kolmiota).
Kun koodi lähtee ajoon, editorin alapuolelle ilmestyy terminaali, jossa koodin tuloste näkyy. Kun olet tyytyväinen, että koodi toimii oikein, pallonkin pitäisi muuttua vihreäksi tehtävässä.
Ensimmäinen tehtäväsi
Tehtävänä on muuttaa annettu ohjelma niin, että se tulostaa englanninkielisen "Hello, world!" sijasta kotimaisen "Hei, maailma!".
Ohjelma näyttää tältä.
print("Hello, world!")
Ei näytä kauhean peloittavalta vai mitä? Kyseessä on kuitenkin täysin toimiva ohjelma, kokeile ajaa se ("Play" nappula oikeassa yläkulmassa).
Puretaan tämä ensimmäinen ohjelma, koska tässä on jo tärkeitä asioita.
- print on funktio. Funktiot ovat uudelleenkäytettävää koodia ja Pythonista löytyy oletuksena funktio nimeltä print, joka ottaa parametrina tekstiä, jonka se sitten tulostaa konsoliin. Funktio käyttäytyy eri tavalla riippuen sille annettavista parametreista.
- Pythonissa ja aika monessa muussakin ohjelmointikielessä, funktiokutsun syntaksi on funktion nimi ja sitten sulut, jonka sisällä on funktion parametrit. Jos funktio ei ota parametreja, annetaan tyhjät sulut. Puhutaan funktion kutsumisesta.
- Teksti on Pythonissa ja taas, käytännössä kaikissa muissakin ohjelmointikielissä, hipsujen tai lainausmerkkejen sisällä. Eli "Tekstiä" tai 'tekstiä'. Tällä tavalla Python-tulkki (joka suorittaa kirjoittamasi Python-koodin) osaa erottaa, mikä on koodia ja mikä on tekstiä.
Eli koodin sisältö on: Kutsu print nimistä funktiota, antaen sille yksi parametri, jonka tyyppi on tekstiä ja jonka arvo on "Hello, world!".
Sitten vain suorittamaan tehtävää! Ja ole tarkkana että teet tehtävän pilkuntarkasti, muuten automaattinen tarkastaja ei välttämättä hyväksy sitä.
Valmis ryhtymään eettiseksi hakkeriksi?
Aloita jo tänään.
Hakatemian jäsenenä saat rajoittamattoman pääsyn Hakatemian moduuleihin, harjoituksiin ja työkaluihin, sekä pääset discord-kanavalle jossa voit pyytää apua sekä ohjaajilta että muilta Hakatemian jäseniltä.