-*- coding:utf-8 ; mode:org -*-

Käyttöjärjestelmät, kevät 2024.

Aloitettiin maaliskuussa jälleen copy-pastella edellisen vuoden 2023
toteumasta.

Tämä on suunnitelma, joka muuttuu ajankäytön ja muun
perusteella. Pohjana on luentojen eteneminen edellisenä vuonna. Ei
mene pahasti vikaan, jos menee samalla lailla. Tosin keväällä 2023 jo
rikottiin kaavaa ja uudistuttiin tavalla, joka ennakoi lisää uutta
tälle vuodelle.

* Pelisäännöt videonauhoituksista

- Soveltuvin osin yritetään saada yhteisiä oppimistilaisuuksia
  nauhalle.

- Oletamme, että tallenteet katsotaan ja sisäistetään etenkin, jos ei
  päässyt paikalle.

- Poikkeus edelliseen voi olla, jos et näe tai kuule: etsimme silloin
  yksilölliset menettelyt, joilla voit seurata kurssia! (Sama poikkeus
  pätee muihinkin asioihin, joissa tyypilliselle opiskelijalle
  suunnattu tehtävä ei tosiasiallisesti ole mahdollinen.)

- Viime keväänä 2023 ryhdyttiin kokeilemaan rohkeasti tällaista:

  "Luennot" olivatkin videotuotantotilaisuuksia, joissa on
  studioyleisö - eli siis opiskelijat, jotka pääsivät kulloinkin
  paikalle osallistumaan.

  Rakennettiin yhdessä studioyleisön kanssa aihepiirivideoita, joissa
  hyödynnettiin läsnävuorovaikutusta asian selkeyttämiseksi.

  Aihepiirit ja käsittely tapahtuivat linjassa kurssin
  osaamistavoitteiden, harjoitusten ja materiaalien kanssa. Kuitenkin
  niin, että studioyleisön osallistuminen, keskinäinen keskustelu ja
  kontribuutio tuotantoon mahdollistui.

  Kertyneet aihepiirivideot ovat nyt käytettävissä kunkin aiheen
  opiskeluun.

- Nyt videoita on jo paljon, ja oletus on, että niitä hyödynnetään
  opiskelussa. Keväällä 2024 kokoonnutaan yhteen keskustelemaan ja
  syventämään ymmärrystä materiaalin ja etukäteen katsottavaksi
  tarkoitettujen aihepiirivideoiden pohjalta.

  Yhteisissä tilaisuuksissa päästään toivottavasti lähinnä
  rytmittämään ja ryhmävalmentamaan tekemistä, joka tapahtuu
  suurimmalta osin tapaamisten välillä.

  Tuotetaan tarvittaessa uusia, parempia versioita aiemmista
  aihepiirivideoista, tai täsmentäviä lisäosia niihin. Tavoitteena on
  parantaa materiaalipankin laatua inkrementaalisti yhdessä, samalla
  kun opitaan käsitellyt asiat syvemmin kuin mikään vuosikurssi tähän
  asti on voinut tehdä.

  Samat pelisäännöt ja tavoitteet ovat voimassa myös uusia tallenteita
  tehtäessä.

- Uusien videoiden julkaisussa on viivettä, joka johtuu muista
  työtehtävistä. Parhaimmillaan viive voi olla 1-2 arkipäivää, mutta
  esimerkiksi loppuviikon videot saattavat tulla saataville vasta
  seuraavalla viikolla.

- Emme jälkikäteen sensuroi, joten huomaa: Kun puhut, äänesi tulee
  julkaistavaan videoon - mahdollisesti hiljaisena, koska mikrofoni on
  kiinni luennoitsijan kauluksessa. Kysymykset ja kommentit yritämme
  muistaa toistaa mikrofoniin kotikatsojia varten ja kirjata pääkohdat
  muistioon tekstinä.

- Joskus vielä tekniikka pettää, jolloin itketään hetki ja eletään
  ilman kyseistä nauhoitetta. Aihepiirivideot voidaan aina tehdä
  seuraavalla kerralla uudelleen kertauksena ja oppimisen testaamisena
  :).

- Kun katsot jälkikäteen, kokeile katsoa nopeuttuna! (Mutta jos siitä
  aiheutuu pidemmän päälle huonovointisuutta tai muita oireita, lopeta
  kokeilu tai aloita siedätysharjoittelu 110% nopeudesta, sitten 120%
  jne.)

* Vuoden 2024 kulku tähän saakka:

** Luento 1:  (ke 20.3.2024) Aloitus, yleisinfo ja suoritusvaatimukset

Tästä voidaan lukea, mitä ensimmäisellä luennolla oikein tapahtui,
kunhan se on tapahtunut klo 14:15-16:00 keskiviikkona 20.3.2024.

Runkona on copy-paste viime vuodelta.

Luennon pitävät yhdessä vastuuopettaja Paavo Nieminen ja opintojakson
toinen opettaja Jonne Itkonen.

*** Tämän päivän tavoite
    
Aloitusluennon päätavoite on kuvailla kurssin pakolliset
suoritusvaatimukset, aikataulut, deadlinet ja muu byrokraattinen
perusinfo, jotta niitä ei tarvitse sen jälkeen etsiskellä. Jotakin
luvataan ja jotakin jätetään eksplisiittisesti lupaamatta
toistaiseksi. Tästä kohtaa muistiota ja tallennetta voidaan tarkistaa,
miten nämä kevään 2024 toteutuksen osalta menivätkään.

*** Pakolliset suoritusvaatimukset, arvosanat ja päivämäärät

Käydään läpi byrokratia ennen kuin mitään muuta:

- Käydään läpi määrälliset vaatimukset, jotka ovat jo näkyvillä myös
  nettisivulla: Pakolliset demot ja tentti.

  Demojen deadlinet: noin yksi viikossa, dedikset tulevat näkyviin
  Moodlessa.

- Vuonna 2024 *varaamme oikeuden* antaa kurssin aikana muutamia
  lisätehtäviä, joista saa tenttiin lisäpisteen, jos
  tekee. Tarkennetaan speksiä, jos/kun näitä mahdollisesti
  tulee. Kiinnitetään jo raamit: mahdollisuuksia tulee 0-3
  tenttipisteen arvosta, jos ollenkaan. Oikeus on varattu ennenkin,
  mutta ajan puutteen vuoksi ei ole ehditty hyödyntää.

Tarkentavia kysymyksiä aloitusluennolla 2024:

- Tuleeko pääsiäisviikolla uutta demoa? Ei tule.

- Vaikuttaako demojen myöhästyminen ohjeellisesta aikataulusta
  arvosanaan? Ei vaikuta.

*** Ryhmäkuva

Otetaan halukkaista opiskelijoista ryhmäkuva kurssin nettisivulle. Ei
huolta: Kuvan ottamisesta ilmoitetaan etukäteen, joten ehtii hyvin
piiloutua pöydän alle, jos haluaa.

Näin tehtiin.

*** Tauko
Sitten tauko 10 minuuttia, klo 15:20 asti.

Tauolla tulee aina juttuja mieleen.. Tällanen tietenkin:

- Tekniikan opiskelijoille ITKA203 käy päikseen HOPSissa olevan
  ITKA2030:n kanssa. Se ehditään inkarnoimaan vasta ensi vuonna.

*** Vapaaehtoinen tarjonta: Sisussa olevat ryhmät ja ajankohdat

Käydään läpi, mitä tarkoittaa sisussa näkyvät tapahtumakuvaukset
"Luento", "Open labrapäivä", "Laboratoriotyöt" ja "International
students":

- **Luento:** Vähimmäismäärä varattuja aikoja ja saleja, jotka
  alkutilanteessa näkyvät kaikkien ilmoittautuneiden
  kalenterissa. Näissä rytmitetään ja tuetaan tekemistä, ja näihin
  tullaan sitten, kun on tutustuttu meneillään olevien aiheiden
  materiaaliin ja aihepiirivideoihin ennakolta. Näissä hyödynnetään
  sitä, että ollaan yhdessä - pyritään siihen, että yksin hiljaa
  istuminen ei ole mahdollinen tapa viettää näitä tilaisuuksia.

  **Varaamme oikeuden seuraaviin muutoksiin:** Poistetaan osa
  varauksista, jos vaikuttaa, että selvitään tiiviimmällä yhteisellä
  käsittelyllä. Vaihdetaan varattuja tiloja pienemmäksi, jos se
  vaikuttaa tarkoituksenmukaiselta. Kolme ihmistä auditoriossa on
  tuntunut joskus vähän oudohkolta. Mahdollisesti pidetään osa
  tilaisuuksista täysin etämuodossa. Tehdään näitä muutoksia sitten,
  kun se näyttää olevan tilanteeseen nähden tarpeen tai kun halutaan
  kokeilla jotakin uutta pilottimielessä.

- **"Open labrapäivä"** noin viikoittain: Ajankohta, jolloin opettaja
  hengaa ilmoitetussa luentosalissa. Voidaan käsitellä tämän
  opintojakson asioita tai muuta, tai tehdä vaan hiljaa omia
  hommia. Alkuperäinen ajatus nimen takana oli "Opettajan labrapäivä"
  hellittelymuodossa, mutta myös tulkinta "Avoin labrapäivä" vastaa
  toiminnon tavoitetta.

  **Varaamme oikeuden seuraaviin muutoksiin:** Vaihdetaan
  mahdollisesti osa varauksista pelkästään etänä pidettäväksi, mikäli
  mikroluokissa paikalla oleva väkimäärä on lähellä nolla. Sillä
  säästyy tilakustannuksia ja mahdollistuu sekä opettajan että
  opiskelija etätyöskentlypäivä. Parhaimmillaan meillä on muutenkin
  molempia, sekä lähi että etä.

  Vaivihkaa pilotoidaan todennäköisesti uudelleen käynnistyvää
  Koodaamo-toimintaa, joka olisi vastine matematiikan Ratkomolle eli
  yhteisölliselle demotyöskentelytilanteelle.

- **"Laboratoriotyö"** huhtikuussa: Mahdollisuus tehdä demo 4
  ryhmätyönä paikan päällä. **Varaamme oikeuden seuraaviin muutoksiin,
  mutta emme myöskään lupaa toteuttaa niitä:** Mahdollisesti jostakin
  ryhmätyöajankohdasta tehdään sellainen, että sen keskusteluosiot
  tallennetaan kertaamista varten ja niiden hyödyksi, jotka eivät
  päässeet osallistumaan. Mahdollisesti jokin ryhmätyöaika toteutetaan
  Zoomia ja Breakout-huoneita käyttäen, jotta pidemmän matkan päässä
  asuvilla olisi tasavertainen mahdollisuus hyödyntää
  vertaiskeskustelua ajantasaisesti. **Ilmoitamme mahdollisista
  muutoksista** etukäteen, jotta voit vaihtaa ryhmävalintasi
  tarvittaessa itselle sopivammaksi. Lähes vuosi sitten tehdyt
  varaukset ovat aivottomasti tehty copy-paste siitä, miten asia on
  tähän asti aina tehty eli mikroluokissa 2 tunnin sloteissa.

  TODO: Varmistettava myös keväällä 2024, että Sisu-ryhmät toimivat
  niin, että ryhmävalintaa voisi niissä vielä vaihtaa... ehkä onnistuu
  vaikka kurssi on jo käynnissä.. ilmoittelemme, miten tässäkin
  käy. Itsenäisesti voi tehdä samansisältöisen harjoituksen, jos ei
  ole helppoa päästä paikalle.  Itsenäisesti tehden menee
  todennäköisesti useampi tunti.

  Myös paikan päällä tehtävä muoto edellyttää materiaalin omatoimista
  opiskelua ennen ja jälkeen live-kohtaamisen. Suoritusmerkintä
  demosta siis kuitenkin mahdollinen lyhyen läsnäolotuokion
  perusteella.

- **International students** -ryhmä: Oletus on, että tämä perutaan,
  mikäli tarvitsijoita ei ole. Missään ennakkotiedoissa ei ole luvattu
  englanninkielistä toteutusta tai suoritusmahdollisuutta
  keväälle 2024. Paavon vanhana vammana speksi kulkee mukana... never
  say never - ehkä jossain vaiheessa saatetaan taas tarvita
  kandikursseja englanniksi syystä tai toisesta...

Luentotallenteella saattaa olla tarkemmat selostukset näiden
tilaisuuksien roolista. Jos et kuule ja jotakin jäi ylläolevasta
mietityttämään, pyydä toimittamaan tarkempi transkriptio tai kysy
opettajalta tarvittavat tarkennukset jälkikäteen. Pätee muuten
kaikkiin aiheisiin, jotka epähuomiossa ovat saavutettavissa vain joko
kuulo- tai näköaistilla. Korjataan tilanne tarvittaessa.

Kysymyksiä ja toivottavasti vastauksia tähän astisesta:

- Onko Moodlessa näkyvissä olevat demot 1-7 jo miten ajankohtaisia?

  Tämä oli hyvä kysymys ja toimiva aasinsilta seuraavaan aiheeseen,
  jossa käytiin läpi demojen vedosten tilanne ja myös kaikki muut
  materiaalilinkit.

Siinäpä yleisökysymyksineen tärkeimmät byrokratiasta, vaatimuksista ja
aikatauluista. Päästäänkö sitten jo byrokratiapullasta kivempiin
asioihin?

Lähestyttiin, mutta varsinainen leivonta pääsee alkamaan vasta
ylihuomenna perjantaina. Aasinsillasta päästiin tsekkaamaan
kurssisivun linkit seuraavan osion mukaisesti.

*** Mistä kurssiin liittyvät asiat löytyvät

- Käytiin läpi, mistä kaikki kurssiin liittyvä löytyy (kaikkiin löytyy
  vähintäänkin aloituslinkki kurssin nettisivulta):

  + Kolme videokansiota: Yksi tämän vuoden luentotaltioinneille.
    Toinen erillisille, suoritusvuodesta riippumattomille
    opastusvideoille. Kolmas on viime vuoden lineaarinen luentosarja.

  + Näkymä tämän muistion HTML-tulosteeseen yliopiston
    gitlab-palvelussa. Aina viimeisin versio, jonka opettaja on
    muistanut työntää gitlabiin.

  + Luentomoniste

  + Demot ja niiden palautus Moodlen kautta:

    Demot on julkaistu toistaiseksi HTML-muodossa (linkki kurssin
    etusivulta). Toissa vuonna opiskelija teki CSS-tyylin; tällaista
    aktiivisuutta arvostamme!

    Ensimmäisen demon saa aloittaa sitten, kun luennolla on käyty läpi
    siihen liittyvät varoitukset.

    Palautuslaatikko avataan aikanaan, kun olemme testanneet sen
    toimivuuden. Asiat tiedotetaan joko yhteisissä tilaisuuksissa tai
    Moodlen Uutiset-viestissä. Ei tarvitse eikä kannata "pollata"
    muutosten syntymistä ennen tiedotuksia. Hoputtaminen ei nopeuta;
    asiat tapahtuvat maksimivauhdilla rajoitteiden puitteissa.

  + Moodle-ympäristössä on demopalautukset, vertaistukifoorumi ja
    pelkästään kurssilaisten tietoon tarkoitetut salaisuudet, kuten
    tallenteiden polkuavaimet, Zoom-huone ja vastaavat. **Älä vuoda
    näitä ulkopuolisille**.

  + Materiaalin reaaliaikainen tilanne löytyy Gitlabista. Päivitysten
    julkaisu useimmiten 1-2 tunnin kuluttua luennon
    päättymisestä. Gitlabista ei tarvitse välittää muiden kuin niiden,
    jotka haluavat kehittää materiaalia. Vedokset riittävät
    opiskeluun.

  + Aikataulut Sisussa - opetus pyörii niiden mukaisesti. Muutokset
    ovat mahdollisia, mutta Sisu-kalenterin pitäisi teoriassa pysyä
    ajan tasalla niistä.

  + Tenttikokoelma takavuosilta; sitä saa hyödyntää, ja tullaan
    käymään yhdessäkin läpi opintojakson mittaan.

  + Joitakin aiempien vuosien palautteita lähinnä tiedoksi ja merkiksi
    siitä, että palautteet luetaan ja niitä hyödynnetään erityisesti
    silloin, jos on kokeiltu jotakin aiemmasta merkittävästi poikkeavaa.

** Luento 2:  (pe 22.3.2024) Luentomuoto, demo-ohjeistus, varoitukset(!)
*** Päivän päätavoitteet:

- Jokainen pystyy aloittamaan demo 1:n tekemisen heti tämän luennon
  sisäistettyään.

- Sitä varten: käydään läpi varoitukset, joita demojen tekemiseen
  liittyy. Näytetään vähän, miltä homman pitäisi näyttää käytännössä,
  kun itse tekee.

- Jokainen tietää, mitä teoriapuolelta pitäisi lukea ja katsoa ennen
  kuin seuraavan kerran nähdään yhdessä.

- Eli toisin sanoen: Tämän opintojakson opiskelu on kaikilla 100%
  käynnissä!

Tehdään tänään parit aihepiirivideot, joita viime vuonna ei uskallettu
vielä toisella luennolla ryhtyä tekemään. Tästä alkaen sitten
kirjallisen lukemiston ja aihepiirivideoiden avulla mennään asioita
läpi juurta jaksaen, käytännön esimerkkejä näyttäen ja auki
selittäen. Tavoite on, että viimeistään demojen 1 ja 2 jälkeen
opiskelijat uskaltautuvat myös itse kokeilemaan samoja juttuja
omatoimisesti. *Turvallisuus- ja mukavuussyistä* alussa käsiteltävät
varoitukset on syytä ensin sisäistää! Pidemmän päälle *tutkiva asenne
ja utelias kokeileminen* on tavoitetilanne koko
yliopistokoulutuksessa, jota tässäkin nyt täten harjoitetaan.

*** Infoa keväälle 2024

Vakiokohta, mutta tällä kertaa melko tyhjä: Ei mitään uutta muutosta
tai yllätystä tiedotettavana opintojakson toissapäivänä tapahtuneen
alun jälkeen.

Ehkä kannattaa alussa vielä muistuttaa, että tämän luennon ja
lounastauon jälkeen on ensimmäinen Open labrapäivä. Niitä tulee
myöhemmin lisää opettajien kevätkalenterin mahdollistamiin lokeroihin.

*** Tutustumista

- Esittelyt: opettajat (ehtivät tulla tutummiksi kurssin mittaan),
  opiskelijat, opiskelijoiden pääaineet

- Kartoitetaan kädennosto-otannalla seuraavat toisen luentopäivän
  osanottajista:

  + Opiskelijoiden pääaineet:

    Tietotekniikka (LuK/FM): suurin osa

    Ohjelmisto- ja tietoliikennetekniikka (TkK/DI): toiseksi suurin osa

    Tietojärjestelmätiede: pari löytyy

    Ketä muita on: koulutusteknologia, matematiikka,
    kyberturvallisuus, fysiikka
  
