20. syyskuuta 2023

Teemana projektityöhön tutustuminen

Projektityöstä

Projektityöllä tässä yhteydessä tarkoitetaan sitä, että työt tallennetaan ns. repositoryyn, josta niiden työstämistä voi jatkaa jokainen, jolla on oikeus kyseiseen repositoryyn eli tiedostojen varastoon. Käytännössä siis projektiryhmään kuuluvat henkilöt.

Jos koodi on jaettu julkiseksi, on kaikilla pääsy ko. koodiin. Eli kyseessä on avoimen lähdekoodin projekti. ChatGPT vastasi 19.9.23 kysymykseen: "Kuinka suosittuja avoimet lähdekoodit ovat tällä hetkellä?" mm. luettelemalla esimerkkejä avoimen lähdekoodin ohjelmistoista. Luettelo oli seuraava:

Linux-käyttöjärjestelmä: Linux on yksi tunnetuimmista ja laajimmin käytetyistä avoimen lähdekoodin käyttöjärjestelmistä. Se on erityisen suosittu palvelin- ja sulautettujen järjestelmien alueilla.

Apache HTTP Server: Apache on suosittu avoimen lähdekoodin web-palvelinohjelmisto, jota käytetään monissa verkkopalveluissa ja verkkosivustoissa.

Mozilla Firefox: Firefox on avoimen lähdekoodin web-selain, joka kilpailee suosituimpien suljettujen selainten, kuten Chrome ja Safari, kanssa.

WordPress: WordPress on avoimen lähdekoodin sisällönhallintajärjestelmä (CMS), jota käytetään laajasti verkkosivustojen luomiseen ja hallintaan.

Python-ohjelmointikieli: Python on suosittu avoimen lähdekoodin ohjelmointikieli, jota käytetään monipuolisesti ohjelmistokehityksessä, tieteenalalla ja automaation parissa.

Git-versionhallinta: Git on avoimen lähdekoodin versionhallintajärjestelmä, joka on erittäin suosittu ohjelmistokehittäjien keskuudessa projektinhallinnassa ja yhteistyössä.

TensorFlow ja PyTorch: Nämä ovat avoimen lähdekoodin koneoppimis- ja tekoälykirjastoja, jotka ovat saavuttaneet suurta suosiota tutkimus- ja teollisuusympäristöissä.

OpenStreetMap: OpenStreetMap on avoimen lähdekoodin karttapalvelu, joka tarjoaa karttatietoja ja -palveluja ympäri maailmaa.

GitHub

"GitHub on vuonna 2008 avattu verkkosivusto, joka tarjoaa paikan Git-versionhallintaa käyttäville ohjelmakehitysprojekteille. Git itsessään on komentoriviohjelma ja GitHub tarjoaa käyttöliittymän sekä tallennuskapasiteettia Gitillä hallittuihin tietovarastoihin (engl. repository). GitHubin verkkosivujen kautta voi myös ladata lähdekoodia. Gitin lisäksi GitHub tarjoaa projekteille toimintoja kuten bugienseurannan, kehitystoiveet, tehtävien hallinnan ja wikin." Lähde: https://fi.wikipedia.org/wiki/GitHub

Micro:bit ja GitHub

MicroBit-työt voidaan tallentaa suoraan MakeCode-editorista GitHub:n repositoryyn, joka sisältää myös Git-versionhallinnan.

Versionhallinta tarkoittaa sitä, että samassa projektissa voidaan haarautua eli erilaistua sekä palata myös taaksepäin.

Taaksepäin saatetaan joutua palaamaan, mikäli huomataan, että viimeisimmät muutokset eivät toimikaan tai ne toimivat virheellisesti.

Tehtävä 1: Luo oma GitHub-repository
Ohessa vihjeellinen kuvasarja:






















Tehtävä 2: Tutki, onnistutko haarukoimaan (fork) PasiOpettajan koodin SytytaLedit

Tehtävä 3: Jos onnistut haarukoimaan edellisen koodin, muuta koodia siten, että ledit syttyvät ylhäältä alas ja vasemmalta oikealle.

Jos et onnistu haarukoimaan, tee itse oheinen koodi:


Tehtävä 4: Sovella edellistä koodia siten, että voit antaa moottorillesi "kaasua" tai vähentää sitä. Toisin sanoen palauta ensin moottorin kytkentä, mikäli se ei ole kunnossa. Ohjelmoi siten, että A-painiketta painelemalla ohjausvirta suurenee ja B-painikkeesta pienenee. Et tarvitse kuin yhden muuttujan (x ja y ovat muuttujia mallikoodissa). Etsi sopiva hyppy, minkä verran ohjausvirta muuttuu yhdestä näppäimen painamisesta. Yksi on varmasti tarpeettoman pieni askel. Tallenna tämä koodisi GitHubin repositoryyn.

Tehtävä 5: Tutki jonkun tai joidenkin ryhmässä olevien henkilöiden kanssa, miten toimia GitHubin kanssa. Esimerkiksi yksi tekee jonkin koodin ja toinen / toiset muuttavat sitä.

Kokeile itse lisää!

Peda.net käyttää vain välttämättömiä evästeitä istunnon ylläpitämiseen ja anonyymiin tekniseen tilastointiin. Peda.net ei koskaan käytä evästeitä markkinointiin tai kerää yksilöityjä tilastoja. Lisää tietoa evästeistä