Demotehtävien tekeminen ja suora palauttaminen IDEstä

1. Kokeilu: Palauttaminen suoraan IDE:stä

TIDE = TIM IDE

Kevään 2024 sovellusprojektissa on kehitetty palvelua, jossa tehtäviä voisi palauttaa suoraan IDE:tä. Mielelläni toivoisin että kokeilisitte tätä. Jatkossa esim Ohj1 ja Ohj2 tehtäviäkin tultanee palauttamaan osin tällä tavalla. Siksi testausapua ja palaute ryhmälle olisi tervetullutta.

Intel-pohjaisilla Macillä hieman hidas.

Jos asennuksessa/käytössä ongelmia, pistä postia: .

TIDE:n tarkoituksena ei ole korvata TIMiä, vaan kannustaa käyttämään enemmän Eclipseä/IntelliJ Ideaa. Tehtävä pitää lukea joka tapauksessa TIMistä ja sitten katsoa tulokset lopulta TIMistä.

2. Asennus

  1. Hae tide-sovellus omalle käyttöjärjestelmällesi ja pura paketissa oleva ohjelma johonkin paikkaan, joka sinulla on polussa. (Windowsia varten katso miten laitoit hakemeiston polkuun JavaFX:n asennuksessa)
    Tarvittaessa katso TIDEn tarkemmat ohjeet

    • polut näet kirjoittamalla komentoriviltä (Widowsissa Git Bash):

      echo $PATH

      tai rivitettynä:

      echo $PATH | tr : "\n"

      Esimerkiksi /usr/local/bin on hyvä paikka. Windowsiin suosittelisin tekemään C:\bin joka näkyy GitBashissa /c/bin ja laittamaan sen polkuun.

  2. Kirjaudu Tidellä TIMiin antamalla komentorivillä (Windowsissa Git Bash):

    tide login

    Tämän voit joutua toistamaan 10 päivän välein tai jos kirjaudut itse ulos.

    Jos myöhemmin tulee virheilmoitus:

     Error: Could not complete API call /ide/ideCourses
     invalid_token
     The access token provided is expired, revoked, malformed, or invalid for other reasons.

    niin silloin tide login pitää tehdä uudelleen.

  3. Avaa käytämästä IDE ja konfiguroi se käyttämään TIDEä valitun IDEn ohjeiden mukaisesti

  4. Tehdään pikanäppäin tehtävän palautukselle valitun IDEn ohjeiden mukaisesti:

IntelliJ IDEA

# maclisa

Eclipse

# kaytto