Pidemmän kaaren tähtäyspisteet:

  + Esimerkiksi millaisiin käytännön asioihin tämä kurssi on
    ensimmäinen askel?

  Seuraisi yksi perinteinen koreografia ryhmäkuvatiedoston
  kanssa. Vuosien varrella tämä on mokattu ainakin seuraavin erilaisin
  tavoin:

  + Mikrofoni ei ollut päällä, joten tallenne oli aika turhaa käsien
    ja poninhännän heilumista.

  + Opettajan henkilökohtainen kuvagalleria edellisen kesän
    festarikuvineen luentotallenteelle - liikaa hikeä ja paljasta
    pintaa, joten joutui sensurointipuuhiin jälkikäteen.

  Katsotaan, miten tänä vuonna käy.

*** Kurssin kustomointi ja käynnistäminen

Kustomoidaan kurssin nettisivu tämän kevään kasvoilla... koreografia
on suoraan osaamistavoitteiden äärellä: laitteet, tietokoneet,
sovellukset, pääteyhteys, kuori, komentojono eli skripti.

*** Tauko 10 minuuttia

Jatketaan tasan 11:30.
    
*** Sittenpä valmistaudutaan aihepiirivideon tekemiseen

Mikrofonitestit tehty? Opella vettä lasissa? Käsis mietittynä?
Sopivat välilehdet auki ja ruudulla front slide?

Studioyleisö hereillä ja valmiina osallistumaan, spottaamaan virheitä
ja kysymään tarkennuksia?

Sitten vaan kerralla purkkiin...

*** Aihepiiri: Pääteyhteyden ottaminen PuTTYllä ja PuTTYn asetukset

Pääteyhteys ja siihen liittyviä asioita:

- Luentomuoto ja opintojakson työkalut alusta alkaen ja esimerkit
  näyttäen: pääteyhteys, bash-kuori ja tekstipohjaiset
  työkaluohjelmat.

- Nykyinen suositus **voisi** olla oman käyttöjärjestelmän mukana
  tulevan pääteyhteysohjelman käyttely. Tästä on jo tehty
  aihepiirivideo aiemmin. Teknisiä ongelmia ja järjestelmäeroja
  todennäköisesti havaitaan, ja päämääränä on yhdessä setviä ne
  kuntoon vertaistukikanavan kautta mahdollisimman pian!

  Kokemus muutamalta viime vuodelta (2022-2023) on kuitenkin, että
  Windows-käyttäjillä **saattaa kuitenkin** olla mukavampaa
  PuTTY-pääteyhteysohjelman kanssa kuin Powershellillä.

- Merkistön täsmentäminen, riippumatta siitä, millä välineellä otetaan
  yhteys. Esimerkiksi PuTTYn merkistöasetus UTF-8:ksi ja asetusten
  tallentaminen.

- HUOM: Ihan liian moni Windowsia käyttävä opiskelija tuskailee tämän
  asian kanssa ihan turhaan vielä viikkojen päästä. Poista tuska ja
  tee se heti. Älä mene tuskaan takaisin. Tässä ohjeet siihen.

- Yllättäviä ongelmia erilaisten pääteohjelmien kanssa voi tulla.

  Jos pääset olemaan mukana esimerkiksi aihetta käsittelevällä
  yliopiston opintojaksolla, käytettävissäsi on varmasti jokin
  vertaistukikanava, jossa voit kysyä apua kaikkiin ongelmiin
  esimerkiksi ääkkösiin tai mihinkään muuhunkaan liittyen!

*** Aihepiiri: Unix-käyttäjätunnusten aktivointi JYU:n opiskelijalle

- Tämä ohje koskee Jyväskylän yliopiston (JYU) opinto-oikeuden
  saaneita. Meillä on täällä isolla opintojaksolla näppärää, kun
  kaikki tekevät harjoituksia samalla etäkoneella.

  Jos sinulla ei ole vielä paikka auringon alla eli Jyväskylän
  yliopistossa, voit kokeilla Unix-juttuja vaikka omalla
  tietokoneellasi, jos laitat siihen Linuxin tai Windowsin päällä
  toimivan WSL:n. Macillä voit käynnistää omalla koneellasi Päätteen.

- Reunahuomautus: JYU:ssa on tarjolla ainakin vuonna 2024 opintojakso
  Web-julkaiseminen, jossa harjoitellaan alustavasti etäpalvelinten
  käyttöä. Tässä ihan alussa voi olla osittain päällekkäistä sisältöä,
  koska osa muiden aineiden kuin tietotekniikan opiskelijoista ei ole
  välttämättä käynyt sitä. Asioita on hyvä myös kerrata, ja nopeasti
  tässä lähdetään myös menemään syvemmälle.

- UNIX-käyttäjätunnuksen aktivointi https://sso.jyu.fi/ -palvelussa
  (ope vois varovasti näyttää, muistaen, että etusivu näyttää oman
  henkilöturvatunnuksen... eli note-to-self: tee toisella näytöllä
  tuo eka vaihe ja sitten vasta vedä videoituvaan näyttöön!)

- Käyttöoikeuksien aktivoitumisessa on kevään 2024 havaintojen
  perusteella viive, joka kestää joitakin kymmeniä minuutteja.

*** Aihepiiri: Demo 1 käyntiin - muutama varoituskin alkuun

- Miten lähdetään tekemään demoa 1: Alkuvaroitukset ja toisaalta
  rohkaisu.

- Demojen tekemisen saa aloittaa vasta, kun on sisäistänyt varoitukset!!

- HUOM: Älä ryntäile tehtäviä läpi nopean suorituksen perässä, vaan
  pyri sisäistämään - tee omia muistiinpanoja tärkeimmäksi kokemistasi
  asioista!

*** Ennakkotehtävät ennen seuraavaa luentoa:

Luettavaa:

- Luentomonisteen alkuosa eli esipuhe ja luvut 1-2. Jos tarvitset tai
  haluat niin myös pullantuoksuinen pehmojohdanto.

- Demo 1:n varoitukset ja ohjetekstit.

Tekemistä:

- Demo 1 työn alle.

Kun tapaamme seuraavan kerran, katsotaan, missä tilanteessa ollaan:
Viime vuonna aihepiirivideoita uskallettiin ryhtyä tekemään vähän
myöhemmässä vaiheessa, joten saattaa olla tarvetta tuottaa muutama
ihan uusi aihepiirivideo alkupuolen aiheista. Tai sitten tehdään
jotakin muuta tilanteeseen ja kevään kulkuun sopivaa sen pohjalta,
mitä lukupaketti ja demon tekeminen ovat siihen mennessä herättäneet
ja tuottaneet itse kunkin muistiinpanoihin! (Jos ei tullut sanottua
aiemmin, niin **tee muistiinpanoja** - se auttaa muistamista ja
oppimista!!)

Ahkerasti käyttämään loput viikoittaisesta 16 tunnin panoksesta tähän
5 opintopisteen opintojaksoon.

Muista kuitenkin myös lepo ja tyhjäkäynti! Se auttaa jaksamaan taas
toiminnan hetkinä.

Tässä välissä on lisäksi myös pääsiäistauko, jonka aikana ei ole
opetusta eikä oleteta tapahtuvan myöskään opiskelua!

** (Pääsiäistauko)

Tämän opintojakson osalta aktiivista aikaa laskettiin tässä välissä
noin yksi arkipäivä, eipä siinä paljonkaan asiat ehtineet edetä ...

** Luento 3:  (ke 3.4.2024) Luentomonistetta ja muuta materiaalia päin

*** Päivän ja viikon päätavoitteet:

Fokusoidaan tekemistä kertyneen materiaalipaletin kanssa:

- Tarkistetaan tilanne ensimmäisten kotitehtävien suhteen. Nythän oli
  heti periodin alussa pääsiäisviikko, joten voi olla, että pitää
  hakea käynnistämisen fiilistä vähän uudestaan.

- Kartoitetaan seuraavia aiheita. Tutuksi tulevat luentomoniste,
  reaalimaailman dokumentaatio ja omatoimisen kokeilemisen työkalusto.

- Täydennetään materiaalia tarpeelliselta vaikuttavilla lisäosilla.

- Inspirointia, tavoitepisteitä, motivointia ja "mindsettiä" 

*** Infoa keväälle 2024

Demotarkastukset alkaneet. Toistaiseksi ei tiedossa muutoksia
aikatauluihin tai paikkoihin. Open labrapäivä -tilaisuuksia tulee sitä
mukaa kun kalentereista löytyy tilaa niille; reaaliaikainen tilanne
Sisussa, ja ilmoitetaan näissä infohetkissä luennoilla sitten myös.

Tänään ei ole ehtinyt tapahtua mitään - pääsiäisviikko meni täysin
muiden asioiden parissa, kuten pitikin.

Tilannekatsausta kevään kurssin kulkuun:

- Opintojakso on kestänyt pääsiäistauko huomioiden 4 arkivuorokautta.

- Demo 1:n palautuslaatikkoon on tullut jo 73 palautusta. Ilmeisesti
  toimii. Pyritään avaamaan Demo 2:n palautuslaatikko ylihuomenna ja
  jatkossakin vähintään viikkorytmissä.

- Tehtävien julkaistuja versioita voi halutessaan tehdä eteenpäin
  vauhdikkaamminkin. Palautuslaatikot ja tarkastukset pääsääntönä
  viikkoittaisen tekemisen tahtiin.

- Ennen pääsiäistä oli jo ensimmäinen "Open labrapäivä". Siis
  mahdollisuus tulla kyseisen aikavälin sisällä joko Sisussa
  ilmoitettuun mikroluokkaan tai Moodlessa tiedotettuun
  Zoom-huoneeseen hengaamaan ja tarvittaessa
  kysymään. Lörpöttelyksikin meni välillä, mutta saatiin myös asioita
  eteenpäin. Lisää tulee, kun ehditään säätää.

- Vertaistukiryhmässä (eli Moodle-alueelta löytyvä
  keskusteluaktiviteetti) ehdittiin vaihtaa pari viestiä. Antaa mennä
  lisää vaan!

*** Oppimateriaalin pariin

Kerätään tilannetieto, mitä on, mistä löytyy, ja miten lähestytään:

- Luentomoniste: Esitellään aiemmin toteutetulla aihepiirivideolla,
  joka olisi tarkoitus katsoa, minkä jälkeen voidaan jutella aiheesta
  ja täsmentää tarvitaessa. Ehkä ei vielä 4 vuorokauden aikana ole
  ehditty aloittaa katsomaan? Nyt olisi hyvä aloittaa, niin päästään
  vauhtiin.

- Reaalimaailman dokumentaatio, jollaisen lukemistaitoon tämäkin
  kurssi koettaa valmentaa: Esitellään aiemmin toteutetulla
  aihepiirivideolla. Katsottaisiin, minkä jälkeen juteltaisiin ja
  täsmennettäisiin.

- Demotehtävät: Rullaavat nyt jo. Kukin demo esitellään aiemmin
  toteutetulla aihepiirivideolla. Katsottaisiin ensin niitä
  omatoimisesti, minkä jälkeen juteltaisiin ja täsmennettäisiin niiltä
  osin, mitä ohjeista ja aiemmalta aloitusvideolta ei vielä selviä.

- Vinkkejä demotehtäviin: Yritettäisiin tehdä demoja ensin
  alkuopastuksen mukaisesti. Sen jälkeen olisi hyvä katsoa aiemmilta
  vuosilta kertyneitä vinkkivideoita - niissä puututaan yleisiin
  väärinkäsityksiin.

  **Malta kokeilla itse ensin!** Oppiminen toimii paremmin niin, että
  teet ensin itse, mahdollisesti väärinkin, ja sen jälkeen korjaat
  käsitystä. Jos ainoastaan toistat jotakin, mitä joku toinen näyttää,
  se ei jää mieleen kovin pitkäksi aikaa, vaikka olisi miten
  täydellistä ja oikeaoppista! Toisaalta myöskään kyseenalaistamatta
  omia tottumuksia ja vertaamatta niitä muiden antamiin vinkkeihin, on
  riski jäädä paljon oppimatta myös.

  Muista kolme vaihetta, kaikki tärkeitä: käsityksen muodostaminen,
  kyseenalaistaminen ja asteittainen korjaaminen.

Tällainen on tiedossa:

- Yksi olennainen tarve on saada aihepiirivideot järkevästi
  järjestykseen ja sopivan kokoisiksi kokoelmiksi esimerkiksi
  viikoittaista tehtäväpakettia..

  Tämänhetkinen suunnitelma:

  + Opettajat koettaa järjestää Moniviestimen videokansiossa
    aihepiirejä loogisesti etenevään järjestykseen niin, että
    esitiedot edellisistä riittäisi aina seuraavaan. **Järjestys voi
    muuttua** keväällä 2024 sitä mukaa, kun käsitys loogisesta
    järjestyksestä muuttuu. Uusille videoille täytyy etsiä paikka
    aiempien keskeltä, joten aluksi voi joutua hakemaan. **Saa ja
    kannattaa ehdottaa** järjestysmuutoksia, kun huomaa jotain, mikä
    tulee liian aikaisin tai myöhään.

  + Näillä yhteisillä luennoilla katsastetaan aina seuraavan sopivan
    lukemisto- ja katselukokoelman tilanne, keskustellaan edellisestä
    ja täydennellään aihepiireillä, joita sieltä vaikutti puuttuvan.

  + Koetetaan veivata nyt **alkupuolta nopeampaan tahtiin** kuin koskaan
    aiemmin, kun videopätkiä on valmiina. Yritetään päästä erityisesti
    koodiesimerkkien pariin hyvin pian.

- Dialogisuutta ja "näätäilyä" vuosimallia 2024 voi olla tulossa:

  Mikä "näätäily"? Tsekataan vuoden 2020 opiskelijapalautteesta; katso
  luentovideolta...

  Ennakkotiedotuksena, että jotakin vastaavaa saatetaan tehdä tänäkin
  vuonna osana aihepiirivideoiden tuottamista. Silloin siis
  aihepiirinä jonkin seikan tai tenttitärpin ympärillä tapahtuvaa
  näätäilyä tositarkoituksella.

  Näätäily tarkoittaisi jotakin tällaista:

  + Tullaan kokeilemaan minikeskusteluja ja tenttitärppien pohtimista
    vieressä istuvien kanssa.

    Toimintaa mahdollisesti tukisi tilaisuuden siirtäminen
    auditoriosta tilaan, jossa on tasalattia ja käänneltävät pöydät.

    Ei huolta: Ei koskaan turhan päiten; ei koskaan aiheen vierestä;
    ei koskaan sellaista, mitä luentotallenteen katsojan ei tulisi
    miettiä kotona yksikseen samassa kohtaa luentosarjaa.

    Miksi: Koetetaan hyödyntää maksimaalisesti kaikki käytössä olevat
    puitteet, joista fyysinen luentosali (tai muu huone) on nyt yksi.

Kysymys- vastausosio edellisestä (keväällä 2024):

- Mistä tietää, mitä aiheita seuraavalla kerralla näätäillään? Tästä
  luentosuunnitelmasta, joka on jatkuvasti kurssimateriaalin
  julkisessa git-varastossa. Katso videolta esimerkki, kuinka
  esimerkiksi tässä 3.4.2024 käydyt asiat voi tarkistella ja
  annettuihin tehtäviin palata.

- Miten sitä videon soittonopeutta voi muuttaa nettisivulla?

  Kolme keinoa:

  (1) Nettisivun tekijän tarjoamat säädöt,

  (2) Omaan selaimeen asennettava lisäosa, joka tarjoaa säädöt, vaikka
  nettisivun tekijä ei olisi niitä laittanut ja

  (3) Pistä selaimesi suorittamaan sopiva Javascript-pätkä, joka
  asettaa videoelementin toistonopeuden - ainakin Chromessa näköjään
  voi tallentaa javascriptiä kirjanmerkiksi.

  Opettajan oma nykyinen suosikki on kirjanmerkkikansio, jossa on
  kirjanmerkit mallia "javascript:
  document.querySelector('video').playbackRate = 2.0;" mutta joskus
  videokuvan yläkulmaan upotettu portaaton säätöpainike on kiva, joten
  olen sellaisen lisäosankin asentanut kyllä. Löytyi googlella
  jotenkin "video speed plugin chrome" tai jotakin.

- Missä tuo playbackRate on määritelty? Videolla näytetty vastaus
  tähän piti sisällään syvemmän, tärkeimpiin osaamistavoitteisiin
  kuuluvan esimerkin speksin paikantamisesta ja tietyn yksityiskohdan
  tarkastamisesta sieltä.

*** Mietteitä, keskustelua, toiveita?

Tulimme yhteen, ja siihen on ilmeisesti se syy, että halutaan nähdä
toisiamme livenä. Hyödynnetään vaikka ideariihenä.

Toteutettiin lonkalta tällaista:

- Ensin lämmittelyjutustelu; tänään vaan ajankohtaisesti "Miten meni
  pääsiäinen"?

- Mitä odotamme oppivamme tällä opintojaksolla? Keskustelu 5 min.

  + Intuitiota ja demystifiointia käyttöliittymän ja laitteiston
    väliseen pintaan

  + Kun on käynyt aiemmin Ohjelmoinnin ja Tietokoneen rakenne
    -kurssin, niin olisiko tämä sellainen, joka kertoo, mitä siinä
    välissä tapahtuu

  + Pääseekö tällä kurssilla siihen Linuxiin käsiksi? Mihin se johtaa?

  + Toivotaan yleisempää käsitystä käyttöjärjestelmistä yleensä, ei
    vain tietystä. Toivetta olisi kokonaiskuvan osalta kuulla
    harvinaisemmista käyttöjärjestelmistä ja sitten myös
    ns. tunnettujen markkinajohtajien välisistä isommista eroista.

  + Tutustumista uusiin ohjelmointikieliin

  + Tehotyökaluja pinnan alle pääsemiseen. 

  + Kädentaitoja ja soveltamista

  + Miten eri prosessorityypit otetaan huomioon käyttöjärjestelmissä?

  + Pieni kosketus assembleriin olis kiva

  + Jotain uskomatonta skriptien kirjoittamista

  + Yleisempää tietoa käyttöjärjestelmistä ja tapoja optimoida
    toisteista työtä skriptien avulla

  


*** Ennakkotehtävät ennen seuraavaa luentoa:

Luettavaa:

- Luentomonisteen alkuosa eli esipuhe ja luvut 1-2. Jos tarvitset tai
  haluat niin myös pullantuoksuinen pehmojohdanto.

- Demo 1:n varoitukset ja ohjetekstit.

Katsottavaa:

