in English suomeksi Harjoitukset

Tietokoneen toiminta, LH 6

  1. Java ohjelmia (tavukoodia) voidaan suorittaa (ainakin) neljällä eri tavalla: tulkitsemalla, tavallisella käännöksellä, Just-In-time -käännöksellä tai suoraan Java-suorittimella.
    1. Anna esimerkkejä tilanteesta, jolloin tulkitseminen olisi parempi kuin muut vaihtoehdot. Perustele, miksi muut tavat olisivat huonompia.
    2. Anna vastaavat esimerkit ja perustelut tilanteista, jolloin muut e.m. vaihtoehdoista olisivat parhaita vaihtoehtoja.
    3. Mikä olisi paras vaihtoehto (Java) ohjelmoinnin harjoitustyön suorittamiseen? Miksi?
    4. Mitä prosesseja järjestelmässä tarvitaan ohjelman suoritushetkellä, jos Java ohjelmaasi MyProg suoritetaan 1) tulkitsemalla, 2) tavallisella käännöksellä, 3) Just-In-Time -käännöksellä tai 4) suoraan Java-suorittimella?
    5. Milloin käyttäisit C#'ia Javan asemesta? Mitä eroja/yhtäläisyyksiä C#'lla ja Javalla on?
    6. Minkälainen ohjelmointikieli on Scala? Mitä tekemistä sillä on Javan kanssa?

  2.  
  3. Java virtuaalikone. Tee seuraavat oletukset. X, Y ja Z ovat paikallisia muuttujia numero 3, 4 ja 5. Tbl osoittaa 20 alkioiseen taulukkoon ja se (Tbl) on talletettu paikalliseen muuttujaan numero 6.
    1. Anna konekäskyt, joilla X:n arvoa kasvatetaan 5:llä.
    2. Anna konekäskyt, joilla X:n arvoksi tulee Y+Z
    3. Anna konekäskyt, joilla Y:n arvoksi tulee Tbl[3]

  4.  
  5. Mitä ohjelma mystery.k91 tekee? Miten se tekee sen? Entä ohjelma mystery3.k91? Miten se tekee sen?
    Mihin tällaista ohjelmointitapaa voisi hyödyntää? Mitä ongelmia tällaisessa ohjelmointitavassa on?

  6.  
  7. [1 htp] Vastaa kurssikyselyyn.
    Vastaa kurssikyselyn kohdassa 14 ("Miten kurssia voisi kehittää?") myös allaoleviin lisäkysymyksiin. Merkitse vastaukseesi kyseisten lisäkysymyksen kohdat (a, b, ...). Ota kopiot vastauksestasi mukaan opintopiiri- ja ryhmätapaamiseesi.
    1. Montako tuntia olet käyttänyt aikaa tähän kurssiin tähän asti yhteensä?
    2. Montako tuntia olet käyttänyt aikaa tähän kurssiin tähän asti verkkoluentojen seuraamiseen?
    3. Montako tuntia olet käyttänyt aikaa tähän kurssiin tähän asti harjoitustehtäviin?
    4. Montako tuntia olet käyttänyt aikaa tähän kurssiin tähän asti projekteihin?
    5. Montako tuntia olet käyttänyt aikaa tähän kurssiin tähän asti Titokoneeseen ja TitoTraineriin?
    6. Kuinka suureen osaan verkkoluennoista kävit läpi? (100%, 90%, ...)
    7. Oliko aikataulu nopea/sopiva/hidas?
    8. Käytitkö englanninkielisiä oppikirjoja (Stallings, Tanenbaum)? Kuinka paljon?
    9. Koitko aloitus- ja yhteenvetoluentojen verkkoon tallentamisen hyödylliseksi?
    10. Oliko harjoitustehtäviä liikaa/liian vähän?
    11. Mitä mieltä olit TitoTrainer tehtävistä? Miten suuren osan (%) tehtävistä teit?
    12. Onko kurssin pisteytys mielestäsi sopiva? Mikä pistejako olisi parempi?
    13. Miten kurssia voisi mielestäsi kehittää?

    Voit myös antaa kommentteja ylimääräisessä projektissa 2.

  8.  
  9. Tee tason E TitoTrainer tehtävät e-300, e-320 ja e-350.

Teemu Kerola