3. Käyttö

  1. Siirry komentorivillä hakemistoon, jossa haluat tehdä demoja (esim kurssit/ohj2/demot). Myös demo 2 jne. voit aikanaan siirtyä samaan hakemistoon.

  2. Hae tehtävät (vastaavasti aikanaan 2 jne) (huomaa että alempana on ohje skriptistä, joka hoitaa useamman vaiheen kerralla):

    tide task create kurssit/tie/ohj2/2024syksy/demot/Demo1 -a

    Nyt on syntynyt src/demo/d1-hakemisto, jossa on kunkin tehtävän Java-koodit

  3. Avaa valitsemasi IDE, esim Eclipse tai IDEA

  4. Kommentoi mahdolliset virhekohdat pois tehtävistä jota et vielä ole tekemässä.

    • tai Eclipsessä valitse ne Java-tiedostot, joita ET ole tekemässä ja sitten hiiren oikealla
      • Build Path/Exclude
      kääntäen sitten kun rupeat tekemään jotakin niin Java-tiedosto hiiren oikealla ja
      • Build Path/Include
    • tai IntelliJ:ssä valitse ne Java-tiedosto joita et ole vielä tekemässä ja sitten hiiren oikealla
      • Override File Type
      • rupea kirjoittamaan Plain text kunnes tuo tulee valittavaksi ja valitse
      kääntäen kun halut tehdä tehtävää, valiste Java-tiedosto hiiren oikealla ja
      • Revert File Type Override
  5. Tee tehtäviä ja palauta niitä yksi kerrallaan:

    • avaa ensin haluamasi tehtävän tiedosto
    • koodaaile tehtävää normaalisti
    • jätä --- Write your code below this line. --- ja vastaava lopetusrivi ehjäksi. Jos nuo löytyvät koodista, niin oma koodi niiden väliin.
    • muista kuitenkin lukea tehtävien vinkit yms huolella TIMistä tehtävän kohdalta.
  6. Palauta tehtävä:

    • tiedoston ollessa auki, paina Ctrl-W (tai minkä pikanäppäinen valitsitkaan)
      tai hiirellä sieltä mistä External Tools käynnistetään käyttämässäsi IDEssä
  7. Jos et saa IDE-palautusta toimimaan, voit palauttaa myös suoraan komentoriviltä, siirry ensin palautettavan tiedoston hakemistoon ja anna komento

    tide submit [tiedoston nimi]      # siis ilman hakasulkuja sen tiedoston nimi, jonka haluat palauttaa
  8. Vaikka IDE-palautus toimisi, ohjelmasta syntyvä dokumentointi pitää käydä katsomassa TIMissä, jotta saa täydet pisteet. Lisäksi monissa tehtävissä pitää itse antaa pisteet TIMissä.

  9. Kun menet TIMiin katsomaan vastauksia tai ajamaan testejä, kannattaa virkistää tehtäväsivu (F5), jotta TIDEssä palautetut vastaukset tulevat näkyviin. Yksittäisen tehtävän kohdalle on myös virkistyspainike, jolla sen tehtävän voi virkistää, jos TIDEn kautta palauttaa lisää tehtäviä.

  10. Kun haet TIDE-tehtäviä niihin tulee pohjaksi mahdollinen TIMissä aloittamasi vastaus. Jos teet tehtäviä välillä TIMissä ja haet tehtävät uudelleen, ei niillä oletuksena enää korvata IDEssä olevia tehtäviäsi. Jos haluat pakottaa korvaamana jonkin tehtävä Riderissä, voi tehdä sen komennolla tyyliin

    tide task create kurssit/tie/ohj2/2024syksy/demot/Demo1 -a -f

    -f (force) pakottaa ylikirjoittamaan mahdollisen aikaisemman tehtävän.

  11. Vastaa TIDE-kokeilun kyselyyn toimivuudesta

MUISTA että tehtävien selostukset pitää aina lukea TIMistä ja palautusten jälkeen TIMistä pitää tarkistaa, että pisteet ovat kunnossa ja mahdollisesti pitää ajaa dokumentit ja tutkia ne TIMissä.

Tehtävien nimiä on yritetty tehdä tehtävien numeroa vastaaviksi tyyliin:

  • Tauno1a
  • T6KertomaDoWhile
  • TB1Etusuku

Aina tuon nimen laittaminen ei kuitenkaan ole järkevää, esim tulevissa Pvm-luokissa se tehtävän numeron laittaminen luokkaan sotkisi luokin nimiä. Siksi monesti pitää tunnistaa tehtävää vastaava tiedosto sen nimen perusteella, mistä tehtävässä puhutaan.

FX-pohjaisissa ohjelmissa palauta kaikki tiedostot yksitellen, viimeisenä Main-tiedosto.

# haedemo

4. Valmis komento hoitamaan edeltä vaiheet 2-4

Seuraava ohje toimii GitBash, Mac ja Linux:

  1. Kirjoita seuraava koodi johonkin polussasi olevaan hakemistoon nimelle haedemo2 (vaihda alla cd ~/... tilalle oma hakemistosi windowsissa, esim cd /c/...

    #!/bin/bash
    cd ~/kurssit/ohj2/demot
    output=$(tide task create kurssit/tie/ohj2/2024syksy/demot/Demo$1 -a $2)
    if echo "$output" | grep -q "login"; then
     echo "Please login by tide login"
     exit 1 
    fi 
    echo "$output" 
  2. Anna haedemo2 hakemistossa komentorivillä komento, jolla annetaan suoritusoikeus tiedostolle

    chmod +x haedemo
  3. Kun haluat hakea tehtäviä esimerkiksi demoon 1, kirjoita missä vaan:

    haedemo2 1
  4. Tee tehtäviä kuten edellä kohdassa 7 eteenpäin.

  5. Jos haluat pakottaa korvaamaan tekemästi tehtävät TIMIssä olevilla pohjilla (mahdollisesti jo palauttamillasi), niin anna komennon perään vielä välilyönnillä erotettu -f

# tidekysely

5. Ajatuksia TIDE-palauttamisesta

Kirjoita alle mielipiteitä, ajatuksia ja kehitysehdotuksia TIDE-palauttamisesta.

# tidekommentit

These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.