- Videot sekä tämän vuoden kansiosta että pitkäkestoisesta kansiosta,
  jotakuinkin demo 2:n alkuohjeistukseen saakka. Demo 2 annetaan
  tehtäväksi ylihuomenna, jolloin sitä voidaan luennolla tarkentaa,
  mutta ei opasteta uudestaan sitä, mikä aiemmalla videolla jo
  kerrotaan. Tämä "käänteisen luokkahuoneen" idea nyt mahdollinen
  aihepiirivideoiden avulla. Muistakaa katsoa nopeutettuna ja tehdä
  samalla käytännön harjoituksia, joita videoissa toivottavasti
  muistetaan kehottaa tekemään.

Tekemistä:

- Demo 1 valmiiksi ja palautukseen.

Kun tapaamme seuraavan kerran, katsotaan jälleen, missä tilanteessa
ollaan: Viime vuonna aihepiirivideoita uskallettiin ryhtyä tekemään
vähän myöhemmässä vaiheessa, joten saattaa olla tarvetta tuottaa
muutama ihan uusi aihepiirivideo alkupuolen aiheista. Tai sitten
tehdään jotakin muuta tilanteeseen ja kevään kulkuun sopivaa sen
pohjalta, mitä lukupaketti ja demojen tekeminen ovat siihen mennessä
herättäneet ja tuottaneet itse kunkin muistiinpanoihin

- Vakiomuistutus: **Tee muistiinpanoja!** Se auttaa muistamista ja
  oppimista! Eikä kysymykset unohdu sitten niinä hetkinä, kun on
  mahdollisuus kysyä .

Ahkerasti käyttämään seuraavan opintoviikon 16 tunnin panos tähän 5
opintopisteen opintojaksoon.

Muista myös lepo ja tyhjäkäynti! Se auttaa jaksamaan taas toiminnan
hetkinä.


** Luento 4:  (pe 5.4.2024) Asiassa eteenpäin 
*** Tämän luennon tavoite

- Päivän lopuksi tiedetään, mitä seuraavaksi pitää tehdä ennen
  seuraavia yhteisiä tapaamisia: Demo 2 ohjeteksteineen ja monisteen
  luvut 1-4. Ja aina aiemman kertaamista "uusin silmin"!

- Koetetaan tehdä mahdollisesti aikaakin kestäviä aihepiirivideoita,
  studioyleisön tarkkaavaisten huomioiden ryydittämänä.

*** Tilannekatsaus kevääseen 2024

- Demoja on palautettu jo tosi hyvin: Tänään klo 10:00 oli 105
  opiskelijalla Demo 1 tilassa Palautettu. 25 enemmän kuin viime vuonna
  tässä vaiheessa. Voititte siis alkukiihdytyksen viime vuoteen
  verrattuna. Mahtavaa!!

  Tarkastukset alkaneet. Jatkamme sitä tahtia kuin vaan
  ehditään. Uutiset-viestikanavalle tulee viestiä siinä vaiheessa, kun
  jokin merkittävä etappi on saavutettu - esimerkiksi kaikki demo 1:n
  ensimmäiset palautukset tarkastettu.

- Unohtui kait mainita demoista: Niistä tulee numeroarvio, joka **ei
  vaikuta** kurssiarvosanaan!! Niistä voi ajatella matkan varrella
  saatavana formatiivisena palautteena, jonka avulla voi fokusoida
  omaa tekemistään. Hyväksyttyjä demoja **ei tarvitse palauttaa
  uudestaan**.

- Arvio 0 tarkoittaa, että demo ei ole vielä hyväksytty, vaan se
  täytyy korjata ja palauttaa uudelleen.

- Voiko demoja palauttaa uudelleen, jos esimerkiksi labrapäivässä
  huomaa, että osaisikin tehdä sen nyt paremmin?

  Opettajien TODO: Yritämme laittaa Moodle-asetukset kuntoon siten,
  että olisi mahdollista päivittää aiempaa vastausta siihen asti, kun
  tarkastus tapahtuu...

  Aiemmin hyväksyttyä ei siis tarvitse palauttaa uudelleen.

- Jos olen aiempana vuonna tehnyt jo vaikka demot 1 ja 2, mutta sitten
  jäänytkin kesken, niin kuinka toimin?

  Tee vaan uudelleen - joko se on minuutin homma tai sitten on
  syytäkin kerrata ja opetella uudestaan.

Kysymyksiä uusia kevään kulusta tänään?

Sitten päästään miettimään, mitä on mielekkäintä tehdä tänään. Muutama
uusi aihepiirivideo tarvittaneen demo 2:n aloittamisen lisätueksi. Muu
riippuukin sitten siitä, kuinka paljon on ehditty katsoa ennakkoon...


*** Pikku näätäilyt

Ryhmäkeskustelu 5 minuuttia:

- Mikä jännittää tämän aihepiirin opiskelussa?

Yhteenveto ja valmentajien tsemppiviestit nauhoitettiin tauon jälkeen.

*** Tauko 12 minuuttia

Jatketaan tasan 11:15.

Opettajat muistaa laittaa mikit päälle sitten... 

*** Yhteenveto päivän keskustelusta: Mikä jännittää aluksi?

Yhteenvetoa:

- Vaikeustason ja työmäärän kehittyminen opintojakson mittaan

- Liittyen edelliseen: Kun eka demo oli helppo, niin jatkuuko sama vai
  vaikeutuuko?

- Eka demo oli mukavaa, mutta mitenkähän käy jatkossa... jos
  komentorivin käyttäminen ei ole tuttua...

- Miten vältytään "tuhoisilta komennoilta", joita käytiin ekalla
  luennolla läpi.. Miten saa korjattua tuhot, jos ja kun käy...

  Tarkennus: Jos olisin linuxin juurihakemistossa, ja suorittaisin
  täyden poistokomennon, niin estäisikö käyttöoikeudet vahinkojen
  tapahtumisen?

  Mietittiin asiaa ja todettiin, että EI ESTÄISI vahinkojen
  tapahtumista omiin tiedostoihin, joihin itsellä on oikeudet. Muiden
  tiedot ovat turvassa.

  Videolta voi taas katsella, kuinka opettaja hiukan hikoilee, koska
  vahinko on viretty esimerkin vuoksi yhden näppäimen painalluksen
  taakse... Mutta saa ilmeisesti vielä olla töissä ensi viikollakin,
  koska mitään ei tuhoutunut! Vastuullista ja rauhallista
  työskentelytapaa opetellaan - meidän vaarat ovat joka tapauksessa
  pienempiä kuin esimerkiksi kemian laboratoriossa myrkkyjen kanssa
  väsäillessä...

- Miten esitietoni riittävät, kun on mainittu niin monta valinnaista
  esitieto-opintojaksoa, joista "olisi hyötyä".

- Miten saa pysyttyä tässä mukana, että ei jää jälkeen. Miten löytää
  aikaa?

- Laaja aihepiiri - miten onnistuu saamaan ydinasiat käsiin? Tässähän
  on satoja sivuja materiaalia ja tuhansia sivuja speksiä...

- Yhtä ryhmää ei jännitä yhtään...


*** Seuraava ennakkotehtävä

Luettavaa:

- Luentomonisteen luvut 1-4.

- Demon 2 ohjetekstit.

- Huomaa, että myös aiempiin on aina hyvä palata "uusin silmin", kun
  asiat tarkentuvat myöhemmissä kohdissa.

Tekemistä:

- Demo 1 valmiiksi ja palautusjärjestelmään!

- Demo 2 työn alle.

Katseltavaa:

- Videot tähän saakka: Luentojen 1-4 kertymä 2024-videoista. Demon 2
  ohjeisiin ja vähän siitä eteenpäinkin pitkäkestoisista
  aihepiireistä.

Huomioitavaa:

- Jo luvussa 3 on kuoressa tehtyjä esimerkkejä, joita on tarkoitus
  alkaa kokeilla luovasti myös itse sitten, kun demo 1 & 2 hahmottuu
  ja tekstimuotoinen koneen käyttö alkaa olla turvallisen tuntuista ja
  omalla mukavuusalueella. Koetetaan päästä siihen pisteeseen pian.

- Demoilla 1-2 haettava tavoite on saada kuoren, pääteyhteyden ja
  screenin käyttö tuotua omalle mukavuusalueelle! Tämä vaatii paljon
  harjoitusta ja energiaa, joka on sitten koko myöhempää elämää varten
  alta pois!

- Monelle nämä alkupään asiat ovat jo vanhaa tuttua asiaa. Haasteemme
  sille porukalle: Jakakaa viisautta ja kokemusta niille, joille asia
  on uutta. Omalta kohdalta koettakaa hioa omaa tutkivaa asennetta ja
  viedä omaa osaamista seuraava askel pidemmälle. Esimerkiksi
  POSIX-standardiin tutustuminen tai uusien ominaisuuksien etsiminen
  tutuista työkaluista on toivottavaa.

- Vakiomuistutus: **Tee muistiinpanoja!** Se auttaa muistamista ja
  oppimista! Eikä kysymykset unohdu sitten niinä hetkinä, kun on
  mahdollisuus kysyä .

- Muistutellaanpa, että 5 opintopistettä 8 viikossa tarkoittaa
  keskimäärin 16-17 tuntia viikossa tehokasta tekemistä. Muista tauot
  ja lepo, koska muuten ne varsinaiset tekemisen hetketkään eivät ole
  niin tehokkaita kuin voisivat olla!

** Luento 5:  (ke 10.4.2024)  (P/J) Muistiinpanojen vertailua

*** Päivän ja viikon päätavoitteet:

- Verrataan muistiinpanoja tähän astisesta. Esilukemistona tähän asti
  oli: monisteen luvut 1-4 ja demojen 1-2 ohjetekstit.

- Pyritään nyt kiihdyttämään esitieto- ja kädentaito-osuuden
  ohjeellista tahtia, kun aihepiirivideot on jo aimmin tallennettu ja
  kaikkein todennäköisimmät yleisökysymykset niissä käsitelty.

- Tehdään tarpeen mukaan tarkentavia aihepiirivideoita tai uusia
  versioita aiemmista aihepiirikäsittelyistä.

- Pyritään saamaan aika nopeasti haltuun myös C-kieli ja debuggeri,
  eli Demo 3 ja myös demo 4:n ennakko-ohjeistus aika pian käyntiin ja
  "Hei maailma" -aihepiirivideoiden tyyppisiä ohjattuja ja itse
  keksittyjä kokeiluja tekemään!

- Kokeile tehdä muistiinpanoja paperiin myös paikan päällä;
  esimerkiksi avainsanoja, joista haluat kysyä tarkennusta, kun tulee
  kysymys-/vastaushetki. Kysymys tuppaa unohtumaan, jos ei siitä heti
  merkkaa ylös jotakin pientä muistikasta.

*** Infot keväälle 2024

Tilannekatsausta:

- Katsotaan ja tiedotellaan, missä mennään... aika paljon olisi
  opettajillakin ollut hommaa tähän mennessä: Demotarkastukset,
  aihepiirivideoiden järjesteleminen, lähestyvien läsnädemojen
  valmistelu, ulkopuolisen aikataulupaineen alaisten ennakkotentin
  speksaus, Open labrapäivien allokointi kalenteriin ... mitä on
  ehditty tähän mennessä?

  + Demotarkastuksissa etappi ja toimintaohjeet ilmoitettu - varmista,
    että saat Uutiset-kanavan tiedotteet.

  + Aihepiirivideot vaikuttaisivat olevan OK muutamia eteenpäin

  + Pari Open labrapäivää löytyi: Huomenna etänä, ensi viikolla
    luokassa. Nämä julkaistaan Sisussa, josta ne saa halutessaan omaan
    kalenteriin myös ilman ryhmäilmoittautumista toiminnolla, jota
    olen nähnyt käytettävän. Joku "Näytä omassa kalenterissa" tmv.

- Mitä muuta meneillään.. tsekataan. Ei tullut mieleen, mutta olihan
  tuossakin jo edistystä viime kerralta.

*** Tilanteen mukaista toimintaa tässä

Keskustellaan luku-, katselu- ja tekemispaketista. Vertaillaan
muistiinpanoja niin sanotusti.

Kietaistaan uusia aihepiirivideoita tarpeen ja pyyntöjen
mukaan. Joitain onkin jo jonossa.

Muistetaan päätavoitteet siinä, mitä tehdään.

Alla viime vuoden (2023) vitosluennon muistiosta vielä toistaiseksi.

*** Vertaillaan muistiinpanoja!

[Keskusteltiin, minkä jälkeen tauko 15 minuuttia.
Yhteenveto seuraavasta videolle tasan 15:15 alkaen.]

Lämmittelykeskustelu: Mitä olet ehtinyt tehdä auringossa? 4 min.

Aihekeskustelu: Missä vaiheessa kukin on materiaalin ja
muistiinpanojen kanssa? 6 minuuttia.

Yhteinen tilannekuva studioyleisöstä, kerätään tähän ja tallennetaan
nauhalle:

- Oltiin jo demossa 3, mutta kaikki eivät yhtä pitkällä. "Hyvällä
  mallilla kaikki". Muistiinpano-osastolla olisi kehitettävää.

- Neloslukuun asti saatu luettua ja demot 2 asti keskimäärin tehty.

- Demo 2 ei vielä aloitettu, eikä muistiinpanoja vielä aloitettu.

- Kaikki mukana kurssilla vielä. Muistiinpanometodi on hakusessaan,
  eli mitä ja miten kannattaisi laittaa muistiin? Komentoja muistiin
  listaksi? Käsitteitä listaksi? Voisiko demoa tehdessäkin heittää
  jotakin muistiin?

- Silmäilty lukua 4, luvusta 2 tehty itselle muistiinpanoja. Demo
  2:een tutustuttu, mutta ei vielä palautuskunnossa. Videoita katsottu
  tuplanopeudella.

- Demo 2 tehty tai melkein tehty. Lukeminen luvussa 3.

- Muistiinpanot aika alkeellisia - etsinnässä menetelmät
  muistiinpanojen tekemiseen. Demo 1:n korjaaminen menossa.

Toimenpideyhteenveto:

- Lukupaketti ilmeisesti sopivan kokoinen. Jos meinaat jäädä jälkeen,
  koeta ottaa pari harppausta (rauhallista tekemisen aikaa) ja kysyä
  tarvittaessa apuja esimerkiksi Open labrapäivässä.

Vinkkejä muistiinpanojen tekemiseksi (vertaisryhmältä 2024):

- Komentoja muistiin listaksi? Ilman muuta. Rakenna uudesta aiheesta
  "Cheat sheet" eli lunttilappu siihen asti, kunnes asia menee
  refleksiksi.

  Valmiit cheatsheetit ovat jännittävien ominaisuuksien
  konvehtirasioita.

  Tämä sama muuten pätee kivasti myös näppäinohjattuihin ohjelmiin,
  kuten Emacs, Vim, Screen, Bash, gdb, mutta myös tehotyökaluihin
  kuten IDEt, DAWs, CADit, 3d-mallinnussoftat, ...

- Voisiko demoa tehdessäkin heittää jotakin muistiin? Ilman muuta!

- Käsitteitä listaksi? Joo, ja kartoiksi ja kuviksi, tai muuta mikä
  auttaa itseä.

- Niin sanotut alleviivaukset ovat mahdollisia sähköisin
  välinein. Kaupallisia tuotteita löytyy (esim. Amazonin Kindle, joka
  mahtuu taskuun) ja löytynee myös ilmaisia
  vaihtoehtoja. PDF-lukijoissa on vakio-ominaisuutena huomiokynä
  tmv. annotaatiot.

- [Jonnen muistutus]: Tuore tutkimus toteaa, että aidon tai
  mahdollisimman aitokirjaiseksi tehdyn digitaalisen kirjan
  lukemisesta oppii tehokkaammin kuin muilla välineillä.

  [Eriävä näkemys]: Toisaalta esimerkiksi lukujen välillä selailu on
  digitaalisessa lukijassa helpompaa kuin paperikirjassa.

- Jos tekee nopeasti avainsanamuistiinpanoja, niin ne kannattaa
  kirjoittaa puhtaaksi aika pian tilaisuuden jälkeen, koska muuten ne
  unohtuvat.

- Huomatkaa kotitehtävänä googlettaa Cornell Note Taking System.

- Toinen googleteltava voisi olla "sketchnotes"

*** Lukupaketti lähipäiville meillä olisi olemassa ja tiedotettuna
Tällaisten parissa mielellään oltaisiin työskentelemässä:
- Monisteen luku 3 "Hei maailma - johdattelua tietokoneeseen".
- Monisteen luku 4 "Konekielisen ohjelman suoritus".
- Demojen 1 ja 2 ohjetekstit ja omatoimiset kokeilut.
- Kestomuistutus: 5 opintopistettä 8 viikossa tarkoittaa keskimäärin
  16-17 tuntia viikossa tehokasta tekemistä. Muista tauot ja lepo, koska
  muuten ne varsinaiset tekemisen hetket eivät ole enää tehokkaita!


** Luento 6:  (pe 12.4.2024)  (P/J) Karhuluento ("opettajat opettaa")
*** Infot keväälle 2024

- Tänään klo 11:50 tulee kollega esittelemään tutkimusta, johon
  luvattiin virka-apuna kattava tiedotus sopivalle kohderyhmällä tämän
  kurssin videojakelun kautta. Tutkimukseen osallistuville arvotaan
  palkintoja.

  Tutkimuksen esittelystä on erillinen video ja siitä tulee
  Uutiset-viesti, jossa on lisätiedot, ohjeistus ja linkki kyselyyn.

- Ovatko opettajat ehtineet jutella läpi tarkennuksia tulevaan? Ovat!
  Käydään läpi Sisusta:

  + Tiistaiaamu 23.4.2024 klo 8:15-10:00 mikroluokassa opettajien
    yhteenveto-osuudet nauhoitettaisiin mahdollista myöhempää käyttöä
    varten.

  + Keskiviikkoaamu olisikin etänä Zoomilla, ei fyysisessä mikroluokassa.

  Sisun asetukset on nyt korjattu: Omaa ryhmäilmoittautumista pystyy
  muuttamaan. Ilmoittautumiset eivät kuitenkaan ole ns. "sitovia" eli
  voi tulla haluamaansa ryhmään. Ilmoittautumistieto auttaa varautumaan.

*** Tämän luennon tavoite

- Päivän lopuksi tiedetään, mitä seuraavaksi pitää tehdä ennen
  seuraavia yhteisiä tapaamisia: Demo 3 ohjeteksteineen, monisteen
  luvut 1-4 uusin silmin ja aiempaa vahvistaen. Ihan alkua luvusta 5?
  Ei vaan **Rohkeasti** jo 2024 isompi haukku luvusta 5!

- C-kieleen ja Demo 3:een liittyvät videot keväältä 2023 ovat edelleen
  käypäisiä, joten tänään voidaan tehdä jotakin uutta.

- Ideapankista ainakin muutamia jo kertyneitä aiheita. Koetetaan
  lisäksi muistella demo 1:n ja demo 2:n tekemistä, olisiko siellä
  muistiinpanoihin jäänyt jotakin askarruttavaa, mitä voisi väännellä

*** Seuraava ennakkotehtävä

Luettavaa:

- Luvut 1-4 uusin silmin, vahvistaen ja sisäistäen.

- Demon 3 ohjetekstit.

- Lukua 5 jo alustavasti eteenpäin.

Tekemistä:

- Demo 2 valmiiksi ja palautusjärjestelmään!

- Tarkista demoihin 1-2 liittyviltä erillisvideoilta, että olet
  oppinut niissä käsitellyt asiat. Videot syntyivät 2 viime vuoden
  aikana palautteeksi useiten havaituista ongelmista ekoissa demoissa.

- Demo 3 työn alle.

- Tee käytännön kokeiluja esitetyistä asioista!
  
Kestomuistutus: 5 opintopistettä 8 viikossa tarkoittaa keskimäärin
16-17 tuntia viikossa tehokasta tekemistä. Muista tauot ja lepo, koska
muuten ne varsinaiset tekemisen hetketkään eivät ole niin tehokkaita
kuin voisivat olla!




*** Aihepiiri: Kuoren muuttaminen toiseksi kuoreksi komennolla exec

Video, joka tulevaisuudessa suositellaan katsottavaksi nopsaan ihan
alussa pääteyhteyden opiskelua.

Muutama asia hyvin lyhyesti ilman sen syvempää perustelua:

- Todetaan, minkä kuoren etäpalvelin käynnisti kirjautumisen
  yhteydessä.

- Vaihdetaan kuori toiseksi taikasanalla "exec toinenkuori -l" (pikku
  ällä)

- Todetaan, että kuori vaihtui

- Vaihdetaan vielä, ja vaikka vielä ja vielä, että varmasti osataan.

- Kun teet kokeiluja jonkin ohjeen tai vinkin avulla, kannattaa
  käyttää juuri sitä kuorta, jolle vinkit on tehty. Silloin ei tule
  yllätyksiä.

- Jätetään mieleen, että kuori nimeltä bash on melko yleinen, ja sille
  löytyy todella iso määrä hyviä ja huonoja vinkkejä netistä. 

Perusteluiden aika on melko pian, koska tämän jakson
osaamistavoitteena on ymmärtää ja kyetä soveltamaan näitä ja monia
muita temppuja aina tarvittaessa.

*** Tauko 12 minuuttia

*** Aihepiiri: Mikä on terminaalimultiplekseri screen?

Tämä video on henkistä tukea omatoimiseen opetteluun tutoriaalien
avulla - esimerkiksi Jyväskylän yliopiston
käyttöjärjestelmäopintojakson toisen viikkoharjoituksen eli "demo 2:n"
alkuvaiheessa.

Näytetään käytännössä ja demo 2:n ohjekohtaan viitaten - spoilaamatta
varsinaista opiskelua lukemalla ja kokeilemalla itse.





** Luento 7:  (ke 17.4.2024) (P/J) Tilanteen mukaista toimintaa

Yritetään aina käynnistää mahdollisimman lähelle 14:15! Säädöt
kestävät joskus, kun ollaan "kiertolaisina" erilaisissa
luentosaleissa... Miten käy tämän päivän kilpajuoksussa tekniikkaa
vastaan :-)

*** Päivän ja viikon päätavoitteet:

Open labrapäivä oli juuri äsken livenä mikroluokassa - sieltä
luultavasti kertyy jotakin terveisiä ja ideoita
käsiteltäväksi? Lisäksi on jo ideapankissakin tavaraa. Lisää saa
ehdottaa. Tärkeätä myös keskustella, koska ollaan tultu yhteen.

- Kohti ensi viikkoa ja puolivälin ryhmätyöpajaa: Onhan kaikki selvää
  sitä varten, mm. pajaan tullessa mielellään Demo 4 ohjetestit
  luettuna

- Asioiden järjestelmällistä käsittelyä eteenpäin aihepiirivideoiden
  muodossa.

*** Infoisku keväälle 2024

- Ensi viikolla tapahtuu "Demo 4 porukalla" - mitä tämä tarkoittaa!?

  Tutustu jo tällä viikolla Demon 4 ohjetekstiin, joka kertoo C-kielestä.

  Ilmoittaudu Sisussa itselle sopivaan "Laboratoriotyö" -sessioon.

  Tule paikalle näkemään porukkaa livenä, niin saat demon 4 suoritettua.

  Mutta jos on flunssaoireita, pysy kotona.

  Huomaa poikkeukset, joista tiedotettiin viime viikolla ja Sisussa.

  Itsenäinen suoritusmahdollisuus tietenkin on, mutta se avataan
  myöhemmin, ettei jäädä sen takia kotiin jumimaan, että demo on jo tehty.

  Oppimiseen pelkkä suoritus ei riitä, vaan tarvitaan aikaa, kokeiluja
  ja toistoja asian parissa. Ei siis mitään uutta auringon alla.


*** Lukupaketti tällä hetkellä:

- Demo 4:n ohjeistus (maanantaihin mennessä luettuna)

  Täsmennys: Tässä vaiheessa kyseessä on "demo 4" eli d04_c.html
  Vasta ensi viikolla on "demo 4b" eli d04_miniasmit.html

- Monisteen lukua 5 eteenpäin

- Aiempia asioita uusin silmin ja kertaillen, kuten aina.













*** Aihepiiri: Tiedosto-oikeuksien kokeileminen JYU:n suorakäyttökoneella

Pari keinoa omatoimiseen kokeiluun täällä meillä JYU:ssa.

- Videolle kertyi uhkarohkeitakin kokeiluja.

- Studioyleisö oli hienosti hereillä, ja aiheessa käväistiin syvällä

- Lopussa rohkaisu kohti osaamista ja ymmärrystä sekä niiden kautta syntyvää turvallisuuden tunnetta

*** Tsemppikeskustelu paikan päällä

Tehtiin pari keskustelukierrosta läsnäolijoiden kesken. Tätä ei
tallennettu.

** Luento 8:  (pe 19.4.2024) (P/J) Tilanteen mukaista toimintaa
*** Tämän luennon tavoite

- Päivän lopuksi tiedetään, mitä seuraavaksi pitää tehdä ennen
  seuraavia yhteisiä tapaamisia: Demo 4 ohjeteksteineen, monisteen
  luvut 1-5, alkuviikolla jo lukua 6. Aihepiirivideoista voi saada
  tukea ja oppiminen tapahtuu omatoimisen kokeilun kautta.

- Näätäillään tositarkoituksella: Nyt on luettu jo aika paljon asiaa,
  niin selvitellään, mikä sieltä tarvitsisi lisää rautalankaa.

- Aihepiirivideoita: Rautalangan vääntämistä uusista ja aiemmin
  toivotuista aiheista.

- Mahdollisesti ryhdytään katselemaan tenttiä. Tehdään sitäkin
  "näätäillen" yksin-ryhmissä-kaikki -tyyppisellä pohdintatehtävällä.

*** Seuraava ennakkotehtävä

Lukemista:

- Demo 4 ohjeteksti; tärkeä ensi viikon demo 4 -ryhmätöitä varten!

- Monisteen luku 5 ennen demo 4 -ryhmätyötä.

- Monisteen luku 6 heti demo 4:n jälkeen.

Katsomista:

- Aiemmin tallennetut aihepiirivideot ovat loogisessa järjestyksessä
  jo ainakin Demo 4b:n alkuopastukseen asti, ja aika hyvin siihen
  liittyy "Little Man Computer" sekä "Havainnekuvien
  piirtäminen". Vaikuttaisi olevan tie selvä. HUOM: "Esimerkkikoodien
  lataaminen" -aihepiiri siirtyi pikkuisen aiempaan kohtaan, ja tulee
  jo heti demo 4:n jälkeen.

Tekemistä:

- Demo 3 valmiiksi ja palautus + asioiden sisäistäminen

- Omatoimista kokeilua, kun rohkeus niihin karttuu.

Kestomuistutus: 5 opintopistettä 8 viikossa tarkoittaa keskimäärin
16-17 tuntia viikossa tehokasta tekemistä. Muista tauot ja lepo, koska
muuten ne varsinaiset tekemisen hetketkään eivät ole niin tehokkaita
kuin voisivat olla!

*** Infot keväälle 2024

- Ensi viikon alussa tosiaan tapahtuu "Demo 4 porukalla":

  + Ryhmäharjoite

  + **Mielellään paikalla siten, että päästään aloittamaan aina vartin
    yli!!** Aikaisintaan 90 minuutin päästä vasta pääsee pois. Demo 4
    suoritus: olet läsnä, kun ope kirjaa, että olit läsnä.

  + Harjoitteesta vauhtia tekemiseen - oman session jälkeen
    viimeistään voi edetä luentomonistetta ja aihepiirivideoita
    eteenpäin, mm. "Demo 4 havaintoja tekemisestä" ja siitä eteenpäin.

*** Tauko

Tauon jälkeen muistettava: Äänitesti, videokalvo, nauhoitusnappi.

*** Aihepiiri: Hupsista vaan, täytin verkkolevyni satunnaisella tauhkalla..

Havainto demo 1:n tarkastusten yhteydessä: Vaikka ei vaarallista, niin
kuorella on helppo tehdä itselleen vahingossa kaikenlaisia "jekkuja"
kuten tiedoston tulostaminen itsensä perään äärettömän monta kertaa
heksavedoksena.. Ctrl-C pysäyttää meneillään olevan, ja aika monet
viritykset voi purkaa, kun rauhassa tekee.

*** Näätäilyt: Mikä kohta on jäänyt epäselväksi tähän asti (luvut 1-5, demo-ohjeet 1-4)

Lämmittelyksi:

- Mikä on ollut kivointa tällä viikolla yliopistolla tai muualla?

3 minuuttia.

Ryhmissä:

- Vertaillaan muistiinpanoja, ja etsitään ehdotus:

  Mikä asia tähän asti tarvitsisi lisää selvennystä?

  Minkälaista?

7 minuuttia.

Yhteenveto ryhmittäin:

- Monisteen nelosluku oli raskas ja vaikealukuinen. Tuli paljon uusia
  asioita, eikä tullut yhdellä lukemisella valmiiksi.

  Keskustelua: Demo 4b tulee auttamaan luvun 4 selventämisessä. Demon
  ajoitus on ehkä vähän myöhässä suhteessa lukemistoon. Samoin
  aiheesta nauhoiteltu video on tänään (19.4.2024 vähän myöhäisessä
  vaiheessa katsomisjärjestystä)

- Vimiä ja emacsia ei varmaan kukaan ota haltuun kerralla. Tämä on
  vielä vaiheessa. Monisteessa on tiivistä asiaa paljon - siihen
  varmaan pitää palata vielä uudelleen, kun kokemusta
  kertyy. Alkupäässä sivutaan hyvin nopeasti asioita, joista ei vielä
  kuitenkaan anneta yksityiskohtia - tämä vähän hämmensi.

- Kun ei ole aiempaa kokemusta, niin uudet eteen tulevat asiat
  kuormittavat, esimerkiksi C-kääntäjän käyttäminen kuoresta.

  Pienet osatehtävät / "lämmittelyt" auttavat, esimerkiksi demon 3
  Hello world -osio. Kuormitus tulee sitten isommasta askeleesta,
  kuten demon 3 palautustehtävä, jossa on jo 90 riviä.

  Selitys kääntämiselle, linkittämiselle tulee Ohjelmointi 2:n
  lisäosissa selkeämmin kuin tämän kurssin materiaalissa.

Opettajan jälkihuomiot:

- Materiaali on rakennettu suunnitteluperusteella, jonka mukaan
  asteittainen tarkentuminen ja alkushokki ovat tarkoitettuja
  tunteita. Perustuu myös siihen, että shokista selviytymiseen on
  tarjolla tukea ja turvaa. Tämäkin keskustelu osa sitä.



** Luento 9:  (ke 24.4.2024) (P/J) Tähään karhu, ylihuomenna näätä

Mikä "karhuluento"?

- Verrattuna näätään: Karhu ei jää kyselemään pitkäksi aikaa. Karhu
  vaan painaa menemään, selittää kovasti mennessään ja vääntää
  rautalankaa niin paljon kuin pystyy.

Mikä "näätäily"?

- Pistetään vähän viisasta päätä yhteen ja jutellaan vieruskaverin
  kanssa.. tehdään yhteenvedot myös koko porukan kesken ja
  kotikatsomoita varten. Soveltuu esimerkiksi tenttitärppien
  miettimiseen. Näädät syöttää aiheita rautalankakarhuille.


*** Meneillään olevat tehtävät (huomenna mennään taas eteenpäin tästäkin!)

Jos seurailet keväällä 2024 tapahtuvaa opintojaksoa omaan tahtiin
"aikakoneella", tästä osiosta voit päätellä, missä kohtaa lukemisen ja
tekemisen osalta olisi hyvä olla menossa. Videotallenteet on ehkä
saatettu järjestellä tiekarttaan siihen mennessä. Tätä nauhoitettaessa
työ on vaiheessa - vertaistukikanavalle tuli tähän astisista posti,
jossa on listattu uudet videot.

Meneillään:

- Edessä seuraavaksi Demo 4b.

Lukemista:

- Demo 4b ohjeteksti

- Monisteen luvut 1-6.

Katseltavaa:

- Eteenpäin vaan videoita, jos niistä on hyötyä.

Tekemistä:

- Demot 3 ja 4 valmiiksi ja palautus + asioiden sisäistäminen

- Demo 4b työn alle.

Täsmennys demo 4 osalta: Läsnäsuoritus kuittasi asian, jos asut
Jyväskylässä ja pääsit käymään paikalla. Mallivastaus on saatavilla
Moodlessa. Aikakoneella tallennetta katsoessa käytettävissäsi on
itsenäinen suoritustapa.

Kestomuistutus: 5 opintopistettä 8 viikossa tarkoittaa keskimäärin
16-17 tuntia viikossa tehokasta tekemistä. Muista tauot ja lepo, koska
muuten ne varsinaiset tekemisen hetketkään eivät ole niin tehokkaita
kuin voisivat olla!








*** Infot keväälle 2024

- Demo 4 itsenäiseen suoritustapaan avautaan palautuslaatikko just
  nyt. Ryhdy tekemään, jos et ehtinyt ryhmäsessioihin! Löytyy
  normaalista paikasta HTML-vedoksena. Ohjeellinen aikataulu on
  perjantai klo 17.

- Demotarkastusten tilannekatsaus?

- Tulen ehdottamaan ennakkotenttiä tarvitseville tasan viikkoa ennen
  ekaa massatenttiä iltapäivällä johonkin aikaan.



*** Kevään 2024 terveiset porukkasessioista Demo 4 ja Open labrapäivistä

Kiitos! Mallivastausta kannattaa vielä vilkuilla ja alkaa tehdä
omatoimisia kokeiluja.

Fyysisesti kävi noin 40, etänä 14.

Tärkeimpiä havaintoja oli jälleen kerran: Malttia!!

Yli puoli sataa osallistujaa olivat tarkkoina ja löysivät hienoja
tarkentavia kysymyksiä, jotka eivät olisi muuten tulleet
mieleenkään. Ehkäpä tästä voimaannutaan keskustelemaan myös
vertaistukikanavalla nyt, kun ollaan vielä 120 opiskelijan kesken
aktiivisia toukokuun ajan!?



*** Tauko 13 minuuttia. Jatketaan tasan 15:15

Mikrofonitesti...

*** Supersalainen palautevideo: Demo 2:n jälkeen opittavaksi

(Tästä tulisi salainen video, jonka näkee halutessaan sitten, kun demo
2 on hyväksytysti palautettu.)

Speedrunnataan ensin demo 2:n ja samaan syssyyn demo 1:n pakolliset
vastausosiot.

Samalla aiheeseen liittyvää tarkennusta:

- Nykyinen alikuorisyntaksi

- Yhdistelmäkomentosyntaksi

- Muuttujat kuorikomentoriviohjelmassa

- Lainausmerkit alikuorikomennon ja muuttuja-arvon ympärillä

- aputyökaluja kuten ShellCheckiä on hyvä käytellä

*** Aihepiiri: printf kuoressa

Sopiva kohta olisi demon 1 ja demon 2 välissä. Tällasta jotain olisi
aihepiirin sisältönä:

- Muistetaan ``echo miten  kaiku  vastaa``

- Sitten koetetaan unohtaa echo, ja opetellaan käyttämään
  tulostamiseen aina komentoa ``printf``. Tuo ``echo`` on nimittäin
  nykyisessä POSIX-standardissa merkitty välteltäväksi (eli
  *deprecated*) ja suositellaan korvattavaksi komennolla
  ``printf``. Keväällä 2024 osa tehtävistä voi vielä olla
  päivittämättä nykyaikaan, mutta voit itse tehdä sen. Esimerkiksi
  äskeisen komennon tilalla pitäisi olla mieluummin tämä::

     printf "Mitä printf tekee\n"

  Huomaa lainausmerkit ja lopussa oleva kenoviiva ja än-kirjain.

- Tutkiskellaan printf:ää kuoressa, kuoren manuaalissa, standardissa

- Eiköhän aihepiiriin saada liittymään käytännön esimerkki jos
  toinenkin standardoinnista, syntakseista, speksin tarkistelusta ym.

** Luento 10: (pe 26.4.2024) (P/J) Tilanteen mukaista toimintaa
*** Tämän luennon tavoite

- Puolivälin etappi.

- Pikkuhiljaa kenties ryhdytään katsomaan jo ennalta vähän tenttiä,
  josta tulee arvosana tästä opintojaksosta. Tehdään sitä hiukan
  ryhmissä näätäilemällä: otetaan hyötyjä siitä, että ollaan samassa
  paikassa yhdessä; saadaan jaettua viisautta myös kotikatsojille sekä
  aikakoneella tulevaisuuden puolelta opintojaksototeutusta
  seuraaville.

- Päivän lopuksi tiedetään, mitä seuraavaksi pitää tehdä ennen
  seuraavia yhteisiä tapaamisia: Seuraava demo 4b ohjeteksteineen ja
  linkkeineen, monisteen luvut 7-8 ja jo 9.1.

*** Infot keväälle 2024

- Ei pitäis olla mitään uutta auringon alla. Varmistumaan päin se
  ennakkotentti hakuja varten 17.5.2024 klo 14-18.

- Tänään vedettiin alkuun perinteinen fiiliskierros paikan päällä.

- Sitten tapahtuu tilanteen ja toiveiden mukaista menoa, josta saattaa
  olla videoita saatavilla jälkikäteen.

*** Seuraava ennakkotehtävä

Lukemista:

- Demo 4b ohjeteksti

- Monisteen luvut 7-8 ja 9.1

Katselemista:

- Aihepiirivideot jopa Demo 5 alkuohjeistukseen saakka.

Tekemistä:

- Demo 4 valmiiksi ja palautus + asioiden sisäistäminen

  Ryhmätehtävän suorittaneillekin pitäisi olla nyt mallivastaus
  demosta 4 saatavilla! Vilkaise!

- Demo 4b työn alle.

- Esimerkkikoodeja voi alkaa omatoimisestikin katsomaan

Kestomuistutus: 5 opintopistettä 8 viikossa tarkoittaa keskimäärin
16-17 tuntia viikossa tehokasta tekemistä. Muista tauot ja lepo, koska
muuten ne varsinaiset tekemisen hetketkään eivät ole niin tehokkaita
kuin voisivat olla!





*** Tauko 12 min. Jatketaan 11:25 tasan

*** Aihepiiri: Demo 3 palautevideo

(Tästä tehdään tulevaisuutta varten samanlainen salainen
juonipaljastusvideo kuin demo 1-2:sta aiemmin)

Demo 3:n jälkitarkennuksia ehkä muutakin?

Käsiteltävää:

- Speedrun alkuun

- Keskustelua siitä: Tehtäväohjeessa oli paljon asiaa luettavaksi ja
  kokeiltavaksi.

- Havainto paikan päällä: Lisäjutut ohjeessa olivat hyvä, koska se
  innosti kokeilemaan itsekin asetustiedoston tekemistä ja muuta!

- LC_ALL ja muut kieliasetukset - mikä näiden stoori on?

- Muuta mieleentulevaa studioyleisön kanssa?







* Suunnitelmaa kevään 2024 lähitulevaisuuteen

** Ideapankkia aihepiirivideoiksi 2024

Tähän voisi kerätä ideoita / toiveita kokonaan uusiksi tai aiempaa
toteutusta paremmiksi aihepiirivideoiksi


*** Aihepiiri: Vimin ja Emacsin tutoriaalit käyntiin

Kuinka opettelet tekstieditorin käytön sen oman tutoriaalin avulla.


*** Aihepiiri: Demo 2:n uudistukset vuodesta 2023 vuoteen 2024

Kun ei ehtinyt nauhoittaa ajallaan, niin tämän videon arvo keväälle
2024 vähenee. Ehkä sopiva 2025, jos samoja demoja käytetään yhä?

"Emacs tai Vim" palvelinkoneilla, tällä opintojaksolla, ja lentävässä
lauseessa kahvihuoneissa. Mutta yleisempää sanelua siitä, mitä pitää
käyttää tai ei pidä käyttää yritetään välttää.






*** Aihepiiri: rajapintoja muitakin - esimerkkien kytkemistä laajempaan kuvaan

Jäännös 2023 Hei maailma -videosta. Joskus aikanaan voisi tehdä tästä
erillisen videon, kuten ajatus silloin oli:

- Malliksi muita rajapintoja kuin kurssin esimerkkeinä olevat: vaikka
  ARM-manuaali (erilainen prosessoriarkkitehtuuri), C# library APIs,
  Java API, OpenGL grafiikkarajapinta, ...muita? Ihan vaan nopeesti
  malliksi siitä, millaisten asioiden otsikossa tai esipuheen
  ensimmäisessä lauseessa sanotaan "This is an API / collection of
  APIs" tai jokin muu "XYX Interface"..


*** Kenties: Luentomonisteen teemojen valaisua

Vilkaistaisiinko luentomonistetta kevään 2023 meneillään olevan
"lukupaketin" kohdilta...

Pitäisi saada käytyä muisti ja suoritussykli, koska seuraavaksi tänään
aletaan katsella täsmälleen sitä asiaa käytännössä
AMD64-prosessorissa. Demo 3:ssa on tarkoitus kokeilla näitä ihan itse.


*** Muita aihepiirihaaveita vuodelta 2023 "jos aikaa jää"-kategoriassa

Ideakuvastoa sopivista aihepiireistä:

- Jokainen speksi voisi ansaita oman täsmäkäsittelynsä.

- Leikkitietokoneet?

- "Kysytään ChatGPT:ltä" on nykyään aina hyvä aihe..


*** Väliaihepiiri (jo nauhoitettu v 2023 luennon 8 info-osuuteen, sori): .screenrc -asetustiedosto

Tämän voisi kenties kaivaa vuoden 2023 tallenteesta erilleen, jos
jaksaisi... oli ajankohtainen ja lennosta tehty 8. luennon kohdalla, mutta ehkä hyödyllinen.

Käytännön esimerkki sovelluksen asetuksista ja Unix-tyyppisten
järjestelmien tiedostoista, joiden nimi alkaa pisteellä.

**** Keskustelua paikan päällä

Havainto: Näitä taitoja tarvitaan etenkin backend-töissä, mutta myös
muualla.

Kysymys:

- Jos teen asetukset halava-koneella, niin muuttuuko ne pysyvästi?

  Kyllä, koska mitä vain tehtiin oli, että muutettiin yhden tiedoston
  sisältöä. Se on pysyvää, kunnes tehdään jokin uusi muutos.

- Muuttuuko ne myös jalavalla?

  Kyllä, koska sama tiedosto samalla verkkolevyllä näkyy kaikissa
  tietokoneissa, joihin se on kytketty. Esimerkiksi jalavan ja halavan
  kotihakemisto ja yliopiston Windows-työasemien U: -asema.

- Jos suljen screenin, niin katoaako ne asetukset?

  Ei.  Nehän ovat vain yksi tiedosto, jota juuri muutettiin.

  Ei katoa, jos ei tiedostoa muuteta uudelleen tai hävitetä.

- Muuttuko ne mun omalla tietokoneella vai ainoastaan halavalla?

  Ei muutu niissä tietokoneissa, joissa ei ole kyseinen verkkolevy
  kytkettynä. Jos omassa koneessa jostain syystä kokeilet screeniä, se
  lukee asetukset oman tietokoneen levyltä.

  Verkkolevyn hakemistoa ei kannata kytkeä kotihakemistoksi omassa
  henkilökohtaisessa tietokoneessa. Yliopiston työasemat ja
  palvelinkoneet ovat erilainen käyttökohde.


** Aiemmista käsittelemättä jääneitä 2024


*** Ensimmäisellä luennolla käsittelemättä jäänyttä

Muistetaanpa vielä, mitä viime kerralla ei ehditty käsitellä, kun
luennon alku vähän viivästyi. Ainakin sisältö- ja
osaamistavoitekuvaukset. Kollataan livenä netistä:

- kurssin kuvaus opinto-oppaasta; myös suhde tulevaisuuden versioon
  "ITKA2030".

- HTML-vedos osaamistavoitteista ja niiden
  tausta-aineistoista. Käytiin viimeksi, mutta ehkä hiukan lyhyesti.



* Vuoden 2023 toteumaa suunnitelmaksi

Päivämäärät ja kaikki on toistaiseksi yksi-yhteen kopio
vuodesta 2023. Sisällöt edellisen vuoden vastaavien luentokertojen
toteuman mukaisia. Tavoitteena kiihdyttää alkuvaihe siten, että
kertausta tai syvennystä tarvitsevat hoidetaan alussa teho-ohjauksella
samalle viivalle niiden kanssa, joilla on runsaammin aiempaa kokemusta
esitiedoista.

** Open Labrapäivän jälkeen 28.4.2023 nauhoitettu lisäaihepiiri

*** Aihepiiri: Havainnekuvien piirtäminen - miksi, miten ja mitä esimerkiksi?

Katsotaan, mitä tuutista tulee. Kerralla purkkiin! - ainoa tapa
lentää... Ja tuutistahan tuli aika hyvin tavaraa, joka tuntui ainakin
omasta mielestä hyödylliseltä ja tärkeältä.

** Luento 11: (ke 3.5.2023) (P/J) Tilanteen mukaista etenemistä

*** Aihepiiri: Tentin yleiskuva. Yksi tärppikysymys, jos ehditään.

Moodlen tentti Opettajan esikatseluna.

Usein kysyttyjä kysymyksiä on jo tiedossa. Voidaan käsitellä
ennaltaehkäisevästi:

- "Saako tentissä käyttää kurssimateriaaleja vai pitääkö kaikki komennot
  muistaa ulkoa?"

Vastaus pääpiirteissään on: Saa käyttää kaikkea, paitsi avun kysymistä
henkilöltä, ChatGPT:ltä tai muulta taholta, jolle voi esittää
kysymyksen tentin aikana. Esimerkiksi internetiin aiemmin päätyneitä
sisältöjä saa käyttää mielin määrin.

Käytiin mallitentistä ensimmäinen kysymys tarkoin läpi.




Myöhemmin tehtäväksi jää:

Rakennellaan pieni yksin-ryhmissä-kaikki -harjoite, jos on aikaa.





*** Infot keväälle 2023

- Demotarkastukset pitkälti ajan tasalla kevään osalta: 1-3
  tarkastettu ja 4 tarkastetaan seuraavaksi. Etapeista ilmoitetaan
  Uutiset-kanavalla, kun esimerkiksi kaikki on tarkastettu.

- Väki saa huisin paljon apuja Open labrapäivissä.

- Vertaistukikanavalla on ollut vapun aikana huolettavan
  hiljaista.. Siellä kertyy nyt koko ajan porukkaa, jolla on
  käytössään täydet mallivastaukset meneillään oleviin demoihin. Eli
  vinkkejä on saatavilla, kun vaan kysyt kavereilta!

*** Päivän päätavoitteet:

- Asiassa eteenpäin, tasaisen aikataulun ja havaintojen perusteella.

- Mahdollisesti tenttitärppi (tauon jälkeen), jos on aikaa. Jos ei
  ole, niin sitten siirtyy lähemmäs tenttiä.

*** Seuraava ennakkotehtävä

Lukemista:

- Demo 5 ohjeteksti

- Monisteen luvut 9-10

Tekemistä:

- Demo 4b valmiiksi ja palautus + asioiden sisäistäminen tähän
  astisesta.

- Demo 5 työn alle. *HUOMAUTUS:* Demo 5:n katselu voi auttaa myös demo
  4b:n ymmärtämistä!

Kestomuistutus: 5 opintopistettä 8 viikossa tarkoittaa keskimäärin
16-17 tuntia viikossa tehokasta tekemistä. Muista tauot ja lepo, koska
muuten ne varsinaiset tekemisen hetketkään eivät ole niin tehokkaita
kuin voisivat olla!

*** Aihepiiri: Havaintoja open labrapäivästä demojen 4 ja 4b kohdalla

Havaintoja ja esimerkkejä open labrapäivistä.

**** Työskentelytavat

Joillain on jo hyvin näppärän näköistä työskentelyä Emacsin, Vimin ja
Screenin kanssa. On hienoa katseltavaa!

Joillain on vielä aivan tarpeettomia hankaluuksia - esimerkiksi
lukematon määrä ylimääräisiä screenejä ja editoreja. Oli hyödyllistä
katseltavaa! Hyvä, että oltiin samassa tilassa tekemässä ja jaettiin
kuvaruutuja Zoomilla!

Muistakaa opastusvideo "Screenin käyttelyä aloittelijalle" ja muut jo
aiempina vuosina nauhoitellut lisävideot! Ne kannattaa koettaa
ymmärtää ja viedä käytäntöön! Jos niissä on jotakin epäselvää, niin
kannattaa kysyä tarkennuksia täsmänä!

Kertausta aiemmasta: Päätteen fonttikokoa ja värejä voi muuttaa
mieleisemmäksi. *Kannattaa varmistua omalta kohdalta,* että homma on
näppärää, eikä aika mene johonkin, mikä ei liity asiaan eli kuoreen,
C:hen, konekieleen, tietokonelaitteistoon, muistiin,
käyttöjärjestelmäkutsuihin ja muuhun, minkä tutkimiseen sen ajan
pitäisi mennä harmittelun sijaan.

**** Työskentelytavat, osa 2: koodaaminen 

Pieni muutos kerrallaan!

Koko ajan homma näpeissä ja ymmärryskin mukana!

Kääntäjän virheilmoituksia on opittava lukemaan - ensimmäinen virhe
pitää aina korjata, koska loput voivat johtua siitä.

Varoitukset kannattaa pyytää kääntäjältä, eikä niitä passaa jättää
korjaamatta, koska ne ovat lähes aina merkki siitä, että ohjelma tekee
jotakin, mitä et ole tarkoittanut (tai vielä ymmärtänyt).

Debuggeri auttaa, kun virhe ilmenee niin, että ohjelma kaatuu!

*** Aihepiiri: Demon 5 alkuopastus

Tämän voi ehkä tehdä nopeastikin!? (Aiemmin ei ole oikein onnistunut,
kun tässäkin on tärkeitä ja painotettavia asioita jonkin verran).

Käydään läpi demo-ohje ja näytetään malliksi vähän esimerkkiä, miten
ryhdytään tekemään.

*** Tauko 9 minuuttia.

Jatketaan tasan 15:35

*** Ei tarvinnut nauhoittaa: Demo 4b edistäminen + debuggerin käyttely

Ajatuksena oli näyttää pikkuesimerkki pienestä muutoksesta,
kokeilemisesta ja debuggerin käyttelystä.

Mutta tätäpäs tulikin jo 3.5.2023 ennen taukoa nauhoitetuissa
pätkissä. Demo 5:n ohjeessa on lisää debuggeriopastusta, ja aiheeseen
varmasti palataan. Eipä siis tarvitakaan ainakaan tähän kohtaan
lisäaihepiirivideota Demosta 4b.

*** Virittäytyminen: Jatketaan asioiden järjestelmällistä käyntiä

Teorian ja käytännön käsittelyä koodiliitteen esimerkkien avulla ja
lennostakin kokeiluja tehden: C:tä, kuorta, konekieltä ja
dokumentaatioiden tarkistelua livenä. Eli mallia opittavista asioista,
utelias ja uskalias asenne mukaanlukien.

*** Aihepiiri: Koodiliitteen lataaminen ja omatoiminen tutkiminen

Olemme matkalla kohti koodiliitettä. Katsotaan, mistä koodit saa
haettua suoraan versionhallinnan web-liittymän URLeista.

Koodiliitteen koodit vois vaikka ottaa esimerkkikansioon, kun niihin
tullaan palailemaan meneillään olevan kevätkurssin puitteissa. Samalla
saa tallenteeseen autenttisen esimerkin siitä, miten voi itse tehdä
saman.

Ja esimerkistä tuli sellainen kuin ehkä vain livenä, ilman tarkkaa
käsikirjoitusta, on mahdollista: Nähtiin, miten kuori on kuin
MacGyverin linkkuveitsi esimerkiksi jonkun netistä tulevan datan,
apuohjelmien tulostamien lokitietojen ja lähdekoodien tutkimisen
kanssa.

** Luento 12: (to 4.5.2023) (J) +Karhuluento+ Rusinanteluento
*** Infot keväälle 2023
- Ei mitään uutta - homma rullaa, kun rullataan vaan!
- Paitsi jos yleisöllä on mielessä kysymyksiä tämän kevään käytännön
  toimenpiteistä?
*** +Tämän luennon tavoite+
- Karhu ei jää kyselemään pitkäksi aikaa. Karhu vaan painaa menemään,
  selittää kovasti mennessään ja vääntää rautalankaa niin paljon kuin
  pystyy.
- Päivän lopuksi tiedetään, mitä seuraavaksi pitää tehdä ennen
  seuraavia yhteisiä tapaamisia: Seuraavaksi demo 5
  ohjeteksteineen, monisteen luvut 9-10.
- Little man computer ja käydään läpi monistetta varmistaen ja kysellen,
  eli pattika-pattika ja pakkia-pakkia, sano Rusinante.
  
*** Seuraava ennakkotehtävä (käsiteltiin jo luennolla 11)

Lukemista:

- Demo 5 ohjeteksti

- Monisteen luvut 9-10

Tekemistä:

- Demo 4b valmiiksi ja palautus + asioiden sisäistäminen

- Demo 5 työn alle. HUOMAUTUS: Demo 5:n katselu voi auttaa myös demo
  4b:n ymmärtämistä!

Kestomuistutus: 5 opintopistettä 8 viikossa tarkoittaa keskimäärin
16-17 tuntia viikossa tehokasta tekemistä. Muista tauot ja lepo, koska
muuten ne varsinaiset tekemisen hetketkään eivät ole niin tehokkaita
kuin voisivat olla!


*** Aihepiiri: "Little man computer" avuksi koneen toiminnan ymmärrykseen

Elävää animaatiota minimalistisen tietokoneen toiminnasta. Näytetään
luennolla vähäsen:

http://peterhigginson.co.uk/LMC/

Samalta kaverilta karsittu ARM-prosessorisimulaatio:

http://peterhigginson.co.uk/ARMlite/

Kun perusidea on hahmottunut, me opettelemme käyttämään gdb:tä aivan
todellisen tietokoneen kanssa!

*** Tauko oli sopivassa kohdassa

*** Aihepiiri (ei videojulkaisua): Luentomonisteen selailua

Luentomonistetta alusta läpikäyden eri kohtia korostaen:
 - Kerrosrakenne käyttöjärjestelmässä.
 - Tietokoneen rakenne: teoreettinen, eli kurssilla riittävä ja
   todellinen, eli jatkokurssien asia.
 - Prosessorin teoreettinen, yksinkertaistettu rakenne.  Nykyprosessorit
   käsitellään muilla kursseilla.
 - Lista, pino ja puu tietorakenteena.
 - Binääri-, heksa- ja oktaaliluvut.

** Luento 13: (ke 10.5.2023)  (P/J) Aihepiirejä

Aletaan tykittää tasan 14:15! Ainakin yritetään taas.

*** Infot keväälle 2023

- Demot 1-3 pitkälti tarkastettu; etenemme demo 4:n itsenäisten
  suoritusten tarkastamista kohti asap. Tilanne näköjään sama kuin
  viime vuonna tähän aikaan keväästä.

- Suosituimpia kaloja demon 3 perusteella tähän asti (case-sensitive; Pallokala
  != pallokala):

     10 Ympäristömuuttuja LEMPIKALA == lohi
      8 Ympäristömuuttuja LEMPIKALA == ahven
      7 Ympäristömuuttuja LEMPIKALA == pallokala
      6 Ympäristömuuttuja LEMPIKALA == miekkakala
      6 Ympäristömuuttuja LEMPIKALA == kultakala
      6 Ympäristömuuttuja LEMPIKALA == hauki
      5 Ympäristömuuttuja LEMPIKALA == Ahven
      4 Ympäristömuuttuja LEMPIKALA == muikku
      3 Ympäristömuuttuja LEMPIKALA == tonnikala
      3 Ympäristömuuttuja LEMPIKALA == Pirkkala


      (tehdään alla oleva kuoriharjoite tähän vuoden 2023 osalta)

- Viime vuoden (2022) suosikit:

      7 Ympäristömuuttuja LEMPIKALA == miekkakala
      7 Ympäristömuuttuja LEMPIKALA == lohi
      6 Ympäristömuuttuja LEMPIKALA == ahven
      5 Ympäristömuuttuja LEMPIKALA == muikku
      4 Ympäristömuuttuja LEMPIKALA == Lohi
      4 Ympäristömuuttuja LEMPIKALA == Kuha
      4 Ympäristömuuttuja LEMPIKALA == kissakala
      4 Ympäristömuuttuja LEMPIKALA == hauki
      4 Ympäristömuuttuja LEMPIKALA == Ahven
      3 Ympäristömuuttuja LEMPIKALA == kultakala

- Top-listan muodostaminen bash-komentorivillä:

  find . -name "*.txt" | while read a;
  do grep LEMPIKALA "$a" ; done | sort | uniq -c | sort -n -r | head

  Kuinka monta kalaa ehdotettu: 

  find . -name "*.txt" | wc -l

  Erilaisia kaloja (case-sensitive) ehdotettu 85 sekä vuonna 2023
  että 2022. Innovatiivisia kalastelijoita tällä kurssilla!

  Lukumäärä selvitetty putkittamalla top-listan muodostama tuloste
  viimeisenä komennolle "wc -l" eikä "head" kuten ylläolevassa.

*** Päivän ja viikon päätavoitteet:

- Demo 6 alkuopastus, niin sitten on kaikki demot avattu, ja päästään
  keräämään hedelmiä teorian ja käytännön välisten yhteyksien
  havainnoimisella.

- Väliin koodiesimerkkejä havainnollistamaan aiheita. Tänään ja
  huomenna alkupuoli luennosta (taukoon asti)

- Huomenna jälkipuoliskolla eli tauon jälkeen koetetaan lopulta ehtiä
  tenttitärppeihin jollain tavoin keskustellen eli "näätäilleen"!

*** Aihepiiri: Demon 6 esittely

Käydään läpi demo-ohje ja näytetään malliksi vähän esimerkkiä, miten
ryhdytään tekemään.

*** Tauko sopivassa välissä

Jatketaan tasan 13:36!

Tauon jälkeen mikrofonitestit, nauhoitusnappulan painaminen
ym. muistetaan taas..

*** Aihepiiri (koodiliitteestä): Hei maailma assemblerilla

Otetaan esimerkiksi "Hei maailma assemblerilla" ja käpistellään.

** Luento 14: (to 11.5.2023)  (P/J) Karhu- ja näätäluento
*** Infot keväälle 2023

- Tänään ei mitään uutta. Huomenna taas Open Labrapäivä aamulla;
  tervetuloa.

- Tämä ja 3 kertaa "Luento"-nimisiä tapaamisia jäljellä ennen
  tenttiä. Käytetään aika tehokkaasti, eli opettaja lopettaa
  jaarittelun ja menee asiaan?

*** Tämän luennon tavoite

- Koodiesimerkkejä havainnollistamaan aiheita. Tehokas puoliaika
  koodin, kuoren, debuggerin ja materiaalien parissa.

- Tauon jälkeen mennään tenttitärppeihin jollain tavoin keskustellen
  eli "näätäillen"!

- Päivän lopuksi tiedetään, mitä seuraavaksi pitää tehdä ennen
  seuraavia yhteisiä tapaamisia: Seuraavaksi demo 6
  ohjeteksteineen, monisteen luvut 11-12.

*** Seuraava ennakkotehtävä

Lukemista:

- Demo 6 ohjeteksti

- Monisteen luvut 11-12 (viimeinen osio "tenttialueeseen"; loput luvut
  ovat vapaaehtoista lisälukemistoa)

Tekemistä:

- Demo 5 valmiiksi ja palautus + asioiden sisäistäminen

- Demo 6 työn alle.

Kestomuistutus: 5 opintopistettä 8 viikossa tarkoittaa keskimäärin
16-17 tuntia viikossa tehokasta tekemistä. Muista tauot ja lepo, koska
muuten ne varsinaiset tekemisen hetketkään eivät ole niin tehokkaita
kuin voisivat olla!

*** Virittäytyminen: Koodiliitteen aktuaaliset koodit

Käydään tähän väliin koodiliitettä ja sen suhdetta teorialukuihin,
jotta näissä päästään varmasti eteenpäin tänään!

Ajatukset edellisen kerran jälkeen copy-pastella:

"Kaikenlaskijan" voi tehdä vaikka scratchistä lennosta; demonstroimaan
alustavasti aikakatkaisua ja vuoronnusta... Tutkitaan vaikka
top-komennon tulostettakin ja prosessien hallintaa. Tarkempi
prosessien hallinan esimerkistö löytyy erillisistä videoista, niin ei
käytetä siihen sen enempää aikaa tässä vaiheessa! Todetaan toivotun
omatoimisen osaamisen taso tässä vaiheessa..

Vois kuitenkin rajapintadokumentaatioesimerkin vuoksi varmistaa, mistä
kohtaa POSIXia löytyy prosessinhallinnan kuorikomennot.

Jatkossakin vaan järjestelmällisesti koodiliitteen koodeja sopivassa
järjestyksessä käsittelyyn. Suhteutus teorialukuihin, erityisesti
otsikoihin, havainnekuviin ja pseudokoodiesimerkkeihin. Teksti
itsessään on luettavaksi tehty, ei resitoitavaksi luennolla.

*** Aihepiiri: Aikakatkaisu ja vuoronnus "kaikenlaskija.c"

"Kaikenlaskijan" voi tehdä vaikka scratchistä lennosta; demonstroimaan
alustavasti aikakatkaisua ja vuoronnusta...

*** Tauko sopivassa kohdassa

Jatketaan tasan 11:40!

Tauon jälkeen mikrofonitesti, tallennusnappi.

*** Virittäytyminen: Pohdintaa ja ryhmäkeskustelua

Virittäydytään välillä erilaiseen tekemisen moodiin.

*** Osaamisen arviointia ( == tenttitärppi!)

**** Kevään 2023 menettely

"Näätäilyä" eli luentotilaisuuteen kytkettyä ryhmäkeskustelua on
kokeiltu erilaisin tavoin useiden vuosien ajan inkrementaalisti.

Keksitään pyörä uudelleen jollain tähän kevääseen sopivalla
tavalla. Raamit:

- Yksin-ryhmissä-kaikki -menettely; sama sukka sopii joskus moniinkin
  jalkoihin.

- Saadaan kuvaa omasta ja kaverien oppimisen vaiheesta *ilman
  suorituspaineita*; kokonaiskuva välittyy tallennettujen osioiden
  kautta myös kotikatsomoihin

- Simuloidaan tenttiä, jolla kevään 2023 opintojaksosta tulee lopuksi
  arvosana.

**** Protokolla:

  - Kolmen hengen ryhmät lähellä istuvien kanssa.

  - 3*30 sekunnin nimi- ja fiiliskierros, jotta keskustelu lämpenee.

  - Päivän tenttitärppi yksin-ryhmissä-kaikki -menettelyllä (seuraava
    kohta).

  - Oikean vastauksen takana oleva ajatuksenkulku

**** Tehtävä

- Kysymys on... Moodlesta aiemman vuoden tentistä joku kysymys
  (kysymys 25/48)

- Kellotetaan 1 minuutti aikaa tehtävän lukemiseen.
  
- Kellotetaan 1 minuutti aikaa siihen, että jokainen miettii hiljaa
  itselleen vastaukset

- Ryhmäkeskustelu 2 minuuttia: Käykää läpi kaikkien omat vastaukset.

  Neuvotelkaa siitä, mikä niistä ehkä on eniten oikein.

- Yhteinen koonti: Kerätään luentotallenteelle ehdotuksia
  vastauksista.

  Varmistaan myös oikea vastaus ja että lopulta kaikki osaisivat tehdä
  tällaisen tehtävän tentissä täysillä pisteillä.

Tässä on täydellisyyden vuoksi tehtävä ja siihen liittyvä ohjeteksti
kopioituna:

Ohje tehtävään: Yhdistä lauseen loppua vastaavat kirjaimet (vähintään
yksi, mutta mahdollisesti useita) lauseenalun perään siten, että
muodostuvat lauseet vastaavat todellisuutta. Vastauksessa on oltava
listattuna kaikki todellisuutta vastaavat vaihtoehdot.

Kysymys 25. Valitse oikea vaihtoehto (mahdollisesti useita sopivia):
Kurssilla käsitelty käyttöjärjestelmän rajapintastandardi POSIX
(vuoden 2018 versio) määrää, että ...

a) Konekielisen aliohjelman ensimmäinen parametri välitetään
rekisterissä RDI, jos se on tyypiltään kokonaisluku.

b) shell-komento echo tulostaa argumenttinsa.

c) järjestelmäkutsu exit() tapahtuu sijoittamalla rekisteriin RAX luku
60 ja suorittamalla syscall-konekielikäsky.

d) shell-komennolla kill voi lähettää prosessille signaalin.

**** Ryhmien vastaukset ja keskustelu
Muistiinpanot ryhmäkoonnista:

  "ainakin bd"
  bd ja mietittiin a:ta
  bd ja lähdettäisiin tarkistamaan a:ta materiaalista...
  bd ja ehkä c.. eri mieltä a:sta kuin muut ryhmät tähän asti
  bd ja muista ei niin varmoja.

  Laitetaan tähän löydökset


**** Oikeaksi tarkoitettu vastaus ja logiikka sen takana

Luentotallenteelle selitys ja logiikka, jolla tavoiteltu oikea vastaus
on selvitettävissä.

(Yritetään muistaa ja toteuttaa aiempien vuosien palaute:
Mallivastauksen käsittely voidaan tehdä nopeasti. Tänään oli pakkokin,
salivarauksesta johtuen... kunpa osaisi jatkossakin kuvitella
vastaavan paineen..)

** Luento 15: (ke 17.5.2023) (J) Asiaa eteenpäin

Teorian ja käytännön välisten yhteyksien etsimistä koodiliitteen
esimerkkien, debuggerin, havainnekuvien ja speksien kautta.

*** Infot keväälle 2023

- Jäljellä on tämän lisäksi 2 luentoa, 1 Open labrapäivä ensi viikon
  tiistaina klo 16.30-18.15 ja tentti!

- Lukemisto ja tekemistö on nyt kokonaan työn alla: Luentomonisteen
  luvut 1-12 ja demot 1-6. Kokonaisuuden hahmottaminen.

*** Tämän luennon tavoite

- Tässä välissä tiukkaa asiaa, konkretiaa ja rautalankaa.

- Päivän lopuksi tiedetään, mitä seuraavaksi pitää tehdä ennen
  seuraavia yhteisiä tapaamisia: Hedelmien keräämistä pohjatyön
  jälkeen eli ymmärryksen lisäämistä ja valmistautumista
  tenttiin. Demo 6 työn alla - sitä saa palauttaa sitä vielä tentin
  jälkeen, eli voi keskittyä teoriapuoleen tässä kohtaa!


*** Asiaa järjestelmällisesti eteenpäin: Koodiliitettä ja monistetta

Edetään demoissa aiemmin nähtyjen ja monisteen koodiliitteessäkin
olevien konkreettisten esimerkkikoodien kautta, loogisessa
järjestyksessä.

**** Säikeistä

saikeiden_tarve.c
saikeet.c

Katso esimerkkien briiffaus videolta. Seinäkelloaika lyhenee, jos
tehtävän voi hajauttaa moneen prosessoriytimeen rinnakkain.

Katsellaan säikeitä myös ps -komennon avulla (vipu -L) sekä
luentosalin tietokoneella esimerkiksi Chrome-nettiselaimessa ja
Windowsin prosessinhallinnassa, jos opettajan perustunnuksen
käyttöoikeudet riittävät (eivät välttämättä riitä..).

Omalla tietokoneella voi kokeilla oman tietokoneen graafisia työkaluja
prosessin- ja säikeidenhallintaan, nimeltään tyyliin "Task Manager" /
"Tehtävienhallinta" tai vastaavaa...

*** Tauko sopivassa välissä
Jatkuu 15.22

**** Prosesseista: Signaalinkäsittely ja kill

sigesim.c

Katso briiffaus videolta.

Koetetaan näyttää näppäilyjä ja kill -kuorikomennon käyttelyä.

** (hep, hep, helatorstai "syö" yhden luentokerran!!)
** Luento 16: (ke 24.5.2023) (P/J) Toiseksi viimeinen luento
*** Infot keväälle 2023

- Jäljellä on tämän lisäksi enää huominen luento ja ylihuominen tentti.

- Molemmilla luennoilla: aluksi tiukkaa asiaa, tauko, tenttitärppi.

- Yritetään saada videotallenteet ulos pian luennon jälkeen, jotta
  ennen perjantain tenttiä ehtii vilkaista ne läpi. Samoin koetetaan
  saada demo 5 tarkastettua ja mallivastaus auki. Demo 6 tarkastetaan
  tentin jälkeen, jolloin myös sen tekemiseen voi vielä palata.

- Sitten siihen asiaan!

*** Tämän luennon tavoite

- Hedelmien keräämistä pohjatyön jälkeen eli ymmärryksen lisäämistä ja
  valmistautumista tenttiin. Demo 6 työn alla - sitä saa palauttaa
  sitä vielä tentin jälkeen, eli voi keskittyä teoriapuoleen tässä
  kohtaa!

*** Asiaa järjestelmällisesti eteenpäin: Koodiliitettä ja monistetta

**** Aihepiiri: Debuggeri voimatyökaluna kutsupinon tutkimiseen rekursiossa

rekursio.c

**** Minikuori: prosessin luonti ja binäärin käynnistys POSIX-tavalla

minish.c

Uuden prosessin luonti haaroittamalla fork() -kutsulla, suoritettavan
ohjelmatiedoston lataaminen ja käynnistäminen meneillään olevan
prosessin tilalle exec() -kutsulla ja prosessin lopetus exit()
-kutsulla.


minish.c

*** Tauko sopivassa välissä

Jatketaan tasan 15:15.

*** Yksi aihepiirivideo tässä välissä vielä

**** Synkronointi 1/3: Kilpajuoksu ja MutEx

race.c

Korjataan lennosta muokkaamalla. Jos opettaja eksyy, voi hän luntata
korjatuista malleista (race_fixed_mutex.c ja race_fixed_sem_mutex.c)

Katso briiffaus videolta.


*** Tenttitärppi yksin-ryhmissä-kaikki

**** Protokolla:

  - Kolmen hengen ryhmät lähellä istuvien kanssa.

  - 3*30 sekunnin nimi- ja fiiliskierros, jotta keskustelu lämpenee.

  - Päivän tenttitärppi yksin-ryhmissä-kaikki -menettelyllä (seuraava
    kohta).

  - Oikean vastauksen takana oleva ajatuksenkulku

**** Tehtävä

- Kysymys on... Moodlesta aiemman vuoden tentistä joku kysymys
  (kysymys 42-44/48)

  Esimerkkikoodin perusteella:

  + Kuinka monta konekielikäskyä ohjelmanpätkän jälki sisältää,
    ts. kuinka monta käskyä prosessi suorittaa siitä alken, kun
    käyttöjärjestelmä siirtää kontrollin nimettyyn aloituspisteeseen
    "_start"?

  + Mikä on rekisterin RCX sisältö ohjelmanpätkän suorituksen lopuksi?

  + Mikä on rekisterin RDI sisältö ohjelmanpätkän suorituksen lopuksi?

- Kellotetaan 1 minuutti aikaa siihen, että jokainen miettii hiljaa
  itselleen strategiaa, miten vastaukset olisi mielekästä tentissä
  tuottaa

- Ryhmäkeskustelu 2 minuuttia: Käykää läpi kaikkien omat strategiat.
  Neuvotelkaa siitä, mikä niistä ehkä on eniten toimiva.

**** Ryhmien vastaukset ja keskustelu

- Yhteinen koonti: Kerätään luentotallenteelle ehdotuksia
  ratkaisumallista:

  + Lähdetään debuggimaisesti käymään läpi koodia. Eli tehdään
    "pöytätesti" kynän, paperin ja aivojen kanssa. (Pelkkiin aivoihin
    ei yleensä kannata luottaa, jos muistissa pidettäviä asioita on
    enemmän kuin muutama. Eli suosiolla kynä, paperi ja sormet
    apuun!!)

  + Käytetään ihan oikeata debuggeria halavassa/jalavassa.

  Molemmat keinot ovat erittäin hyviä! Molemmissa pitää olla
  huolellinen ja soveltaa huolellisuuden lisäksi muitakin tärkeitä
  osaamistavoitteita.

**** Oikeaksi tarkoitettu vastaus ja logiikka sen takana

  Videotallenteella (kevään 2023 salaisen polkuavaimen takana):
  Varmistettiin molemmilla tavoilla oikea vastaus ja että lopulta
  kaikki osaisivat tehdä tällaisen tehtävän tentissä täysillä
  pisteillä. Varmalta vaikuttaa!!

** Luento 17: (to 25.5.2023) (P/J) Viimeinen luento.
*** Infot keväälle 2023

- Huomenna on tentti! Kaikki siihen liittyvä on tiedotettu luennoilla
  ja tallenteissa. Onnea ja osaamista matkaan, mutta ei stressiä!

- Tänään vielä tiukkaa asiaa - yritetään kaikin keinoin saada
  luentotallenne saataville jo täksi illaksi. Myös demo 5 mallivastaus
  saadaan ainakin ohjeelliseen deadlineen mennessä palauttaneille.

- Tänään paukut tentiin ja katse kohti sitä! Demo 6:n ehtii tehdä ja
  palauttaa tentin jälkeen, vaikka samana päivänä.

- Palautemahdollisuus (ja -velvollisuus, kaikilla kursseilla!)
  Webropolissa - sieltä pitäisi tulla automaattisia viestejä asiasta.

*** Tämän luennon tavoite

- Ensin tykitetään vielä koodiesimerkkejä. Sitten yksi tenttitärppi vielä.

*** Infotallenteeseen vielä tämä: Kevään toteutus oli tässä!

Kiitos paikalle saapuneille "studioyleisöille" - toteutimme vielä
yliopiston koronan jälkeisiä linjauksia opettamisesta paikan päällä
fyysisellä kampuksella.

Kiitos myös mielenkiinnosta kotikatsomolle, jossa 80-90%
kurssilaisista ilmeisesti seurasivat kevään kulkua. Toteutimme myös
IT-tiedekunnan "vanhaa normaalia", jossa tallenteiden kautta voi
seurata opetusta ajasta ja paikasta riippumatta.

Tällä kertaa koetettiin rakentaa hieman enemmän aikaa kestäviä
"aihepiirivideoita", jotta ensi vuonna päästäisiin kokeilemaan
käänteistä luokkahuonetta: Katsotaan asiat ensin kotona, ja tullaan
sitten yhteen keskustelemaan, soveltamaan ja tekemään vaikka demoja
porukalla.

Omaan tahtiin saa jatkaa - demotarkastuksia tehdään kesällä
erityisesti uusintatenttien ympärillä: muutamia päiviä ennen kutakin
tenttiä sekä kunkin tentin tarkastuksen yhteydessä. Kurssimerkintöjä
tehdään kolmena ryppäänä: Kunkin tenttikerran tarkastuksen yhteydessä.

Kiitos kolmannen kerran, onnea tenttiin jos toiseenkin, ja erittäin
hyvää kesäkautta, jossa kevään puserruksen jälkeen pääsee lataamaan
akkuja kohti syyslukukautta 2023!


*** Eiliseltä jääneet aihepiirit

**** Synkronointi 2/3: Useita yhteisiä resursseja, Deadlock

Vappusimalaattori:

Aloitetaan esimerkistä vappu_sekaisin.c

Jos opettaja unohtaa, miten esimerkki viedään läpi "lennosta", tai jos
sattuu olemaan perjantaiaamu lyhyellä luennon valmisteluajalla, niin
opettaja voi luntata seuraavien vaiheiden esimerkeistä:

vappu_deadlock.c

vappu_ei_lukkiudu.c








**** Synkronointi 3/3: Monta yksikköä samasta resurssista, Semafori

Semaforista suhteessa poissulkuun, esimerkkinä Tuottaja-Kuluttaja:

tuottaja_kuluttaja_rikki.c

Tutkitaan eroa korjattuun malliin, joka on monisteessa pseudokoodina
ja melko tyypillinen tenttitärppi mallia "Mahdollisesti rikottu tai
sitten ei".

tuottaja_kuluttaja.c


*** Tauko (sopiva, ei kovin pitkä, mutta ajatuksia kivasti nollaava)

Tauko klo 11:20-11:30


*** Katsotaan, mihin aihepiireihin on vielä aikaa

**** Lokaalisuusperiaate käytännössä: implikaatiot suorituskykyyn

Cache thrashing esimerkkikoodi  cache.c

Iltalukemista aiheen ympäriltä:
http://denninginstitute.com/pjd/PUBS/CACMcols/cacmJul05.pdf


*** Vielä yksi kokoava tenttitärppi

**** Virtuaalimuisti (sivutus ja heittovaihto): 

Strategia, miten käydään läpi:

- Aloitus tenttitärpistä, joka löytyy monisteestakin (Kuva 30).

Kysymykset:

Mihin fyysiseen muistiosoitteeseen
kohdistuisi prosessin 2 tekemä
kirjoitus virtuaalimuistiosoitteeseen
0x7f123?

Prosessi 2 suorittaa hyppykäskyn
aliohjelmaan muistiosoitteessa
0x03200. Tapahtuuko prosessorissa
sivunvaihtokeskeytys?

Prosessissa 7 aiheutuu
sivunvaihtokeskeytys ja fyysinen
muisti on täynnä; korvausalgoritmi
on LRU. Pitääkö fyysisen sivun 0x437
sisältö tällöin tallentaa levylle














- Mitä siihen liittyy: Lokaalisuusperiaate (alkaen esitietoluvun
  kuvista 7, 8, 9 ), sivun käsite (kuvat 12, 13, 15, 16, 25 ja 26),
  tarkennusta siitä miten käyttöjärjestelmä ylläpitää sivutaulua
  (kuvat 27, 28 ja 29) sekä heittovaihdon tapahtuminen.

- Heittovaihto


*** Loput asiat, jos aikaa tänä vuonna sattuu olemaan...

Näihin juttuihin ei ole muutamanakaan vuonna jäänyt aikaa, kuten ei
nytkään. Voitaneen alkaa todeta, että ei mahdu kevätkurssiin..

**** Oheislaitteet ja tiedostojärjestelmät

(Kuva 31, korkeintaan pikavilkaisuna 32)

Laiteriippuva ja laiteriippumaton I/O -ohjelmisto.

Koodiliitteestä pikavilkaisu, jos on aikaa:

liit.c

**** Sikanopee esimerkki, jos aikaa jää (ei superrelevantti): Viestit

Ehkä, jos aikaa jossain välissä on(?)

chattomyself.c

**** Sikanopee esimerkki, jos aikaa jää (ei superrelevantti): Jaettu muisti

Ehkä, jos aikaa jossain välissä on(?)

shm_*


** Tenttiaika: (pe 26.5.2022) (P/J) Klo 8:15-12:15 kotitentti!

Tämä löytyy tentin alkaessa Moodlesta. Olemme valmistautuneet tärpein.
_Hyvin se menee, ja uusintojakin on tulossa_.
Ei siis yhtään mitään hätää!










** Edellisiltä kerroilta jääneitä

*** Aihepiiri: Joku seuraava, sopiva juttu koodiliitteestä 

*** Aihepiiri: Yhteenvetoa reaalimaailman dokumenteista; mikä määrittää mitäkin

Mikä dokumentti määrittää mitäkin kerrosta laitteisto- ja
ohjelmistopinkassa. Mitä mikäkin niistä puolestaan ei määritä.
*** Aihepiiri: Joku seuraava koodiesimerkki jne



** Ideapankkia tulevia luentokertoja varten ("back-log" toteutuksen kulusta)

HUOM: Opettajien aikataulusäätöjen sumplimista:

17.5.2023 Jonne pitää (Paavo yhteiskunnallisen vuorovaikutuksen
tehtävissä Tampereella).

Jaettiin myös jo alustavasti muitakin vetovuoroja.

*** Osaamisen arviointia ( == tenttitärppi!)

Tutkitaan kysymyspankin kysymysten rakennetta ja poimitaan jotakin,
mihin pitäisi olla jo vastauksia hahmottumaan päin.

Noudatetaan näätäilyprotokollaa.

**** Protokolla:

  - Kolmen hengen ryhmät lähellä istuvien kanssa.

  - 3*30 sekunnin nimi- ja fiiliskierros, jotta keskustelu lämpenee.

  - Päivän tenttitärppi yksin-ryhmissä-kaikki -menettelyllä (seuraava
    kohta).

**** Tehtävä

- Kysymys on... Moodlesta aiemman vuoden tentistä joku kysymys
  (kysymys 25/48)

- Kellotetaan 1 minuutti aikaa tehtävän lukemiseen.
  
- Kellotetaan 1 minuutti aikaa siihen, että jokainen miettii hiljaa
  itselleen vastaukset

- Ryhmäkeskustelu 2 minuuttia: Käykää läpi kaikkien omat vastaukset.

  Neuvotelkaa siitä, mikä niistä ehkä on eniten oikein.

- Yhteinen koonti: Kerätään luentotallenteelle ehdotuksia
  vastauksista.

  Varmistaan myös oikea vastaus ja että lopulta kaikki osaisivat tehdä
  tällaisen tehtävän tentissä täysillä pisteillä.

Tässä on täydellisyyden vuoksi tehtävä ja siihen liittyvä ohjeteksti
kopioituna:

Ohje tehtävään: Yhdistä lauseen loppua vastaavat kirjaimet (vähintään
yksi, mutta mahdollisesti useita) lauseenalun perään siten, että
muodostuvat lauseet vastaavat todellisuutta. Vastauksessa on oltava
listattuna kaikki todellisuutta vastaavat vaihtoehdot.

Kysymys 25. Valitse oikea vaihtoehto (mahdollisesti useita sopivia):
Kurssilla käsitelty käyttöjärjestelmän rajapintastandardi POSIX
(vuoden 2018 versio) määrää, että ...

a) Konekielisen aliohjelman ensimmäinen parametri välitetään
rekisterissä RDI, jos se on tyypiltään kokonaisluku.

b) shell-komento echo tulostaa argumenttinsa.

c) järjestelmäkutsu exit() tapahtuu sijoittamalla rekisteriin RAX luku
60 ja suorittamalla syscall-konekielikäsky.

d) shell-komennolla kill voi lähettää prosessille signaalin.



Muistiinpanot ryhmäkoonnista:

  acd ad+c? b bd cd abcd

(Yritetään muistaa ja toteuttaa aiempi palaute: Mallivastauksen
käsittely voidaan tehdä nopeasti)


*** Näätäily 3.0: Tenttitärppi viime vuoden ekasta tentistä

Noudatetaan näätäilyprotokollaa.

**** Protokolla:

  - Kolmen hengen ryhmät lähellä istuvien kanssa.

  - 3*30 sekunnin nimi- ja fiiliskierros, jotta keskustelu lämpenee.

  - Päivän tenttitärppi yksin-ryhmissä-kaikki -menettelyllä (seuraava
    kohta).

**** Tehtävä

- Kysymys on viime vuoden (2021) ensimmäisestä tentistä (kysymys 48/48)

- Kellotetaan 1 minuutti aikaa tehtävän lukemiseen.
  
- Kellotetaan 1 minuutti aikaa siihen, että jokainen miettii hiljaa
  itselleen vastaukset tehtäviin 27 ja 28.

- Ryhmäkeskustelu 2 minuuttia: Käykää läpi kaikkien omat vastaukset.

  Neuvotelkaa siitä, mikä niistä ehkä on eniten oikein.

- Yhteinen koonti: Kerätään luentotallenteelle ehdotuksia
  vastauksista.

  Varmistaan myös oikea vastaus ja että lopulta kaikki osaisivat tehdä
  tällaisen tehtävän tentissä täysillä pisteillä.

Tehtävänanto copy-pastella tässä täydellisyyden vuoksi:

Tutkittava esimerkki tehtävään 48: Nelijärjestelmän kantaluku on 4 ja
siinä on käytössä numerot 0, 1, 2 ja 3. Muuten se toimii ihan kuin
kymmenjärjestelmä, 16-järjestelmä (heksaluvut) ja 8-järjestelmä
(oktaaliluvut).

Tehtävä 48: Kirjoita kymmenjärjestelmän luku 255 nelijärjestelmässä.

Muistiinpanot ryhmäkoonnista:

3333 1020 3333 3333 3333 (ei vielä lopullista) (joku konvertteri
käyttöön ja katsotaan, mitä se kertoo) 3333

Logiikkaa, esim: Lähellä oleva luku 256 on 4^4. Joten se on ykkönen ja
neljä nollaa.. Siitä edellinen luku 255 on 3333.


255 on heksana 0xff.

Se on bitteinä 1111  1111
               11 11 11 11
               3  3  3  3


(Yritetään muistaa ja toteuttaa aiempi palaute: Mallivastauksen
käsittely voidaan tehdä nopeasti)


*** Näätäilyä livenä: Osaamisen arviointia ( == tenttitärppi!)

Tutkitaan kysymyspankin kysymysten rakennetta ja poimitaan jotakin,
mihin pitäisi olla jo vastauksia hahmottumaan päin.

Noudatetaan jo tutuksi tullutta näätäilyprotokollaa.

**** Protokolla:

  - Kolmen hengen ryhmät lähellä istuvien kanssa.

  - 3*30 sekunnin nimi- ja fiiliskierros, jotta keskustelu lämpenee.

  - Päivän tenttitärppi yksin-ryhmissä-kaikki -menettelyllä (seuraava
    kohta).

**** Tehtävä

- Kysymys on... ehkä viime vuoden (2021) ensimmäisestä tentistä
  (kysymykset 35-37/48)

  Kysymys on aiempia pidempi, kun on koodiesimerkki! Kellotetaan
  tuplamäärät aikaa kaikkiin vaiheisiin, verrattuna aiempaan.
  Askarrellaan kysymykset näkyviin samaan videonäyttöön koodiesimerkin
  kanssa, jos jotenkin mahdollista:

  Kysymys 35. Väite: Aina, kun rivi 4 tulee suoritukseen, se tapahtuu
  ainoastaan fork() -kutsun luomassa lapsiprosessissa. (A=kyllä; B=ei)

  b b b a/b b

  Kysymys 36. Väite: Aina, kun rivi 5 tulee suoritukseen, on olemassa
  sekä shell että sen luoma lapsiprosessi. (A=kyllä; B=ei)

  a a a b a

  Kysymys 37. Väite: Aina, kun rivi 7 tulee suoritukseen, se tapahtuu
  alkuperäisessä shell-prosessissa, ei siis fork():n luomassa
  lapsiprosessissa.  (A=kyllä; B=ei)

  a a a a a 

- Kellotetaan 2 minuuttia aikaa tehtävän lukemiseen.

- Kellotetaan 2 minuuttia aikaa siihen, että jokainen miettii hiljaa
  itselleen vastaukset

- Ryhmäkeskustelu 4 minuuttia: Käykää läpi kaikkien omat vastaukset.

  Neuvotelkaa siitä, mikä niistä ehkä on eniten oikein.

- Yhteinen koonti: Kerätään luentotallenteelle ehdotuksia
  vastauksista.

  Varmistaan myös oikea vastaus ja että lopulta kaikki osaisivat tehdä
  tällaisen tehtävän tentissä täysillä pisteillä.

Muistiinpanot ryhmäkoonnista:

yllä.



(Yritetään muistaa ja toteuttaa aiempi palaute: Mallivastauksen
käsittely voidaan tehdä nopeasti. Eipäs, vaan tästä saatiin aasinsilta
takaisin karhuluennon puolelle.)




*** Muistiin tilanne vuoden 2022 luennolla 13

Koodiliitettä eteenpäin!

minish

Jouheva jatkumo edellisistä asioista, demoista ja tenttitärpistä...
säikeistä jo? vai signaaleista?

Vai kutsupino ja rekursio debuggerilla tutkittuna demo4:n
esimerkkikoodin kanssa?

*** Tilannekuvaa vuoden 2022 luennon 14 paikkeilta

Edetään demoissa aiemmin nähtyjen ja monisteen koodiliitteessäkin
olevien konkreettisten esimerkkikoodien kautta, loogisessa
järjestyksessä.

**** Viime kerran asia loppuun: minish, fork(), exec(), wait(), exit()

Jatketaan viime kerran asia loppuun, ja kollataan vielä näätäilijöiden
vastausten oikeellisuus tenttitärpistä.

**** Demo 4 revisited: Debuggerin käyttöä, kutsupino, muistivuoto

Debuggeri, kutsupinon tutkiminen, backtrace, muistin sisällön
tutkimista, reverse engineeringiä.

Debuggerin heksana näyttämien osoitteiden suhteutus monisteen
muistikarttakuviin!

**** Demo 4b revisited: Siitä oikeasti tulee viiden rivin vastaus.

Pinokehys? Ei vielä tarvita paljonkaan. Miksi?

**** Demo 5 revisited: Mitä tästä saa demo 4b:n ja demo 6:n välissä

Tässä nähdään vaiheittain aliohjelman kutsuminen ja SysV ABIn mukainen
pinokehysten käyttö.



*** Vuoden 2022 viimeinen Näätäily 3.0 tapahtui luennolla 15

Noudatetaan harjoiteltua protokollaa. Katsotaan konekielitärppiin
keskustellen ratkaisustrategiaa.

**** Protokolla:

  - Kolmen hengen ryhmät lähellä istuvien kanssa.

  - 3*30 sekunnin nimi- ja fiiliskierros, jotta keskustelu lämpenee.

  - Päivän tenttitärppi yksin-ryhmissä-kaikki -menettelyllä (seuraava
    kohta).

**** Tehtävä

- Kysymys on... viime vuoden (2021) ensimmäisestä tentistä
  (kysymykset 42-44/48)

  Koetetaan askarrella näkyville mallikoodi ja kysymykset.

  Käydään tämä ratkaisustrategian tasolla,
  eli miten lähtisit ratkomaan tällaista?

  Kysymys 42: Kuinka monta käskyä
  ohjelmanpätkän jälki sisältää, ts.
  kuinka monta käskyä prosessi
  suorittaa siitä alken, kun
  käyttöjärjestelmä siirtää kontrollin
  nimettyyn aloituspisteeseen "_start"?

  Kysymys 43: Mikä on RCX:n
  sisältämä luku suorituksen lopuksi?

  Kysymys 44: Mikä on RDI:n
  sisältämä luku suorituksen lopuksi?

- Ryhmäkeskustelu 3 minuuttia:
  Käykää läpi kaikkien omat
  ratkaisustrategiat.

  Neuvotelkaa siitä, mikä niistä
  ehkä olisi paras tai helpoin tapa.

- Kellotetaan 2 minuuttia aikaa
  tutustua tehtävään.

- Kellotetaan 1 minuutti aikaa
  miettiä oma lähtökohta: Mitä teen,
  että saan vastaukset oikein.


- Yhteinen koonti: Kerätään luentotallenteelle ehdotuksia
  vastauksista.

  Varmistaan myös oikea vastaus ja että lopulta kaikki osaisivat tehdä
  tällaisen tehtävän tentissä täysillä pisteillä.

Muistiinpanot ryhmäkoonnista:

- Tehtävään 42: Lasketaan rivit _start:n
  jälkeen. Vastaus suoraan 7.

- Tehtävään 42: Lasketaan rivit _start
  jälkeen ja lisäksi ali:n jälkeen
  tulevat rivit. Vastaus suoraan 7+3 = 10.

- Tehtävään 42: Seurataan ohjelman
  toimintaa alusta lähtien käsky
  kerrallaan.

  Kynä ja paperi!

- Entäpä jopa kokeilu jalavassa/halavassa

Äänesteltiin. Voittajaksi nousi:

Seurataan ohjelman
toimintaa alusta lähtien käsky
kerrallaan.

Kynä ja paperi!

(Yritetään muistaa ja toteuttaa aiempi palaute: Mallivastauksen
käsittely voidaan tehdä nopeasti. Näytetään siis pari toimivaa tapaa
ratkaista.)







* Aiempien vuosien (2020-2022) toteumaa vertailun vuoksi ja suunnittelun tueksi

** Ideoita jo vuoden 2024 toteutusta ajatellen

*** Vuoden 2022 Näätäily 3.0 kohti vuotta 2024: ryhmäkeskustelu viikon ekan luennon kärkeen?

**** (ennakointia pääsiäisen paikkeilla 2022) Ajatus, kenties ennakoiva: ryhmäkeskustelu luentoviikon kärkeen?

Kokeiltiin 2022 seuraavanlaista menettelyä. Se voidaan ehkä ottaa
käyttöön sitten, kun ehkä päästään aidompaan "Flipped classroomiin" jo
olemassa olevien aihepiirivideoiden myötä. Tämä tapahtunee
aikaisintaan keväällä 2024. Vuonna 2023 oli vähän erilaisia kokeiluja
(aihepiirivideoiden tuottaminen studioyleisön läsnäollessa).

Viikon ensimmäisellä luennolla voitaisiin käydä pienet
ryhmäkeskustelut tähän malliin (siis alkaen pääsiäisen jälkeen):

- Nimi- ja fiiliskierros 3x30 sekuntia

- Ajatustenvaihto yksin-ryhmässä-kaikki: Mikä on ollut
  mielenkiintoisinta viikon lukupaketissa?

- Ajatustenvaihto yksin-ryhmässä-kaikki: Mikä on auttanut ymmärtämään
  asioita omalla kohdalla?

- Koonnit luentovideolle ja muistioon.

Mahdollisesti kokeillaan pääsiäisen jälkeen ja otetaan vähän aikaa,
paljonko tällainen näätäily vaatisi. Tavoitteena olisi saada buustia
fyysisestä läsnäolosta.

**** Eka toteuma

Otettiin tällaista käyttöön luennolla 7 keväällä 2022. Ei välttämättä
tule ihan tällaista keväälle 2023, kun tehdään aihepiirivideoita, eikä
"paluu kampukselle" ole enää vastaavalla tavalla prioriteetti kuin se
oli vielä 2022 korona-ajan jälkeen. Siitä muuten huomio:
Kannustuksista ja patistuksista huolimatta iso osa ei koskaan palannut
fyysiselle kampukselle. Tämä oikeastaan on nyt sisäistetty ja
sisällytetty kevään 2023 kulkuun tässä "studioyleisön sparraamien
aihepiirivideoiden tuottaminen kotikatsomoille" -konseptissa.

Entä tulevaisuus? Vuonna 2024 ehkä on aihepiirivideot jo nauhalla,
jolloin voisi olla perusteltua tarjota lähinnä keskustelu- ja
näätäilyhetkiä tositarkoituksella? Joskus "vain läsnä", joskus "vain
etä", joskus "hybridi sekä että" - ennakkoon tiedotetusti
kutakin. Niille, jotka kovat hyötyvänsä live-interaktiosta videoiden
ja tekstimateriaalien lisäksi.

Alla copy-paste vuodelta 2022. (Silloisen käytännön kuvaus.)

Kaksi viikkoa sitten ennakoitiin tätä, ja nyt kokeillaan. Viikon
ensimmäisellä luennolla voitaisiin käydä pienet ryhmäkeskustelut tähän
malliin (siis alkaen pääsiäisen jälkeen). Ideaalisti kolmen hengen
ryhmissä:

- Nimi- ja fiiliskierros 3x30 sekuntia

- Ajatustenvaihto yksin-ryhmässä-kaikki:

  Mikä on ollut mielenkiintoisinta lukupaketissa / demoissa tähän
  asti?

  Yksin: 1 minuutti.
  Ryhmässä: 2 minuuttia.

  Kaikki: Niin kauan, että saadaan ajatukset ylös ja tallentumaan
  videolle.
  
  Muistiinpanoja: Demot ovat olleet mielenkiintoisia. Riippuu
  henkilöstä. Skriptin kirjoittaminen oli mielenkiintoista. Demot on
  lopulta yksinkertaisempia, kuin ohjetta lukemalla ensin
  vaikuttaa. Teoriapuoli on ollut monelle kertausta tähän asti (pätee
  tietotekniikan pääaineopiskelijoille). Osalle taas teoriapuoli ei
  ole vielä auennutkaan. Vim ja Emacs nousseet mielekkäimmiksi
  harjoiteltaviksi.

- Ajatustenvaihto yksin-ryhmässä-kaikki:

  Mikä on auttanut ymmärtämään asioita omalla kohdalla?

  Yksin: 1 minuutti.
  Ryhmässä: 2 minuuttia.

  Kaikki: Niin kauan, että saadaan ajatukset ylös ja tallentumaan
  videolle.
  
  Muistiinpanoja: Googlen käyttö auttaa (+1). YouTube-videot, joissa
  näitä asioita on animoitu. Torstaiaamun "open labrapäivä". Oikeiden
  dokumenttien lueskelu (voisi olla enemmän englanninkielisiä
  termejä). Käytännön tekeminen oikeassa
  elämässä. Pelillistäminen. Kaverin kanssa tekeminen ja
  keskusteleminen. Ylipäätään demojen tekeminen. Teorian ja käytännön
  välillä vaihtelu. Asioille pitää varata aikaa! Kalenterointi,
  rutiini. Opettaminen toiselle. Omin käsin tekeminen. Innostavat
  luennot auttavat.

- Koonnit / kiteytykset luentovideolle ja muistioon.

Kokeillaan ja otetaan vähän aikaa, paljonko tällainen näätäily
vaatisi. Tavoitteena olisi saada buustia fyysisestä läsnäolosta ja
pieni yhteisöllinen aspekti siihen, että ollaan tultu kampukselle.









*** Vuoden 2022 Näätäilyä luentokertojen välillä (esimerkki) - kurkistetaan Flingaan

Kurkataan Flingaan lyhyesti, suuntaviivoiksi tuleville luentokerroille
ja suhteessa aiemmin käsitelyyksi tulleisiin asioihin. Jotakin on
saatu varmaankin viime viikolla jo pakettiin?

Käsiteltyä:

- Kertaus - mikä tuo Makefilejuttu on? (Luennolta: POSIX-standardi
  auki, sieltä Shell & Utilities, sieltä make; lyhyesti make
  'valmistaa' ohjelman annetun Makefile-ohjeen mukaisesti.)

- Voisiko luentoihin sisällyttää jonkinlaisen demojen työstämistä
  helpottavan 10-15min tiiserin, jolla pääsee hieman helpommin kiinni
  kunkin viikon "kotitehtävään"?

- Käyttäessä pääteyhteyttä screenin kanssa, jossa pyörii emacs on
  screeniin vaihtaminen huomattavasti hitaampaa kuin Paavon. Mistä
  tämä johtuu? (Ei pitäisi tietokoneen tehoista johtua)

- Sori, ei ollut tarkoitus. Kiitos silti!


** Jotain viime- ja toissavuotisia

*** Kyssäri erään luennon lopussa 2021: Mitä AMD64 oikeastaan tekee FLIHissä?

'Toinen kysymys tuli mielee eri aiheesta, tulkinnanvarasta, sanottiin
luentomonisteessa että "keskytyskäsittely on laitetasolla ehkä
monimutkikkain prosessorin operaatio mitä käydään kurssilla". Saisiko
tähän avautta vähän, siis kirjaimellisesti vai vaikea ymmärtää. Oli
siinä vaiheita kyllä.'

Vastaus: AMD64-manuaali.

Opettaja teki vähän kotiläksyjä.. Eli etsi tarkat kohdat
lähdemateriaalissa:

AMD64 manual, Vol 2, s. 19 (luku 1.6) esittelee keskeytykset
alustavasti. Ristiviittaus tarkempaan selostukseen myöhemmässä kohtaa
manuaalia. Nykypäivänä 64-bittiselle arkkitehtuurille "Long-Mode
Interrupt" on se, mitä katsotaan (ristiviittaus sivulle 247).

Sivu 247 eli luku 8.9: Osoittautuu, että nykyinen on laajennos
vanhalle. Eli uutta peruskuvauksessa on sivut 247-253 (5
manuaalisivua). Kokonaisuuden perustuu vanhaan. Vanha 32-bittinen
kuvaillaan sivuilla 237-244 (7 manuaalisivua). Näiden yhteensä 12
sivun ymmärtäminen vaatinee 100-200 sivua esitietoa manuaalin
johdantoluvuista.

Syventävällä jatkokurssilla (jota ei vielä ole olamassa) nämä kaikki
opeteltaisiin sille tasolle, että pystyttäisiin tekemään oma
keskeytyskäsittelijä vähintään näppäinpainallukselle ja kellolle
osaksi omaa pientä käyttöjärjestelmää. Lisäharjoitteena voisi olla
toteuttaa nämä sekä AMD64-prosessorille että jollekin toiselle :). 

Nyt ei olla syventävällä jatkokurssilla, joten tyydymme
luentomonisteen kiteytykseen, joka on kiteytys tyypillisessä
oppikirjassa olevalle kiteytykselle.

Kiteytyksissä on minimaaliset "hyvä tietää" -tyyppiset asiat siitä,
mitä keskeytyksen käsittelyyn siirtyminen vaatii.

Palataan alkuperäiseen kysymykseen luennon chatista:

- "keskytyskäsittely on laitetasolla ehkä monimutkikkain prosessorin
  operaatio mitä käydään kurssilla". Saisiko tähän avautta vähän, siis
  kirjaimellisesti vai vaikea ymmärtää. Oli siinä vaiheita kyllä.

*Vastaus*: Joo-o, ilmeisesti siinä tapahtuu kerralla paljon enemmän
kuin vaikkapa aliohjelmakutsuun siirtymisessä eli CALL-käskyn
suorittamisessa"! Jokainen keskeytys on hirvittävän pitkään kestävä
operaatio verrattuna siihen, että prosessori vain etenee
suoritussyklissä nykyisen prosessin käskysarjaa eteenpäin. Eli:

- "kirjaimellisesti" - ei sen kummempaa kuin: "Prosessori tekee, mitä
  sen pitää, että yksi prosessi voi keskeytyä ja jatkaa myöhemmin
  niin, että sen ei tarvitse edes tietää mitään keskeytyksestä"

- "kirjaimellisesti" - aika monta asiaa, mitkä eivät hoidu muutamassa
  nanosekunnissa, ei sitten millään. Toisin kuin joku pluslasku
  rekisterien välillä.

- "vaikea ymmärtää"? Ei sen vaikeampaa kuin ylläoleva kiteytyksen
  kiteytys.

- "vaikea ymmärtää, että saan tehtyä asian X"? Riippuu asiasta
  X. Tavalliseen sovellusohjelmaan ei tasan mitään väliä. Kahta
  säiettä tausta-ajoon käyttävässä ohjelmassa tarvitset jo jotain
  käryä asiasta. Kokonaisen käyttöjärjestelmän tekemiseksi pitää
  hallita tuhansia sivuja niiden prosessorien dokumentaatiota, joille
  järjestelmä keskeytyskäsittelyineen tehdään.

- Mikään ei ole vaikea ymmärtää, jos ymmärrät kaikki esitiedot, mitä
  seuraava pieni askel vaatii. Aloita vaikka AMD64:n Volume 1:n
  johdantoluvusta ja Käyttöjärjestelmät -kurssin
  luentomonisteesta. Yhteensäkin vain muutama sata sivua :).

  "Matka alkaa ensimmäisestä askeleesta!"

*** Vuoden 2021 luennon 14 paikkeilla käsiteltyä:

- Tehtäiskö vaikka esimerkkitapaus kädestä pitäen virtuaaliosoitteen
  muuttamisesta fyysiseksi, esim. materiaalin kuvan 27 -> avulla?
  - Katso luentovideo.

        [ TAUKO -> 11:15 ASTI ]

- Lokaalisuusperiaattesta jokin tiivistävä määritelmä? Milloin taikka
  miten tulisi huomioida vai tulisiko lainkaan?
  - kannattaa pohtia esimerkin B.4 cache.c kautta
  - iltalukemista: http://denninginstitute.com/pjd/PUBS/CACMcols/cacmJul05.pdf


- Jos prosessi olisi jaettavissa 2 täysin identtiseen osaan jotka
  jaettaisi 2 säikeelle niin missä suhteessa prosessin läpiajo
  nopeutuisi vs prosessi suoritettaisiin yhdellä säikeellä alusta
  loppuun?
  - Katso vaikka Wikipediasta Amdahlin laki.
  ( - esimerkin kautta 'Rinnakaislaskentaa säikeistämisellä' s. 217 ja seuraava )


Katsottiin vielä, mistä Demo 6:ssa on kyse.


Tämän päivän tavoite siis:

- Varmistetaan, että demo 5 on käynnissä.
- Paikataan ymmärrysaukkoja lukuihin 9 ja 10 kysymysten pohjalta.
- Katsottiin demo 6:tta

*** Vuonna 2020 luennolla 15 kartoitettuja uusia kysymyksiä

Kysymykset tänään (5 min aikaa esittää):

- Joku maininta Flash muistista ja sen erosta SSD muistiin?

- Tietääkö siis siitä että on varmasti kurssilla, että pääsee
  moodlessa sivulle jossa lukee "Prinsessa ei ole tässäkään
  linnassa."? Ja tämä riitti tentti-ilmoittautumiseksi?

- Luentomonisteessa sivuilla 145 ja 146 esitettyjen kysymyksien
  vastauksien perustelut.

- Tuleeko olemaan aamupäivän tenttejä tarjolla? Työt menee keskiviikon
  tentin kanssa päällekkäin...

- Jos joku kova linkattu tiedosto poistetaan niin poistuuko kaikki
  kyseisessä linkki "ketjussa" olevat tiedostot?

- oisko mahdollista saada joku yhteenveto kurssin pääaiheista/
  tärkeimmistä aiheista

- Voidaanko katsoa vielä mistä kohtaa luentomonistetta näkyisi demo 5
  parhaat neuvot?

- Lisää tenttitärppien läpikäymistä!

- Voisiko katsoa materiaalien sivulla 164 kuvan 33. vielä läpi, jotta
  kunnolla sisäistää kokonaisuuden

- Mitenkä parametrinvälitys aliohjelmalle (assembly-tasolla) menee,
  jos ei ole integer-tyyppinen muuttuja vaan esimerkiksi file?

- DMA ja RAID? Näiden toimintaperiaatteet? 

- Luentomonisteen tärkeimmät luvut jotka erityisesti kannattaa
  sisäistää?

- s.57 monisteessa puhutaan exit() kutsusta ja sen järjestysnro on 60,
  mutta s 56 olevassa koodissa en löydä tätä

- voisi vielä kerrata tuota sivun 79 kuvan pinokehysasiaa 

Priorisoidaan tauon jälkeen.

[Tauko 15:15 asti. Kesti vähän yli, koska tapahtui opettajien
pedagoginen esikarsinta ja jäsennys ennen pollausta.]

Priorisoitiin.

*** Vuonna 2021 (ja yleensäkin aina) pois jätettyjä: Flash, SSD, DMA, RAID


Aihealueen ohittavat:

- Joku maininta Flash muistista ja sen erosta SSD muistiin?

  Vastaus: Katso Googlesta.

- DMA ja RAID? Näiden toimintaperiaatteet? 

  Vastaus: Rajataan tänä vuonna tentin ulkopuolelle. Monisteessa on OK
  lähdöt, ja Wikipedia kertoo kyllä lisää.

[Perjantaina loput.]

*** Aiemman vuoden kysymys ja vastaus heksaluvuista 3.4.2020

- Heksaluvut, apuja opetteluun?

  ja sitten, missähän pääsee opettelemaan noita heksamuunnosjuttuja,
  mulla on joku niihin liittyvä narkolepsia ja tarviin toisteisuutta
  että opin :)

  Luentomonisteessa oli esimerkki: "Esimerkiksi luku 123 on
  heksajärjestelmässä 7B_16 = 7 · 16^1 + 11 · 16^0 = 123." Miten tuo
  ratkaisu saadaan? Miten sitä lähdetään selvittämään?

  Eri lukujärjestelmien numerot:
  - 01                binäärit
  - 0123456789        desimaalit
  - 0123456789ABCDEF  heksadesimaalit

  Esimerkki kymmenjärjestelmässä ja heksadesimaalina:
     123 = 1 * 100 + 2 * 10 + 3 * 1
    0x7B =           7 * 16 + B * 1   = 7 * 16  + 11 * 1  = 112 + 11 = 123

  Tuo '0x' on yleinen tunniste monissa kielissä, kun halutaan esittää heksoja.

  Liikaakin lisätietoa löytyy osoitteesta https://en.wikipedia.org/wiki/Hexadecimal
*** Joitain kysymyksiä ja vastauksia vuodelta 2020, viimeisellä luennolla

Nopeat:

- Mitenkä parametrinvälitys aliohjelmalle (assembly-tasolla) menee,
  jos ei ole integer-tyyppinen muuttuja vaan esimerkiksi file?

  Vastaus: "file" (anteeksi lainausmerkit) välitetään esimerkiksi
  fgetc():lle muistiosoitteena FILE -tyyppiseen
  tietueeseen. Välitettävänä on siis kokonaisluku, joka on
  muistiosoite. Parametrin välitys on täsmälleen samanlainen kuin
  saman pituisissa kokonaisluvuissa. Esimerkiksi AMD64:ssä
  64-bittisille kokonaisluvuille. Sopimus: SysV ABI kertoo kaikki
  muutkin vaihtoehdot, mutta niitä EI nähdä tällä kurssilla.

- Voidaanko katsoa vielä mistä kohtaa luentomonistetta näkyisi demo 5
  parhaat neuvot?

  Vastaus: Luennolla kuvatuin perustein sanoisin, että *erityisesti luku
  4* avaa demon 5 asiaa. Edellyttää esitietoja luvuista 1-3, ja koko
  homman tavoitteena on tukea lukujen 6-12 ymmärtämistä.

- Luentomonisteessa sivuilla 145 ja 146 esitettyjen kysymyksien
  vastauksien perustelut.

  Vastaus: Pitkä ja harras selitys tärpeistä tähän tehtävään on
  "Luento 14: (pe 8.5.2020)". Kysymys virtuaalimuistiosoitteen
  muuntamisesta.


Esikarsitut, pollatut ja priorisoidut:

- Kurssin pääaiheiden yhteenveto

  Oisko mahdollista saada joku yhteenveto kurssin pääaiheista/
  tärkeimmistä aiheista

  Vastaus: Katso luentovideo.

  Luentomonisteen tärkeimmät luvut jotka erityisesti kannattaa
  sisäistää?

  * Luvut 1-5 ehdottoman tärkeä. Muuten ei ole edellytyksiä edetä.

  * Luku 6 motivaation kannalta, mutta ei ehkä teknisen näkökulman tai
    teknisen tekemisen tasolla.

  * Varsinainen sisältö ovat (tällä kurssilla) luvut 7-12. Kaikki ovat
    yhtä tärkeitä!
  

[Tauko 11:20 asti]
  
- Tiedostojärjestelmän tietorakenteet (s. 164)

  Voisiko katsoa materiaalien sivulla 164 kuvan 33. vielä läpi, jotta
  kunnolla sisäistää kokonaisuuden

  Vastaus: Katso luentovideo.


Pointtereita seuraaviin, joita ei ehditty käydä "varren kanssa":

- Pinokehyksen kertaaminen (s. 79)

  voisi vielä kerrata tuota sivun 79 kuvan pinokehysasiaa 

  Varsi olisi ollut: Etsittäisiin luentomuistiinpanoista, millä
  luennolla tätä käytiin läpi. Tarkistettaisiin videolta, tuliko
  siellä riittävästi.

  Jatkovarsi olisi ollut: Miten tämä asia ilmenee demossa 5.

- Miten tiedostolinkit toimivat?

  Jos useampi tiedosto on kova linkattu niin poistaa yhden poistuuko
  kaikki? Vai ymmärsinkö koko linkityksen väärin

  Varsi olisi ollut: Kokeillaan käytännössä halavalla / jalavalla.

  Vastaus: On hyvä perusosaamisen testi itsellesi, osaatko tehdä tämän
  kokeilun ja vakuuttua siitä, kuinka homma näyttää
  jalavalla/halavalla pelittävän.

- Miksi s.57 exit() on 60 mutta ei konekoodissa?

  s.57 monisteessa puhutaan exit() kutsusta ja sen järjestysnro on 60,
  mutta s 56 olevassa koodissa en löydä tätä