-*- coding:utf-8 ; mode:org -*- Käyttöjärjestelmät, kevät 2021. Tämä on suunnitelma, joka muuttuu ajankäytön ja muun perusteella. Aivan aluksi pohjana on luentojen eteneminen edellisenä vuonna. Ei mene pahasti vikaan, jos menee samalla lailla. * Pelisäännöt videonauhoituksista - Soveltuvin osin yritetään saada luennot nauhalle. - Emme jälkikäteen sensuroi, joten huomaa: Kun puhut, äänesi tulee julkaistavaan videoon. Chät-ikkuna ei näy, joten sinne voi kirjoitella, eikä se tule videoon. - Joskus vielä tekniikka pettää, jolloin itketään hetki ja eletään ilman kyseistä nauhoitetta. - Kun katsot jälkikäteen, katso nopeuttuna! * Toteutunutta vuonna 2021: ** Luento 1: (ke 17.3.2021) Aloitus, yleisinfo ja suoritusvaatimukset *** Tämän päivän tavoite Luennon päätavoite on kuvailla kurssin tekniset vaatimukset ja muu perusinfo. *** Tutustumiset - Esittelyt: opettajat, opiskelijat, opiskelijoiden pääaineet - Kartoitetaan Flingalla seuraavat ensimmäisen luennon osanottajista: + Opiskelijoiden pääaineet: Tietotekniikka: 94 opiskelijaa Tietojärjestelmätiede: 7 opiskelijaa Matematiikka: 5 opiskelijaa Muut oppiaineet: 10 opiskelijaa (videolla hienojakoisempi) + Opiskelijoiden pääasialliset käyttöjärjestelmät omassa käytössä (pöytäkoneet, tabletit, älypuhelimet, ...)? Windows: 89 opiskelijalla käytössä. Android: 88 opiskelijalla käytössä. Linux: 30 opiskelijalla + yhdellä opettajalla käytössä iOS: 21 opiskelijalla käytössä MacOS: 14 opiskelijalla + yhdellä opettajalla käytössä Raspberry Pi OS: 7 opiskelijalla käytössä (Linux-jakelupaketteja jaoteltiin tarkemmin; näkyy videolla) - Pidemmän kaaren tähtäyspisteet: + Esimerkiksi millaisiin käytännön asioihin tämä kurssi on ensimmäinen askel? (Luentovideolta näkyy esittelyt tarkemmin) Lyhyt kysymys-/vastaushetki (chät) ja tauko ennen "byrokratian" ja vaatimusten läpikäyntiä. [Tauko 10 minuuttia; jatkuu tasan 13:15] Tauolla saa rupatella; ilmoitetaan aina, kun videotallennus taas jatkuu. Tauolla esitettyjä kysymyksiä: - Milloin luento päättyy? Pyritään aina lopettamaan tasalta eli tänään 14:00. - Kuinka paljon lisätöitä, jos ohjelmointi 1:sen asiat ei ole hyvin hallussa? Jos ei ole hyvin hallussa niin aika paljon. *** Mistä kurssiin liittyvät asiat löytyvät - Käydään läpi, mistä kaikki kurssiin liittyvä löytyy (kaikkiin löytyy vähintäänkin aloituslinkki kurssin nettisivulta): + Luentomoniste + Osaamistavoitteet + Demot ja niiden palautus: Demot on julkaistu toistaiseksi HTML-muodossa (linkki kurssin etusivulta). Viime vuonna opiskelija teki CSS-tyylin; tällaista aktiivisuutta arvostamme! Seuraavalla luennolla tulee tarkempi opastus ensimmäisiin demoihin, joten sinne asti voi olla ihan hyvä vielä malttaa ja käyttää aikaa tutustumalla luentomonisteeseen ja kertaamalla esitietoja, erityisesti Ohjelmointi 1:n osalta! Palautuslaatikko avataan aikanaan, kun olemme testanneet sen toimivuuden. + Aikataulut ja salit: Aikataulut Sisussa - opetus pyörii niiden mukaisesti. Toimitaan etämoodissa Zoomilla tämä kevät. Selitys "Laboratoriotyölle" 19.-20.4.2021: Ei tarvitse välittää ennakkoilmoittautumisesta Sisussa. Samanlainen ryhmäsessio tarjotaan kaikkina listattuina aikoina. Valitse itselle sopiva. Selitys "Open labrapäivälle" noin viikottain: Ajankohta, jolloin kurssin opettaja hengaa kurssin Zoom-huoneessa. Voidaan käsitellä kurssin asioita tai muuta, tai tehdä vaan hiljaa omia hommia. Jos osoittautuu tarpeelliseksi tehdä lisäryhmäohjauksia loppukevääästä, niitä pyritään aikataulun sallimissa rajoissa tuottamaan. Eivät näy Sisussa, vaan tiedotetaan Moodlessa. + Materiaalin reaaliaikainen tilanne löytyy Gitlabista. Päivitysten julkaisu useimmiten 1-2 tunnin kuluttua luennon päättymisestä. *** Mitä vaaditaan kurssin suorittamiseen - Käydään läpi määrälliset vaatimukset, jotka ovat jo näkyvillä myös nettisivulla: Pakolliset demot ja tentti. - Demojen deadlinet? Vahva suositus olisi noin 1 demo viikossa sen jälkeen kun annetaan lupa aloittaa eka. Muutenkin kaikilla kursseilla suositeltavinta on tehdä töitä tasaiseen tahtiin, tehokkaasti, ja pitäen kiinni myös omasta ajasta ja hyvinvoinnista! Ohjausta ei ehditä antamaan enää 23.5.2021 jälkeen, koska 4. periodi loppuu eikä kurssi ole sen jälkeen työsuunnitelmissa. Paavon kursseilla dedikset ovat ohjeellisia ja palautukset mahdollisia ympäri vuoden perustellusta syystä. *** Muuta huomioitavaa ja tarkentavia kysymyksiä (siirrettiin perjantaille) *** Mitä seuraavaksi ja siitä eteenpäin Luettavaa: - Kurssin etusivu http://users.jyu.fi/~nieminen/kj21/ ja mitä liikkuvia osia keväässämme on. - Luentomonisteen alkuosa eli luvut 1-2. Jos tarvitset tai haluat niin myös pullantuoksuinen pehmojohdanto. - Syvennymme aiheesiin perjantaina. Ennakkokatsaus kevään luentomuotoon: - Tullaan pitämään kunkin viikon toisessa luentopäivässä ryhmätyövetoista toimintaa! Tähän on hyvä varatua alusta lähtien. Aiheesta lisää perjantaina, joka on vielä ihan perinteinen luento. ** Luento 2: (pe 19.3.2021) Luentomuoto, demo-ohjeistus, varoitukset(!) *** Info ja edellisen kerran kysymykset - Meillä on yksi virallinen vertaistukikanava Moodlessa: + Käyttäkää hyödyksi + Otsikoikaa viestit niin, että tietää, mistä on kyse - Edellisen kerran chätistä poimitut kysymykset vastataan tähän kärkeen: + Tuleeko luentotallenteet katsottavaksi heti luennon jälkeen? Vastaus: Muun työn ja perhe-elämän määrittämässä aikataulussa mahdollisimman pian. Viivettä voi silloin tällöin olla. + Millä aikataululla demoja palautetaan? Vastaus: Noin yksi viikossa; tarkennetaan ihan kohta kohdassa "byrokratia". Jonnen chat-tarkennus ekalta luennolta: Kannattaa palauttaa ohjeellisten dedisten mukaan (tai yrittää kovasti pyrkiä siihen! toim. huom.). Pysyy rytmissä ja demot kasvattaa tulevaan asiaan! + Pidetäänkö tällä kurssilla pääsiäislomaa joka on vissii 2vk päästä? Vastaus: Kyllä. Yliopiston ohjeita noudatetaan ja pääsiäisviikko on taukoa kaikesta opetustoiminnasta. Oppiminen omalla vastuulla ja aikataululla; pienet hengähdystauot ovat suositeltavia. + Oliko arvosana siis tentistä pelkästään? Ja tätä sitten voi korottaa myöhemmin uusinnalla tjsp...? Vastaus: Jep, tarkennetaan arviointi kohdassa "byrokratia" alla. + Tämä teidän kahden henkilön voimin luennointi on aika mahtava. Että toinen vastailee chatissa, kun toinen puhuu. Näin palautteena jo tässä vaiheessa. Kiitos tästä. Vastaus: Kiitos välipalautteesta - yritämme pitää draivin yllä näillä 15 luennolla, jotka ovat edessä. + Eli mitään ei ole Agoralla, vielä varmistuksena? Jep, ei mitään Agoralla tämän kurssin puitteissa. + Tuosta vielä neuvoa muistiinpanojen tekemiseen: http://lsc.cornell.edu/how-to-study/taking-notes/cornell-note-taking-system/ + Mulla oli muuten tuossa alussa hiukan vaikeuksia löytää tää Zoomilinkki, onko se muualla kuin Sisussa? Moodlessa on. Yleisellä tasolla huomaa, että löytyy myös Sisusta, jos opettaja / toimisto on laittanut lisätietona järjestelmään. Katotaan vaikka livenä ja videolle, että miten. + Oliko lukumateriaalia mihin asti nyt tarkoitus lukea? Vastaus: Sai tutustua jo lukuihin 1-2. Tänään annetaan varsinaiseksi kotitehtäväksi lukea ensi keskiviikon luentoon mennessä luvut 1-2 ja demon 1 ohjeteksti. - Nyt se kurssin byrokratiapuoli eli nettisivun osuus alkaen "Tärkeätä ennakkotietoa" - Arvosanan määräytyminen on vissiin yksi aika kiinnostava asia, joka unohtui viimeksi: + Tentti määrittää arvosanan; hyväksytynkin saa uusia. + Kaikki demot täytyy tehdä hyväksytysti, että kurssista saa suorituksen, mutta niiden pisteytys ei vaikuta kurssin arvosanaan. Demopisteet antavat vain itsellesi kuvaa siitä, kuinka pitkälle asiat näyttävät hahmottuneen aina kulloisessakin vaiheessa. Kyseessä on opettajan näppituntuma verrattuna kokemukseen noin 10 vuoden demopalautuksista, varmaan 1000 opiskelijan populaatio siis vertailupintana arvioissa. Mutta siis viitteellinen, ei kurssin arvosanaan vaikuttava näppituntuma on kyseessä. *** 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 ennen kuin seuraavan kerran nähdään yhdessä. - Eli toisin sanoen: Tämän kurssin opiskelu on kaikilla 100% käynnissä! *** Demo 1 käyntiin siis Pääteyhteys ja siihen liittyviä asioita: - Luentomuoto ja kurssin työkalut alusta alkaen ja esimerkit näyttäen: pääteyhteys, bash-shell ja tekstipohjaiset työkaluohjelmat. - Miten lähdetään tekemään demoa 1: Alkuvaroitukset ja toisaalta rohkaisu. - Demojen tekemisen saa aloittaa vasta, kun on sisäistänyt varoitukset!! - 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!) - HUOM: Windows-pääteyhteysohjelman (esim. KiTTY) todennäköinen ääkkösongelma ja sen korjaaminen: Omissa asetuksissa todettava etäkoneen merkistö; meidän tapauksessa UTF-8 (tätä ei pystytty näyttämään 2020, kun opettajilla ei ole KiTTYä tai PuTTYä käytössä. Suositus toki olisi ettei opiskelijoillakaan olisi!! Voi olla asia, jota on syytä puida vertaistukikanavalla sitä mukaa kuin havaitaan ongelmia ääkkösissä tai missään muussakaan! - 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! Chatista poiminta: https://xkcd.com/327/ [ Tauko 11 minuuttia. Aloitetaan teholla taas 15:20 ] *** Ryhmäkuva Otettiin tauon jälkeen halukkaat ryhmäkuvaan, jolla kurssin etusivu kustomoidaan myöhemmin luentoesimerkkinä. Huomaa, ei ole mikään pakko näyttäytyä! Nou stress, nou mess! *** Tiedote ensi kerrasta Tämä päivä vielä aivan "perinteistä" luentoa. Ensi kerrasta jo ennakkotiedote: - Tulee lupausten mukaisesti uutta ja kokeellista menettelyä. - "Näätäillään" tositarkoituksella, eli interaktiota ja ryhmäkeskusteluja on luvassa. - Jos päätät osallistua näätäilyyn ja tulla paikalle, varaudu seuraaviin: + Todennäköisesti tullaan keskustelemaan pienryhmissä. + Todennäköisesti tullaan suosittelemaan videokameran käyttöä ryhmäkeskustelussa. Ei tietenkään haittaa, jos ei omista kameraa - ei tietenkään velvoiteta tekemään hankintoja. Taitaa olla myös vähän pulaa web-kameroista kauppojen hyllyillä koronasta johtuen... + Voi olla hyvä varmistaa mikrofonin toiminta etukäteen. Muuta tästä ei vielä tiedetäkään, vaan näemme ensi kerralla miten käy. Ehkä epäonnistutaan, ja yritetään seuraavalla näätäilykerralla paremmin. Tarkoitus on pitää jotakuinkin toinen luentokerta viikossa tällä tavoin. Eli keskiviikot. Tästä luennosta alkaen yritetään karhuluennoilla (ei näätä-) mennä kaikki asiat 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ä tämän luennon varoitukset on syytä ensin sisäistää. *** Sukelletaan luentomonisteeseen sivulta 1 alkaen Mikä dokkari? Kenen kaikkien tekemä? Miten tätä luetaan ja käytetään luennoilla tai kotioloissa? *** Ennakkotehtävät ennen seuraavaa luentoa: Luettavaa: - Luentomonisteen alkuosa eli 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, pyritään näätäilemään yksin, ryhmissä ja koko porukalla sen asian parissa, mitä lukupaketti ja demon tekeminen ovat siihen mennessä herättäneet ja tuottaneet muistiinpanoihisi! Ahkerasti käyttämään loput viikottaisesta 16 tunnin panoksesta tähän 5 opintopisteen kurssiin! Muista kuitenkin myös lepo ja tyhjäkäynti! Se auttaa jaksamaan taas toiminnan hetkinä. ** Luento 3: (ke 24.3.2021) Ensimmäinen ryhmäkeskustelumuotoinen tilaisuus! Eli suomeksi näätäluento! Aletaan tykittää aika tasan 14:15! *** Päivän päätavoitteet: - Interaktio, ryhmäkeskustelu. - Pysyen kurssin ja siihen sopivien opiskelumenetelmien tematiikassa. - Luodaan yhteistä käsitystä aiheista, joita viikon karhuluennolla olisi tarpeen käydä läpi. *** Ryhmien jako Nopee! Zoomissa satunnaiset Breakoutit nimeltä Room 1, Room 2, ..., Room N. Ryhmäkoko 4-5 henkeä, suurin osa 4-henkisiä. Myöhässä tulevat ladotaan lisäjäseniksi pitkin matkaa - väkimäärämuutokset siis todennäköisiä. *** Lämmittely ja menettelytavan opettelu **** Nimi- ja fiiliskierros ryhmissä Ennakkopohdinta (1 minuutti): - Missä tunnelmissa olen juuri nyt? Ennakkopohdinnan voi kokeilla tehdä kynällä paperille, vaikka avainsanoin. Ryhmissä seuraavat (7 minuuttia): - Mikrofonit päälle - Videolähetykset päälle, jos on kamera - Zoom-nimen mukaisessa aakkosjärjestyksessä (paremman ratkaisun puutteessa): + Jokainen vuorollaan kertoo: Kuka olen, mistä oppiaineesta, missä tunnelmissa olen juuri nyt. Muut eivät keskeytä! Pidä tunnelmakuvaus lyhyenä. + Kun ihan jokainen on saanut vuoron, aloitetaan uusi kierros, jossa saa jatkaa juttua vapaaammin. + Jatketaan, kunnes tulee paluu pienhuoneesta. Zoomissa on automaattinen 60 sekunnin varoaika takaisinkutsun jälkeen. **** Miten meni? Teknisten ongelmien laajuuden selvitys, jutellaan vähän ääneen ilman videotallennusta: - Toimiko mikrofonit? - Oliko aika riittävä? - Heräsikö keskusteluakin alkukierroksen pohjalta? **** Yhteinen koonti Tämä osio videolle. Kerätään Flingaan: https://flinga.fi/s/FCJ98LX - Yhteen lappuun yksi tunnelmaa kuvaava sana, joka ilmeni ryhmässäsi. Esimerkiksi "odottava" tai "iloinen" tai "ketutus" - Tykkää omasta lapusta ja ristiin muiden tunnelmista, joihin itse samaistut. *** Miten viikko kurssin parissa meni? **** Mikä oli mielenkiintoisin asia, jonka opit kuluneella kurssiviikolla? Yksilöpohjustus: Mieti oma vastaus (1 minuutti). Kierros: Kaikki omalla vuorollaan jakaa Sen jälkeen: Ryhmältä Flingaan yksi lappu, jossa on listattu kierroksella löytyneet asiat. Flinga-linkki: https://flinga.fi/s/FZFWT6K Ryhmä joutuu eli pääsee tässä käymään keskustelua uudelleen ja päättämään, kuka toimii kirjurina Flingaan. Esimerkki: "Room 43: Ohjelmointi 1:n aliohjelmanäytelmän juoni avautui ensimmäistä kertaa, osaan heksat!, pinon ja listan ero (x2)" Aikaa tehtävään: 14:57 asti. **** Yhteinen koonti: Room 1: Esitiedot näyttäävät hallittavilta. Esitiedot näyttävät haastavilta. Miten bitit toimivat: Miten tieto viedään biteistä korkeammille tasoille ihmiselle asti 10-järjestelmä ja heksaluvut Noutosuoritussyklin toiminta (fetch execute) room 2 ollaan tehty demoja ja lueskeltu PDFää mutta ei mitään uusia asioita vielä mutta vanhan kertausta Room 3: Mitä tietokoneessa tapahtuu, kun sen käynnistää. Linuxin terminaalin käyttö kohentui. Linux/unix:in shellipohjainen käyttö. Alkulataus tai monoliittinen/mikroydin R4. Uudet komennot komentorivillä, käyttöjärjestelmän tarkoituksen hahmottaminen ja etäyhteyden käyttö. Room 5: Suoritussyklit oli uutta ja jännää. room 6: Hyvät kertaukset Room 7: Shellin käyttö, prosessorin toiminta tarkemmin, heksadesimaalien ja bittien suhde Room 8: Monelle kertausta. Pari uutta komentoa shellin käytössä tullut ihmisille. Yksi kokonaan uusi shellin käyttäjä. R9: hyvää kertausta Linuxin shellin komennoista. Viikko hyvää kertausta muutoinkin. R10: Flagit, ei paljoa uusia asioita, hyvää kertausta Room 11: Ensimmäisen viikkon aikana enimmäkseen tutustuttu kurssin materiaaliin päälisin puolin, esim. tietokoneessa nappulan painamisen ja näytöllä tapahtuman välillä on pitkä ja monimutkainen tapahtumaketju. Room 12: Näätäily -termin merkitys, SSH yhteyden ottaminen windowsin komentokehotteen avulla. Room 13: Putkittaminen, vaaratilanne-esimerkki (Rm -rf *) **** Mikä asia ei vielä auennut Ohje on jo jaettu Zoom-chatin kautta! Ota auki. Koko tehtävän ohjeistus ennen taukoa. Yksilöpohjustus tauon aikana. Tauon jälkeen heti ryhmään, ryhmät aukeaa tasan klo 15:15. Yksilöpohjustus: Mieti oma vastaus (aikaa tauon ajan). Kierros: Kaikki omalla vuorollaan jakaa Sen jälkeen: Ryhmältä Flingaan tasan yksi asia, jonka ryhmä yhdessä katsoo kaikkein tärkeimmäksi lisäkertausta tai selvittelyä vaativaksi asiaksi. Löydökset muodostavat pohjaa perjantain karhuluennolle! Flinga-linkki: https://flinga.fi/s/FAUVXGG Joutuu ja pääsee vaihtamaan ajatuksia ja perusteluja. Esimerkki: "Jäniksistä olisi saanut olla enemmän tietoa." Aikaa: 15:15-15:25 (+5 minuuttia lisäaikaa) **** Yhteinen koonti Tämä osio videolle. Yhteinen koonti: Flingassa anonyymi tykkäys omasta mielestä tärkeimmistä. Tästä nähdään, mitä perjantain karhuluennolta toivotaan! Opettajat ottavat sen huomioon, mutta päättävät lopulta itse, mitä tuutista tulee. Tässä jälkikäteen Flingasta kopsittu prioriteettilista: - 28 tykkäystä: Suoritussykli, lippurekisteri, IP - 15 tykkäystä: POSIX-standardin käsitteen avaaminen. - 14 tykkäystä: Muistiasioita olisi voinut avata enemmän, rekisterit, välimuisti, ROM ja RAM - 13 tykkäystä: Kiinnostaisi oppia enemmän ymmärtämään mitä matalalla tasolla oikeasti tapahtuu - 9 tykkäystä: Prosessorin fyysinen toiminta - mitä komponentteja prosessorissa on tmv, suoritussykli - 8 tykkäystä: Suoritussykli - 7 tykkäystä: Osoite-, data-, ohjauslinjoja voisi avata enemmän. - 6 tykkäystä: Ei mikään jäänyt ymmärtämättä, mutta suoritussykli/IP aika paksua luettavaa ennenkuin asiat saadaan vedettyä yhteen. - 5 tykkäystä: tekninen termistö, prosessorin toiminta ja fyysinen laitteisto - 5 tykkäystä: Luvut prosessorin toiminnasta ja suoritussyklistä. - 3 tykkäystä: Miten asiat toimivat keskenään tietokoneen sisällä? - 2 tykkäystä: Lukujärjestelmät ja niiden visualisointi. Tältä pohjalta karhut miettivät, mitä perjantaina luennolla käydään. *** Oppimisen tukeminen **** Anonyymi Zoom-pollaus: Paljonko tuli käytettyä aikaa? Tästä aiheesta lisää keskustelua ja yleistä filosofiaa luentovideolla hieman puolenvälin jälkeen. Katso. **** Mikä auttoi oppimaan tehtäväpaketin asioita? Kelloon katsominen: Tämä nopeana? Tai jätetään myöhempään kertaan? Päästävä jäähdyttelyyn 15:50. Yksilöpohjustus: Mieti oma vastaus (1 minuutti). Kierros: Kaikki omalla vuorollaan jakaa (Tämä jätettiin aikataulun pitämiseksi pois: Ryhmältä Flingaan tasan yksi asia, joka voisi auttaa suurinta osaa kurssilaisista.) *** Osaamisen arviointia Kelloa katsoen: Jätetään tällä kertaa vielä lupaukseksi, että ensi kerralla on jo mukana jokin tenttitärppi! *** Jäähdyttely **** Loppufiiliskierros. Ryhmissä pikakierros: Missä tunnelmissa kohti seuraavaa luentoa / muita askareita? **** Anonyymi Zoom-pollaus Tuntuiko tämä ensimmäinen näätäilyluento hyödylliseltä itsellesi? Karkeasti 50% läsnäolijoista koki tilaisuuden hyödyllisenä tai tosiaankin hyödyllisenä. 14% ei kokenut hyödyllisenä. Kukaan ei kokenut "tosiaankaan ei hyödyllisenä". Opettajien johtopäätös: Näitä kannattaa jatkaa. Ovat vapaaehtoisia, joten osallistumisen voi tehdä omasta hyötynäkökulmasta. Jatkossa päälinjat menettelyssä ovat jo tuttuja (katso video), joten voidaan varmaankin vielä jonkin verran tiivistää ja kristallisoida näätäilyä siitä, mitä tänään koettiin. Perjantaina ei näätäillä. Karhut tulee, vetää luennon. *** Tältä päivää oli tässä Huomenna (to 25.3.2021) klo 8:15-10:00 "Open labrapäivä" eli: voi tulla kysymään asioita tai hengaamaan linjoilla. Päivystysluonteinen, jossa katotaan, mitä tulee, jos tulee mitään. Tai sitten vaan tehdään ihan muita juttuja. Opettajistoa on saatavilla luento-Zoomissa vähintään Sisussa ilmoitetun aikaikkunan ajan. Nämä jatkuvat pääsääntöisesti torstaisin Sisussa ilmoitettuihin aikoihin toukokuun loppuun (paitsi pääsiäisviikolla). ** Luento 4: (pe 26.3.2021) (P/J) Karhuluento ("opettajat opettaa") *** Infot keväälle 2021 - Demopalautus saatiin auki. Tarkastukset tulevat mallia heti kun ehditään. Klo 9:13 oli jo 82 palautusta ja klo 10:04 oli 86. Mahtavaa!! Keep it comin'! Muista painaa lopuksi vielä "Lähetä arvioitavaksi". Meillä on tällainen asetus päällä tositarkoituksella. Ei tule vahingossa väärää tiedostoa lähetettyä. Ehdit miettiä ennen kuin klikkaat "lähetä". - Keskiviikon näätäily meni hyvin. Jatkossa jo osataan enemmän, niin tulee vielä vähemmän "tyhjäkäyntiä". Katso video. Ensi kerralla voi hyvin tulla mukaan, vaikka ei olisi ensimmäiseen päässyt. Sama jatkossakin. - Torstaina oli ensimmäinen Open labrapäivä. Saatiin vastaus kaikkiin kysymyksiin. Paljon oli myös hiljaista työtä omien hommien parissa. Tervetuloa jatkossakin. Labrapäivässä saa kysyä mitä vaan. - Välittömästi tämän päivän luennon jälkeen halukkaat voivat tehdä jouhevan siirtymän tilaisuuteen "Yhdessä opinnoissa eteenpäin - koronasta huolimatta" https://jyufi.zoom.us/j/64091782335 Opettajista ainakin Paavo on luvannut mennä sinne saman tien, kun tämä päättyy (tavoite 12:00) *** 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: Demo 2 ohjeteksteineen ja monisteen luvut 3-4. Ja aina aiemman kertaamista "uusin silmin"! Tänään koetetaan avata silmiä jälkimmäistä tarkoitusta varten. - HUOM: Tässä kohtaa on yliopiston pääsiäistauko opetuksesta. Seuraava yhteinen tapaaminen on näätäluento 7.4.2021 klo 14:15. *** Demo 2 esittely Käydään läpi demo-ohje ja näytetään malliksi vähän esimerkkiä, miten ryhdytään tekemään. Mutta ei toisteta sitä, mitä lyhyessä lisävideossa jo selitetään screenistä. Katso se erikseen sitten demoa tehdessä! *** Näädät ehdotti, karhut päättivät **** Toimenpideyhteenveto keskiviikosta Keskiviikkona näätäluennolla kartoitettiin, mistä porukka haluaa väännettävän rautalankaa. Hahmotimme olennaisesti viisi asiakokonaisuutta: 1. Prosessorin ja muun laitteiston toiminta + 28 tykkäystä: Suoritussykli, lippurekisteri, IP + 13 tykkäystä: Kiinnostaisi oppia enemmän ymmärtämään mitä matalalla tasolla oikeasti tapahtuu + 9 tykkäystä: Prosessorin fyysinen toiminta - mitä komponentteja prosessorissa on tmv, suoritussykli + 8 tykkäystä: Suoritussykli + 6 tykkäystä: Ei mikään jäänyt ymmärtämättä, mutta suoritussykli/IP aika paksua luettavaa ennenkuin asiat saadaan vedettyä yhteen. + 5 tykkäystä: tekninen termistö, prosessorin toiminta ja fyysinen laitteisto + 5 tykkäystä: Luvut prosessorin toiminnasta ja suoritussyklistä. + 3 tykkäystä: Miten asiat toimivat keskenään tietokoneen sisällä? 2. Väylän toiminta + 7 tykkäystä: Osoite-, data-, ohjauslinjoja voisi avata enemmän. 3. Muistin toiminta + 14 tykkäystä: Muistiasioita olisi voinut avata enemmän, rekisterit, välimuisti, ROM ja RAM 4. Mikä on POSIX + 15 tykkäystä: POSIX-standardin käsitteen avaaminen. 5. Lukujärjestelmät ja niiden visualisointi + 2 tykkäystä: Lukujärjestelmät ja niiden visualisointi. Muutamia viime vuoden (2020) kysymyksiä ohjastamaan käsittelyä: - Mitä tarkoittavat ALU:n yhteydessä olevat rekisterit IA, MD ja AC? - Hierarkkinen vs. modulaarinen rakenne? Rakenne mietityttää, "hierarkkinen" vs. "modulaarinen" luentomonisteessa, voisiko tästä puhua vähän lisää? Vastaus, jos unohtuu käsitellä luennolla: Monisteen kirjoittajan mielessä oli tiivistää ajatus, että tietokone koostuu osista (prosessori, muisti, lisälaitteet) ja osat koostuu osista (esimerkiksi prosessori rekistereistä, välimuistista, ohjauskomponenteista, ...) jotka koostuu osista (esimerkiksi rekisterit nopeista yhden bitin kokoisista muistikomponenteista). Eli rakenne on hierarkkinen, kun kunkin ylemmän tason toiminnallisuus koostetaan matalamman tason komponenteista. Komponentteja on samallakin tasolla monta ja niillä on erilaisia tehtäviä keskenään. Eli kunkin tason rakenne on modulaarinen... eli omaa tehtäväkokonaisuuttaan hoitaviin moduuleihin jaettu. Tätä siinä on ajateltu, ja kuvissa on koetettu ilmentää sekä hierarkiaa että modulaarisuutta laittamalla laatikoita toistensa sisään (hierarkia) ja rinnakkain (modulaarisuus). - Mikä oikeastaan on rajapinta? Saisko jotakin määritelmää tms sille? Vastaus tulee kurssin mittaan konkreettisina esimerkkeinä: POSIX (käyttöjärjestelmärajapinta), C99 (ohjelmointikielirajapinta, osa POSIXia), AMD64 (prosessorilaiterajapinta), SysV ABI AMD64 Supplement (sovelluksen binäärirajapinta). Otetaan tänään ensi kosketus oikeisiin dokkareihin! - Muuttuuko FLAGS aina? Vastaus selviää prosessorin rajapinnasta, esimerkiksi AMD64:n manuaalin osassa 3 on kaikkien käskyjen mahdolliset vaikutukset FLAGSiin. - 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? **** Asia 1: Prosessori ja laitteisto Samalla yksi konkreettinen rajapinta: AMD64 prosessorin manuaalit. Luentomonisteen kuvista juttua: Miten liittyy todelliseen prosessoriin? Mihin kannattaa keskittyä ja mihin ei tällä kurssilla niinkään tarvitse? Tauko 11:15 asti. Jatkuu tarkasti ajallaan sitten! **** Little Man Computer (Demonstroi loistavasti myös asiat 2 ja 3!) Jonne, stage is yours! http://peterhigginson.co.uk/LMC/ http://peterhigginson.co.uk/ARMlite/ **** Asia 2: Väylän toiminta Tämän kurssin tarpeisiin riittää ymmärtää, että laitteistossa on tietyt osat, joista väylä on se, joka välittää datan osalta toiselle. Ohjauselektroniikka ei tässä niin tärkeätä. Voi tulla eteen myöhemmin esimerkiksi mittalaitesovelluksia tehdessä, jos sellaiseen päädyt :). Osoiteväylän leveys hyvä ymmärtää rajoitteena esimerkiksi muistin määrälle. Dataväylän leveys hyvä ymmärtää rajoitteena kaistanleveydelle (kaista = väylän kellotaajuus * leveys bitteinä). **** Asia 3: Muistin toiminta Muistihierarkia on hyvä ymmärtää. Asia viedään loppuun, kun puhutaan virtuaalimuistista myöhemmin. Lukuun 2 liittyen lähinnä hinta/koko/nopeus -kompromissi. Entäs "rekisterit, välimuisti, ROM ja RAM" **** Asia 4: Mikä on POSIX Yleisemmin: Mikä on toinen iso rajapinta, jota tällä kurssilla tutkiskellaan. Miksi, mistä löytyy, ja mihin kohtaan sijoittuu monisteen kerroskuvassa. **** Asia 5: Lukujärjestelmät ja niiden visualisointi Karhu katsoi kelloa ja totesi, että tämä pitää toteuttaa erillisenä: Konkreettinen esimerkki joko tässä tai erikseen tuotettavana apuvideona. Riippuen, paljonko aikaa karhuilla on luennossa. Ehdittävä pieni katsaus seuraavastakin lukupaketista ennen loppua. *** Katsaus seuraavaan lukupakettiin Jotain pohjustavia sanoja luvuista 3-4. *** Seuraava ennakkotehtävä Luettavaa: - Seuraava osuus luentomonisteesta: luvut 3-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. - Jo luvussa 3 on kuoressa tehtyjä esimerkkejä, joita on hyvä alkaa kokeilla luovasti myös itse sitten, kun demo 1 & 2 hahmottuu ja tekstimuotoinen koneen käyttö alkaa olla turvallisen tuntuista ja "mukavuusalueella". - Demoilla 1-2 haettava tavoite on saada shellin, 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! - Ja muistutetaanpa, 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 7.4.2021) (P/J) Toinen ryhmäkeskustelumuotoinen tilaisuus! Eli suomeksi näätäluento! Aletaan tykittää tasan 14:15! *** Päivän päätavoitteet: - Interaktio, ryhmäkeskustelu. - Pysyen kurssin ja siihen sopivien opiskelumenetelmien tematiikassa. - Luodaan yhteistä käsitystä aiheista, joita viikon karhuluennolla olisi tarpeen käydä läpi. Näädät eivät kiiruhda. Näädät pohtivat ja keskustelevat. Näädät ehdottaa, mitä karhut vois tehdä perjantaina. *** Ryhmien jako Nopee! Zoomissa satunnaiset Breakoutit nimeltä Room 1, Room 2, ..., Room N. Ryhmäkoko 4-5 henkeä, suurin osa 4-henkisiä. Myöhässä tulevat ladotaan lisäjäseniksi pitkin matkaa - väkimäärämuutokset siis todennäköisiä. *** Lämmittely **** Nimi- ja fiiliskierros ryhmissä Ennakkopohdinta (1 minuutti): - Missä tunnelmissa olen juuri nyt? Ennakkopohdinnan voi kokeilla tehdä kynällä paperille, vaikka avainsanoin. Ryhmissä seuraavat (7 minuuttia): - Mikrofonit päälle - Videolähetykset päälle, jos on kamera - Zoom-nimen mukaisessa aakkosjärjestyksessä (paremman ratkaisun puutteessa): + Jokainen vuorollaan kertoo: Kuka olen, mistä oppiaineesta, missä tunnelmissa olen juuri nyt. Muut eivät keskeytä! Pidä tunnelmakuvaus lyhyenä. + Kun ihan jokainen on saanut vuoron, aloitetaan uusi kierros, jossa saa jatkaa juttua vapaaammin. + Jatketaan, kunnes tulee paluu pienhuoneesta. Zoomissa on automaattinen 60 sekunnin varoaika takaisinkutsun jälkeen. **** Miten meni? Varmuuden vuoksi vielä tällä kertaa. Jatkossa ehkä aletaan jo luottaa, jos nyt onnistui yhtä hyvin kuin viimeksi... Teknisten ongelmien laajuuden selvitys, jutellaan vähän ääneen ilman videotallennusta: - Toimiko mikrofonit? - Oliko aika riittävä? - Heräsikö keskusteluakin alkukierroksen pohjalta? Tälläkin kertaa kaikilla onnistui hyvin. Jatkossa uskotaan, ei jäädä kyselemään. (opettajien ajankäyttöhuomio: fiiliskierros+tarkistus 14:20-14:32 *** Miten viikko kurssin parissa meni? **** Anonyymi Zoom-pollaus: Mikä tilanne viikon tehtäväpaketissa? 51% oli käynyt koko alueen läpi. Hyvä!! Toivottavasti prosentti nousee jatkosas vielä tästä! Tarkempi käsittely videolla. **** Anonyymi Zoom-pollaus: Paljonko tuli käytettyä aikaa? 47% prosenttia oli käyttänyt alle 8 tuntia viikossa. Aiai! Täytyy käyttää enemmän, jos aikoo päästä läpi 8 viikossa. Mitoitus on 16 tunnin mukaan tehty! Videolla tarkemmin. (opettajien ajankäyttöhuomio: pollit ohjeineen + käsittely 14:32-14:39) **** Mikä oli mielenkiintoisin asia, jonka opit kuluneella kurssiviikolla? Yksilöpohjustus: Mieti oma vastaus (1 minuutti). Kierros: Kaikki omalla vuorollaan jakaa Sen jälkeen: Ryhmältä Flingaan yksi lappu, jossa on listattu kierroksella löytyneet asiat. Flinga-linkki: https://flinga.fi/s/F4JCHLJ Ryhmä joutuu eli pääsee tässä käymään keskustelua uudelleen ja päättämään, kuka toimii kirjurina Flingaan. Esimerkki: "Room 43: Ohjelmointi 1:n aliohjelmanäytelmän juoni avautui ensimmäistä kertaa, osaan heksat!, pinon ja listan ero (x2)" Aikaa tehtävään: 10 minuuttia (14:42-14:52) **** Yhteinen koonti: Katsotaan videolle, mitä Flingaan ehti tarttua. Tässä myös copy-pastet Flinga-lapuista: - Room 1: Konekieli ei pelkästään bittejä, prosessorien rajapinnan standardisointi, screen-ohjelman käyttö komentorivillä, bash-scriptit - room 2: screenin, emacsin ja vimin käyttö pääteyhteydellä - Room 3: Ohjelman kääntäminen ja miten tietokone sen näkee - room 4: Screenin käyttö ja omasta koneestakin löytyy C-kääntäjä ja assembler koodin hahmottaminen - Room 5: Vim + konekielen syntaksi - Room 6: Ahaa-elämys kun konekielen toimintojen läpikäynnissä pystyy sitouttaa aiemmin käytyyn infopläjäykseen prosessorien rakenteesta:) - Room 7: Kurssin tahti alkaa selkenemään, tekstieditorien käyttö (opettajien ajankäyttöhuomio: tehtäväkokonaisuus 14:39-14:56) *** Osaamisen arviointia ( == tenttitärppi!) Tätä priorisoidaan tällä kertaa, jotta varmasti ehditään. Tenttitärppi tai kaksi jos on aikaa. Tehdään taas tauolla yksilöpohdinta karhuja varten työstettävää ryhmätehtävää varten, joten aikaikkuna tähän on taukoon asti. Eka tärppi: Valmisteltu Paavon repl.it -tilille. Vaatii vastausvaihtoehdot A-H Miten meni: 42% sai pisteen. Yli puolet kurssilaisista olisivat jääneet tehtävässä nollille! Videolla tarkemmin - myös oikea vastaus ja selitys. Tarkista oma osaamistasosi suhteessa 42% eturintamaan, jolla oli hallussa tämän kurssin esitiedot! Tehtävässähän oli lyhyt ohjelmakoodi, jonka toiminnassa ei saisi olla epäselvyyksiä :). (opettajien ajankäyttöhuomio: tehtäväkokonaisuus 14:56-15:07) *** Mikä asia ei vielä auennut (yksilötehtävä tauon aikana) **** Yksilö- ja ryhmätehtävä: Mikä asia tarvitsisi lisää selvitystä Yksilöpohjustus: Mieti oma vastaus perusteluineen Aikaa tauon ajan, 15:10-15:20 Kierros: Kaikki omalla vuorollaan jakaa Sen jälkeen: Ryhmältä Flingaan tasan yksi asia, jonka ryhmä yhdessä katsoo kaikkein tärkeimmäksi lisäkertausta tai selvittelyä vaativaksi asiaksi. Löydökset muodostavat pohjaa perjantain karhuluennolle! Flinga-linkki: https://flinga.fi/s/F5J6KMG Joutuu ja pääsee vaihtamaan ajatuksia ja perusteluja. Esimerkki: "Jäniksistä olisi saanut olla enemmän tietoa." Aikaa: 15:20-15:35! Ryhmät aukeaa tasan 15:20! **** Yhteinen koonti Tämä osio videolle. Yhteinen koonti: Flingassa anonyymi tykkäys omasta mielestä tärkeimmistä. Tästä nähdään, mitä perjantain karhuluennolta toivotaan! Opettajat ottavat sen huomioon, mutta päättävät lopulta itse, mitä tuutista tulee. Tässä jälkikäteen Flingasta kopsittu prioriteettilista: - 14 tykkäystä (hauska oli:)): "Viesti opettajilta: Ihan pari minuuttia odotellaan kahta lappua vielä!" - 11 tykkäystä: "Room 1: Tekstieditorien (VIM/EMACS) käyttöön vinkkejä/ohjeita" - 10 tykkäystä: "Room2: Selvennystä pino- ja kekomuistiin." - 10 tykkäystä: "Room 4: ohjelman kääntäminen konekieleen asti" - 7 tykkäystä: "Bitsinnypläys assemblyssa ja miten asiat siirtyilevät suorituspinossa olisi mukava käydä niinkin rautalangasta vetäen" - 7 tykkäystä: "Rekisterit ja niiden erot, sekä aritmetiikka" - 2 tykkäystä: "Demo1 tuli mieleen että onko shellissä eri käyttöjärjestelmillä tai linux distrojen välillä minkään laisia yhtenäisiä standardeja + flagien kertaus" (opettajien ajankäyttöhuomio: tehtäväkokonaisuus 15:20-15:41) *** Oppimisen tukeminen Kelloon katsominen: Ehditäänkö tällä kertaa tätä? Päästävä jäähdyttelyyn 15:50. Tälle tehtävälle tarvitaan 10 minuuttia. Noh, 9 riitti tällä kertaa ilmeisen hyvin. **** Mikä auttoi oppimaan tehtäväpaketin asioita? Yksilöpohjustus: Mieti oma vastaus (1 minuutti). Ajan säästämiseksi ei "pakotettua" kierrosta. Ryhmällä on tehtävä: Flingaan tasan yksi asia, joka voisi eniten auttaa suurinta osaa kurssilaisista: https://flinga.fi/s/FAJY3MS **** Yhteinen koonti: Viisauden sanoja kurssilaisilta kurssilaisille Tässä on viisauden sanoja kurssilaisilta kurssilaisille: - Yritä keskittyä yhden kurssin asioihin per päivä - Room 4: Asioiden kokeilu käytännössä - Taukoja tarpeeksi, että pysyy virkeänä - Room 3: Ei pelkästään lue materiaalia, vaan harjoittelee sorminäppäryyttä ja lihasmuistia, paukuttaen joka välissä kerrottuja komentoja. - Lukiessa muistiinpanojen - ja etenekin tiivistelmien! - tekeminen avustaa huomattavasti, kun pistää aivot kirjoittamalla prosessoimaan asiaa. Ja myöhemmin voi itse nopeasti päästä kärryille oman tiivistelmän avulla (eikä tarvitse lukea uudelleen 30 sivun pakettia :)) - Room 1: Hyödynnä materiaaleja, opetustilaisuuksia ja googlea esimerkiksi: emacs/vim cheat sheet - Enemmän kuvia materiaaliin tukemaan ja konkretisoimaan tekstin sanomaa. Room2 Tästä chät-keskustelua talteen: + Ei se auta piirtää jos ei lähtökohtaisesti ymmärrä mikä liittyy mihinkin. + Jonnen kommentti: Hyvä huomio! Joskus auttaa piirtäminen saamaan sen ymmärryksen, joskus kyllä neuvot ja esimerkit auttaa enemmän alkuunpääsemiseen. Yritetään tehdä kuvia lisää, mutta aikaa on naftisti, niin parempi luvata vain se yrittäminen. Yritetään kyllä tosissaan. (opettajien ajankäyttöhuomio: tehtäväkokonaisuus 15:41-15:53) *** Jäähdyttely **** Loppufiiliskierros. Ryhmissä pikakierros: Missä tunnelmissa kohti seuraavaa luentoa / muita askareita? **** Anonyymi Zoom-pollaus Tuntuiko tämä näätäily hyödylliseltä itsellesi? Perjantaina ei näätäillä. Karhut tulee, vetää luennon. *** Lukupaketti pysyy perjantaille entisenään: - Monisteen luku 3 "Hei maailma - johdattelua tietokoneeseen". - Monisteen luku 4 "Konekielisen ohjelman suoritus". - Kestomuistutus: 5 opintopistettä 8 viikossa tarkoittaa keskimäärin 17 tuntia viikossa tehokasta tekemistä. Muista tauot ja lepo, koska muuten ne varsinaiset tekemisen hetket eivät ole enää tehokkaita! *** Tältä päivää oli tässä Huomenna (to 8.4.2021) klo 8:15-10:00 jälleen "Open labrapäivä" eli: Voi tulla kysymään asioita tai hengaamaan linjoilla. Päivystysluonteinen, jossa katotaan, mitä tulee, jos tulee mitään. Tuotetaan tarvittaessa pieniä apuvideoita aiheista. Tai sitten vaan tehdään ihan muita juttuja. Opettajistoa on saatavilla luento-Zoomissa vähintään Sisussa ilmoitetun aikaikkunan ajan. Nämä jatkuvat pääsääntöisesti torstaisin Sisussa ilmoitettuihin aikoihin toukokuun loppuun asti. (Luennon jälkeen jäätiin vielä "puhumaan bittiä" Emacsista, Vimistä, 32-bittisestä(täh?) Visual Studiosta, tile-pohjaisista ikkunamanagereista, terminaalimultipleksereistä ja muusta mukavasta.) ** Luento 6: (pe 9.4.2021) (P/J) Karhuluento ("opettajat opettaa") *** Infot keväälle 2021 - Toissapäivään mennessä palautetut Demo 1 -vastaukset on tarkastettu kertaalleen. Katso saamasi palaute! Se on tärkeä osa oppimista! Jos demo on hylätty, tee palautteen perusteella uusi, korjattu vastaus! Demo 1:n korjaaminen johtaa luultavasti korjaamaan jo ennakoivasti demo 2:n vastauksen! - Keskiviikkona näätäiltiin, ja sitä jatketaan taas ensi keskiviikkona. Pyritään minimoimaan "tyhjäkäyntiä" ja kasvattamaan mahdollisuuksia pohtivampaan keskusteluun. Tervetuloa mukaan! Katso edelliset videot, niin osaat ryhmätyömenettelyt. Jatkossa voidaan poistaa tyhjäkäyntiä olettamalla, että käytäntöohjeita ei tarvitse enää toistaa, vaan keskitytään näätäilyn teholliseen osuuteen. - Torstaina oli taas Open labrapäivä. Saatiin vastaus kaikkiin kysymyksiin sekä kurssista että vähän muistakin opinnoista ja maailman menosta. Paljon oli myös hiljaista työtä omien hommien parissa. Tervetuloa jatkossakin. Labrapäivässä saa kysyä mitä vaan. - Vertaistukikanavalle tullut hyviä viestejä. Paavo oli unohtanut tilata sen, joten näki vasta tänään. Nyt on tilattu! Muista tilata itsellesi myös. Ja vastailemaan kavereille! - Yleensä luentojen jälkeen on hetki aikaa kysymyksille ja jutustelulle (noin 15 minuuttia). On ollut lennokkaita aiheita tähän asti... *** 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: Demo 3 ohjeteksteineen, monisteen luvut 1-4 uusin silmin ja aiempaa vahvistaen. Ihan alkua luvusta 5. *** Terveisiä näätäluennolta Paavo miettii tähän vielä ennen luentoa jonkun briiffin. - Löydökset oppimista hyödyttävistä asioista olivat mahtavia! Tsekkaa muistiosta ja videolta kanssaopiskelijoiden parhaat vinkit! Tule ensi kerralla jakamaan omia löydöksiä! - Tenttitärpistä vielä kypsytellympi ajatus. *** Demo 3 esittely ja lukujen 3-4 konkretiaa Käydään läpi demo-ohje ja näytetään malliksi vähän esimerkkiä, miten ryhdytään tekemään. - Luvun 3-4 aihepiireissä demon 3 "kickstarttia" ja yhtymäkohtaa monisteen ja demoharjoitteiden välillä. HUOM: demossa 3 vähän lupaillaan, että luennolla on näytetty debuggerin käyttöä, joten se on syytä tulla tässä samalla. *** Tauko. Jatketaan tykitystä tasan 11:20! *** Näädät ehdotti, karhut päättivät **** Toimenpideyhteenveto keskiviikosta Löytyi olennaisesti 4 erilaista asiakokonaisuutta, joiden käsittelyä erityisesti toivottiin. Lisäksi tuli esiin seuraava, jonka ensimmäinen osio (shell ja standardit) otetaan alkuun nopeasti: - 2 tykkäystä: "Demo1 tuli mieleen että onko shellissä eri käyttöjärjestelmillä tai linux distrojen välillä minkään laisia yhtenäisiä standardeja + flagien kertaus" Nopsa vastaus: Esimerkiksi POSIX kattaa monia sen kanssa yhteensopivaksi pyrkiviä käyttöjärjestelmiä. **** Asia 1: Emacs ja vim vinkkejä/ohjeita - 11 tykkäystä: "Room 1: Tekstieditorien (VIM/EMACS) käyttöön vinkkejä/ohjeita" - Interaktiiviset tutoriaalit: - Emacsissa sisäänrakennettuna heti aloitusikkunassa tai näppäilemällä ~F1 t~. - Vimin tutoriaali komentamalla kuoressa ~vimtutor~. - Googleen "emacs reference cards", "vim cheatsheet", "Työkalu XYX cheatsheet", ... - Videopalveluissa on myös opastusvideoita tarjolla. Taso vaihtelee ja osa voi olla hyvinkin kustomoidulle versiolle editorista, joten ei kannata luovuttaa, jos näyttää hankalalle. **** Asia 2: Pino- ja kekomuisti - 10 tykkäystä: "Room2: Selvennystä pino- ja kekomuistiin." - Pino: Leo Brodien kauniit kuvat. Oman monisteemme pinokuva. Jos auttaa, piirrä itse haluamasi lainen pino. - Keko: Mainitaan luentomonisteessa ensimmäisen kerran vasta sivulla 70, joka on seuraavaa lukupakettia vasta! Ei käsitellä vielä. **** Asia 3: Ohjelman kääntäminen konekieleen asti - 10 tykkäystä: "Room 4: ohjelman kääntäminen konekieleen asti" - Tämän piti tulla demo 3:n esittelyssä jo. Varmistetaan, jäikö jotain puuttumaan! **** Asia 4: Bitsinnypläys assemblyssä ja suorituspino, rekisterit, muun muassa flags - 7 tykkäystä: "Bitsinnypläys assemblyssa ja miten asiat siirtyilevät suorituspinossa olisi mukava käydä niinkin rautalangasta vetäen" - 7 tykkäystä: "Rekisterit ja niiden erot, sekä aritmetiikka" - 2 tykkäystä: "... ja flagsit" Kelloa katsoen tämä siten, että ehditään selittää ennakkotehtäväkin. - Debuggerilla hyvä näyttää konkreettisella esimerkillä näitä. - Hello world suoraan symbolisella konekielellä - Muistetaan näyttää gdb:stä myös "layout" -näkymän vaihto. **** Lisäasia: Joku pieni selvennys heksalukujen "matematiikkaan", jos on aikaa tässä. Tämä roikkuu vielä - monella varmasti epäselvää vielä. Tässä jos on aikaa, niin hyvä. *** Seuraava ennakkotehtävä Luettavaa: - Luvut 1-4 uusin silmin, vahvistaen ja sisäistäen. - Demon 3 ohjetekstit. - Lukua 5.1 antamaan lisävaloa edellisiin. Ei vielä pidemmälle. Tekemistä: - Demo 2 valmiiksi ja palautusjärjestelmään! - Demo 3 työn alle. - Tee käytännön kokeiluja esitetyistä asioista! Huomautus: - Keskiviikon näätäluennolla tulee jo lisää luettavaa, jotta ehditään valmistautua sitä seuraavan viikon demo 4 ryhmätöihin! 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! ** Luento 7: (ke 14.4.2021) (P/J) Kolmas ryhmäkeskustelumuotoinen tilaisuus Eli suomeksi näätäluento! Aletaan tykittää tasan 14:15! *** Infoisku keväälle 2021 - Ensi viikolla tapahtuu "Demo 4 porukalla" - mitä tämä tarkoittaa!? Rakenteilla - informoidaan ylihuomenna tarkemmin. Eteenpäin, näädät! - Luettavaa lisää, kuten luvattiin: Demo 4 ohjeteksti on ennakkolukemistoa ensi viikon ryhmätöihin. Päivitetty tälle vuodelle. Ei muuta kuin lukemaan!! Monisteen luku 5.2 liittyy aiheeseen, joten ryhdy silmäilemään. Kaikki loput demot täsmentävät näitä aiheita lisää, joten "alkujärkytys" ei haittaa tällä viikolla. *** Päivän päätavoitteet: - Interaktio, ryhmäkeskustelu. - Pysyen kurssin ja siihen sopivien opiskelumenetelmien tematiikassa. - Luodaan yhteistä käsitystä aiheista, joita viikon karhuluennolla olisi tarpeen käydä läpi. Näädät eivät kiiruhda. Näädät pohtivat ja keskustelevat. Näädät ehdottaa, mitä karhut vois tehdä perjantaina. *** Ryhmien jako Nopee! Zoomissa satunnaiset Breakoutit nimeltä Room 1, Room 2, ..., Room N. Ryhmäkoko 4-5 henkeä, suurin osa 4-henkisiä. Myöhässä tulevat ladotaan lisäjäseniksi pitkin matkaa - väkimäärämuutokset siis todennäköisiä. *** Lämmittely **** Nimi- ja fiiliskierros ryhmissä Luvattuun tapaan optimoidaan ajankäyttöä, kun ohjeet ja käytäntö on jo tuttua!! Suoraan fiiliskierrokseen vaan. Ryhmissä seuraavat (7 minuuttia): - Mikrofonit päälle - Videolähetykset päälle, jos on kamera - Zoom-nimen mukaisessa aakkosjärjestyksessä (paremman ratkaisun puutteessa): + Jokainen vuorollaan kertoo: Kuka olen, mistä oppiaineesta, missä tunnelmissa olen juuri nyt. Muut eivät keskeytä! Pidä tunnelmakuvaus lyhyenä. + Kun ihan jokainen on saanut vuoron, aloitetaan uusi kierros, jossa saa jatkaa juttua vapaaammin. + Jatketaan, kunnes tulee paluu pienhuoneesta. Zoomissa on automaattinen 60 sekunnin varoaika takaisinkutsun jälkeen. *** Miten viikko kurssin parissa meni? **** Anonyymi Zoom-pollaus: Mikä tilanne viikon tehtäväpaketissa? Tässä vaiheessa oli työn alla: - Luvut 1-4 uusin silmin, vahvistaen ja sisäistäen. - Demon 3 ohjetekstit. - Lukua 5.1 antamaan lisävaloa edellisiin. Ei vielä pidemmälle. Tekemistä: - Demo 2 valmiiksi ja palautusjärjestelmään! - Demo 3 työn alle. - Tee käytännön kokeiluja esitetyistä asioista! Poll. 90% oli tehnyt vähintään osittain. Videolla tarkemmin. **** Anonyymi Zoom-pollaus: Paljonko tuli käytettyä aikaa? Poll. Keskimäärin käytetty 8 tuntia, joka on puolet ajasta, joka 5 opintopisteen kurssilla yhdessä periodissa tulisi käyttää. Videolla tarkemmin. **** Mikä oli mielenkiintoisin asia, jonka opit kuluneella kurssiviikolla? Yksilöpohjustus: Mieti oma vastaus (1 minuutti). Kierros: Kaikki omalla vuorollaan jakaa Sen jälkeen: Ryhmältä Flingaan yksi lappu, jossa on listattu kierroksella löytyneet asiat. Flinga-linkki: https://flinga.fi/s/F7G9JVZ Ryhmä joutuu eli pääsee tässä käymään keskustelua uudelleen ja päättämään, kuka toimii kirjurina Flingaan. Esimerkki: "Room 43: Ohjelmointi 1:n aliohjelmanäytelmän juoni avautui ensimmäistä kertaa, osaan heksat!, pinon ja listan ero (x2)" Aikaa tehtävään: 10 minuuttia (14:39-14:49) **** Yhteinen koonti: Katsotaan videolle, mitä Flingaan ehti tarttua. Tässä myös copy-pastet Flinga-lapuista: - Group 1: C-ohjelman käsittely kuoressa ja debugaus, komentorividebuggerin käyttö, C-kielen syntaksia - Ryhmä 4: emacs opettelu, gdb deguggaus - R2: Assembly, C, ympäristömuuttujien teko, komentorivillä leikkiminen ylipäätään, sekä segmentoitu muisti. - Room 3: Debuggeri ja disassembly (koko osio 14:30-14:52) *** Osaamisen arviointia ( == tenttitärppi!) Tätä priorisoidaan, jotta varmasti ehditään. **** Toistetaan edellinen aihe - osataanko nyt paremmin? Tällä kertaa 80 % sai pisteen. **** Komentorivin jäsentyminen (kysymykset 16-17) Pohjaksi vaikka 5.7.2019 ollut uusintatentti. Ehdittiin käydä siitä kysymys 16. Vaihtoehdot: A: 1 B: 3 C: 4 D: 5 E: 9 F: 10 F: 13 G: (ei käytössä) (Vaihtoehdoissa typo, 2 x F-vaihtoehto, mutta ei näköjään vaikutusta lopputulemaan) Tulos: 40% eli alle sai pisteen. Loput jäi nollille. Kertaamaan! Videolla vinkkejä yleisistä harhakäsityksistä. Tauolla (ei videolla) tuli tarkentavia kysymyksiä, jollaisia soisi näkevänsä vertaistukikanavalla tai open labrapäivässä. Vink, vink... *** Mikä asia ei vielä auennut (yksilötehtävä tauon aikana) **** Yksilö- ja ryhmätehtävä: Mikä asia tarvitsisi lisää selvitystä Yksilöpohjustus: Mieti oma vastaus perusteluineen Aikaa tauon ajan, 15:10-15:20 Kierros: Kaikki omalla vuorollaan jakaa Sen jälkeen: Ryhmältä Flingaan tasan yksi asia, jonka ryhmä yhdessä katsoo kaikkein tärkeimmäksi lisäkertausta tai selvittelyä vaativaksi asiaksi. Löydökset muodostavat pohjaa perjantain karhuluennolle! Flinga-linkki: https://flinga.fi/s/FFDLRSQ Joutuu ja pääsee vaihtamaan ajatuksia ja perusteluja. Esimerkki: "Jäniksistä olisi saanut olla enemmän tietoa." Aikaa: 15:21-15:35! Ryhmät aukeaa tasan 15:20! **** Yhteinen koonti Tämä osio videolle. Yhteinen koonti: Flingassa anonyymi tykkäys omasta mielestä tärkeimmistä. Tästä nähdään, mitä perjantain karhuluennolta toivotaan! Opettajat ottavat sen huomioon, mutta päättävät lopulta itse, mitä tuutista tulee. Tässä jälkikäteen Flingasta kopsittu prioriteettilista: - 5 tykkäystä: R2: Virtuaaliosoitteet. Miten ne muuttuvat fyysiksi ja muutenkin aukaista asiaa hieman enemmän. - 4 tykkäystä: Ryhmä 4: lisä selvennystä käskyosoiterekisteristä ja pino-osoitinrekisteristä - 3 tykkäystä: Group 1: Bitittäiset operaatiot - 3 tykkäystä: Room 3: Mitä oikeasti tapahtuu, kun kirjasto liitetään koodiin (#include, import ero). Monisteessa voisi myös mainita käytännön etuja ja käyttötarkoituksia tekstieditoreille. - 3 tykkäystä: Ympäristömuuttujat - 2 tykkäystä: Luvun kannan vaihtaminen eri suuntiin (binääri <-> desimaali) (chat-ilmoituksen mukaan jostain lapusta lähti tekstiä... sehän käy helposti Flingassa; videotarkistuksesta ei selvinnyt, mistä olisi ollut kyse. Jos lähti oma tärkeä kysymys, pistä se uudelleen esim. vertaistukikanavan kautta.) *** Oppimisen tukeminen Kelloon katsominen: Ehditäänkö tällä kertaa tätä? Päästävä jäähdyttelyyn 15:50. **** Pessimistihattu: Mikä estää toteuttamasta viime kerran ohjeita Ajan säästämiseksi ei "pakotettua" kierrosta. Ryhmällä on tehtävä: Flingaan yksi lappu kerrallaan: - Asioita, jotka voivat estää toteuttamasta viimeksi löydettyjä hienoja ohjeita. Niin paljon lappuja kuin aikaikkunassa ehtii tulla. Flinga: https://flinga.fi/s/F282QR2 Nämä olivat ne hienot ohjeet. Mikä estää näitä: - Yritä keskittyä yhden kurssin asioihin per päivä - Asioiden kokeilu käytännössä - Taukoja tarpeeksi, että pysyy virkeänä - Ei pelkästään lue materiaalia, vaan harjoittelee sorminäppäryyttä ja lihasmuistia, paukuttaen joka välissä kerrottuja komentoja. - Lukiessa muistiinpanojen - ja etenekin tiivistelmien! - tekeminen avustaa huomattavasti, kun pistää aivot kirjoittamalla prosessoimaan asiaa. Ja myöhemmin voi itse nopeasti päästä kärryille oman tiivistelmän avulla (eikä tarvitse lukea uudelleen 30 sivun pakettia :)) - Hyödynnä materiaaleja, opetustilaisuuksia ja googlea esimerkiksi: emacs/vim cheat sheet Aikaa tehtävälle: 15:42 - 15:52 **** Koonti esteistä Näiden juurisyiksi havaittujen selättämiseen koetetaan ensi kerralla tuoda apua esimerkiksi aiemmista omista kokemuksista vastaavien parissa: - Asioiden kokeilu käytännössä: Ei demojen lisäksi tiedä miten voisi tehdä käytännön harjoitteita - Group 1: Mielenkiinto loppuu yhtä aihetta kohtaan, emacs komennot eivät toimi odotetusti, ei aikaa tauoille, yleinen laiskuus - Ajanhallinta (aikatauluttaminen) - "Koittakaa jaksaa" terveisin hallitus - Tehtävien + lukemispakettien kasaantuminen useammilta kursseilta - Monta kurssia, joten vaikea keskittyä vain yhteen kurssiin per päivä - Sairastuminen *** Jäähdyttely **** Loppufiiliskierros. Ryhmissä pikakierros: Missä tunnelmissa kohti seuraavaa luentoa / muita askareita? **** Anonyymi Zoom-pollaus Tuntuiko tämä näätäily hyödylliseltä itsellesi? Perjantaina ei näätäillä. Karhut tulee, vetää luennon. *** Lukupaketti perjantaita kohti: - Demo 4:n ohjeistus (maantaina luettu) - Monisteen luku 5 kokonaan (alustavasti) *** Tältä päivää oli tässä Huomenna "Open labrapäivä", tervetuloa! Perjantaina karhuluento, tervetuloa! ** Luento 8: (pe 16.4.2021) (P/J) Karhuluento *** Infot keväälle 2021 - Demo 1 tarkastettu kokonaan. Demo 2 40% tarkastettu. Todennäköisesti tänään illan mittaan loput. Lue jälleen palaute ja toimi sen mukaan! - Ensi viikolla tapahtuu "Demo 4 porukalla" - mitä tämä tarkoittaa!? + Ryhmäharjoite + 90 minuutin sessio!! Paikalla vartin yli!! 90 minuutin päästä vasta pääsee pois. Demo 4 suoritus: olet läsnä, kun ope kirjaa, että olit läsnä. Läsnä: Zoomissa. Mahdolliset ajat on Sisussa. Voit valita itselle sopivan ja TULLA PAIKALLE *ENNEN VARTIN YLI*. + Jos tuntuu, että tarvitset haluat, voit tulla useita kertoja. Joka kerta 90 minuuttia ryhmän kanssa!! - Ensi viikon näätäluento on poikkeuksellinen: Mennään klo 13:45-15:15 katsomaan Supercellin 1.5 tunnin luento, ja sitten klo 15:15 mennään purkamaan kokemus suhteessa tämän kurssin sisältöihin. Koetetaan ehtiä 45 minuuttiin myös hiukan muuta tilannekatsausta. Pääjuttuna tämä harvinaislaatuinen vierailuluento. *** 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: Demo 4 ohjeteksteineen, monisteen luvut 5, alkuviikolla luku 6. *** Terveisiä näätäluennolta ja open labrapäivästä Paavo mietti tähän vielä ennen luentoa jonkun briiffin. Toissapäivän näätäilystä: - Edellisen kerran tenttitärppi toistettiin ja se osattiin. - Uudessa tenttitärpissä ei vielä osattukaan; tärkeä havaita ja korjata asia! - Osiossa "oppimisen tukeminen" haettiin mahdollisia esteitä viime kerralla ehdotettujen opiskeluvinkkien toteuttamiseen. Ensi kerralla (1.5 viikon päästä) päästään miettimän keinoja esteiden purkamiseen. Eilisen labrapäivästä: - Olipas kivaa opastaa ruutujaon kautta "olan yli" täsmällisiin kysymyksiin liittyviä juttuja. - Mahtavaa oli huomata, että monet kysymykset tulivat omatoimisten kokeilujen ja pohdintojen kautta. Esimerkiksi .jar -tiedoston reverse-engineeraus, hakemistojen poistaminen, "miksi kaverin lähettämä .docx ei aukea", LEMPIKALAn asettaminen pysyvästi omiin profiiliasetuksiin. - Ensi torstaina taas lisää, jee! *** Demo 4 esittely Käydään läpi demo-ohje ja näytetään malliksi vähän esimerkkiä, miten ryhdytään tekemään. - Demon 4 ohje ja monisteen luku 5 kytkeytyvät osin toisiinsa, eli luvun 5 esittelyä suhteessa demoon 4 pitää tulla tässä samalla. *** Tauko sopivassa kohdassa. Tykitys jatkuu tasan klo 11:25 Tarkennus kysymykseen ennen taukoa: 'Jos tentissä kysytään montako argumenttia exec saa komennossa "exec bash -l", niin onko vastaus siis yksi? Onko oikein myös sanoa, että kaksi, mutta bash syö toisen' Vastaus: Ilman muuta "exec" on komento, joka saa kaksi argumenttia, "bash" ja "-l". Muut asiat tapahtuvat komennon suorituksen yhteydessä. *** Näädät ehdotti, karhut päättivät Hei maailma konekielellä koeputkiesimerkiksi juttuihin! Jäi viimeksi pois. Sitä modailemalla voi näyttää kaikkia bittijuttuja ja RSPtä, RIPiä, virtuaaliosoitteitakin!! Näin sitten tehtiin. Alla pari sanaa siitä, miten luennolla näprättiin konkretiaa kustakin näätien ehdottamista teemoista. **** Toimenpideyhteenveto keskiviikosta Tuli 5 erityisesti pyydettyä asiaa. Niiden ympärille voitaneen rakennella esimerkkejä myös laajemmin muusta, mitä kurssin sisältöön kuuluu. **** Asia 1: Ympäristömuuttujat - 3 tykkäystä: Ympäristömuuttujat Näitä nähtiin ennen taukoa tulleessa esimerkissä joitakin tyypillisiä käyttötarkoituksineen (Esimerkiksi Javan CLASSPATH) ja sijoittuminen kuoren asetusskriptiin. **** Asia 2: Konekielen ja osoitteiden parissa - 5 tykkäystä: R2: Virtuaaliosoitteet. Miten ne muuttuvat fyysiksi ja muutenkin aukaista asiaa hieman enemmän. Lupaus, että asiaan palataan luvussa 10 tosi tarkasti. Koetetaan kestää mystisyyden verhoa siihen asti. - 4 tykkäystä: Ryhmä 4: lisä selvennystä käskyosoiterekisteristä ja pino-osoitinrekisteristä Näitä katsottiin debuggerilla, eli käskyosoitteen eteneminen ja push-käsky pinon huipulle. - 3 tykkäystä: Group 1: Bitittäiset operaatiot Tehtiin biteittäinen AND, tarkoituksena nollata RSP-rekisterin 4 viimeistä bittiä, jotta siitä saadaan lähin 16:lla jaollinen luku, joka on pienempi kuin nykyinen. **** Asia 3: C-kielen ja esikäännöksen parissa - 3 tykkäystä: Room 3: Mitä oikeasti tapahtuu, kun kirjasto liitetään koodiin (#include, import ero). Tästä luvattiin, että demo 4:n ohjeteksti avaa asiaa tai johtaa täsmällisempiin jatkokysymyksiin. **** TODO Asia 4: Tekstieditoinnin parissa Tämä jätettiin seuraavaan karhuluentoon - Jonnella on valmisteltu show tähän asiaan. Eli jätetääs tähän toi TODO-merkintä, niin muistetaan ottaa esiin. - 3 tykkäystä: Monisteessa voisi myös mainita käytännön etuja ja käyttötarkoituksia tekstieditoreille. **** Asia 5: Lukujärjestelmistä - 2 tykkäystä: Luvun kannan vaihtaminen eri suuntiin (binääri <-> desimaali) (Yleinen algoritmi on: Jaetaan muunnettava luku uudella kantaluvulla. Jakojäännös tulee seuraavaksi vähiten merkitseväksi numeroksi tulokseen. Toistetaan osamäärälle samaa... Jos vaikka jakokulmassa laskee, niin siinä pittää vaan uusi kantalukukin kirjoittaa siinä kannassa, missä muutettavakin luku. Ei ole leppoisaa, mukavaa, eikä tarpeellistakaan esimerkiksi binääri-, oktaali- ja heksalukujen ymmärtämiseksi ja käyttämiseksi!!) Olennaista on saada näppituntuma siihen, mitä esimerkiksi disassembler ja hexdump tulostavat ja miten 2-järjestelmässä on luontevaa sijoitella dataa. Esim. 0:aan päättyvät heksat on jaollisia 16:lla ja joko 0:aan tai 8:aan päättyvät 8:lla jaollisia... Luennolla nähtiin useita kohtia käytännön muunnoksista. Vaikka sormilla voi laskea lukujen välisiä välimatkoja, kun muistaa, että heksanumerot on 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F. Edelleen vaikka peräkkäisten heksalukujen kirjoittaminen paperiin ei ainakaan haittaa ymmärtämistä. *** 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. Tekemistä: - Demo 3 valmiiksi ja palautus + asioiden sisäistäminen 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! ** Luento 9: (ke 21.4.2021) (P/J) Erikoissupersolunäädät 13:45-16:00 *** Timo Heinäpurolan vierailuluento Käytiin katsomassa vierailuluento klo 13:45-15:15 ( https://www.jyu.fi/fi/ajankohtaista/arkisto/2021/04/vierailuluento-peliohjelmoinnista-timo-heinapurola-supercell ) Luento tallennettiin - yritämme saada sen jakoon. Tiedotamme heti, kun tiedämme miten siinä käy. 15:15-16:00 näätäiltiin jälkitunnelmissa. Flingalla kerättiin tunnelmat tuoreeltaan vierailun jälkeen: - 7 tykkäystä: Olipas se huippu! - 5 tykkäystä: Aika paljon termistöä jne meni ohi kun on niin junnu näissä hommissa :D - 5 tykkäystä: Luento oli hyvä ja informatiivinen, itselle päällisinpuolin nousi tosin ahdistus jostain menestyjäkulttuurista. - 4 tykkäystä: Paljon meni ohi, kun ei pelipuolen juttuja niin tunne, mutta muuten huippu luento - 3 tykkäystä: Teknistä puolta välillä haastava seurata, kun piti kääntää aivot englanniksi - En ehtinyt ihan koko esitystä kuuntelemaan, mutta se mitä ehdin oli kyllä jäätävää asiantuntemusta - Todella mielenkiintoista ja sai hyvää intoa opiskeluun - Tekninen puoli meni ohi ja lujaa mut kiva oli seurata! - Kurssiin liittyen ihan hyvä juttu se Map tietorakenteen käytöstä vs kahden vektorin käytöstä - Oli hauskaa kuinka kuitenkin etenkin alkupäässä leikattiin kurssin asioihin prosessorirakenteista - motivoi! - Ihan mielenkiintoista oli kuunnella asiantuntijan kokemuksia ja näkemyksiä - Hyviä vinkkejä siihen miten ittensä saa brändättyä alalle Käytiin läpi vielä suusanallinen kierros kaikkien läsnäolijoiden kesken. Ei nauhoitettu, jotta saatiin jännittämätön juttelutuokio. *** ITKA203 loppuviikko - Huomenna (to) aamulla normaalisti Open labrapäivä - Ylihuomenna (pe) karhuluento - päätetään tällä kertaa opettajien kesken, mitä tuutista tulee. Mennään asiassa eteenpäin HUOMAUTUS: Perjantain luento on poikkeuksellisesti jo klo 8:15. Kellot herättämään! - Demo 4 itsenäinen suoritustapa määritelty. Ryhdy tekemään, jos et ehtinyt ryhmäsessioihin! Löytyy normaalista paikasta HTML-vedoksena. *** Meneillään olevat tehtävät (perjantaina mennään taas eteenpäin!) Lukemista: - Demo 4 ohjeteksti - Monisteen luvut 5 ja 6. Tekemistä: - Demot 3 ja 4 valmiiksi ja palautus + asioiden sisäistäminen 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! ** Luento 10: (pe 23.4.2021) (P/J) Karhuluento *** Infot keväälle 2021 - Demotarkastusten tilanne: Jatkuvat viikonlopun jälkeen. - Muuta, jos on. *** 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: Seuraava demo 4b ohjeteksteineen, monisteen luvut 7-8. *** Terveisiä demo 4 ryhmistä, näätäluennolta ja open labrapäivästä Alkuviikon ryhmätyöt: - Montakos siellä tarkkaan ottaen kävikään? Varmaan noin kolmasosa aktiivisista kurssilaisista. - Tehokkaan tuntuisia ja ainakin evidenssin perusteella tehokkaita ja hyödyllisiä. Omatoimista opiskelua on tarpeen jatkaa, mutta lähtökiihdytys saatiin. - Esitettiin monesti ja toisistaan riippumatta toive, että näätäluennot olisivat näiden ryhmätöiden kaltaisia. Pidämme mietintämyssyssä ja ehkä keksitään ensi viikon näätäluentoon mennessä jotain sinne päin. Koetetaan sytytellä idealamppua. - Demo 4:n itsenäinen suoritustapa ohjeistettiin toissapäivän minivideossa maatuskapingviineille ja muille, jotka katsovat tallenteen. Toissapäivän näätäilystä: - Timo Heinäpurolan vierailuluennosta on pyydetty tallenne kaikkien kurssilaisten käyttöön. Tiedotetaan, jos/kun on saatavilla. - Läsnäolleiden kokemukset löytyvät muistiosta omalta paikaltaan eli 21.4.2021 yllä. Eilisen labrapäivästä: - Kaikkiin kysymyksiin saatiin taas vastaus. Ruuhkaa näissä ei ole ollut, eli mukaan mahtuu! - Läsnäolleiden kanssa tehtiin jälleen kerran tärkeä havainto: Ei kannata liian monta tuntia lyödä päätä seinään yksin, mikäli on mahdollisuus kysyä apua. Aktiivisen opetuksen ajan on. Labrapäivissä, luentojen jälkeen, ja vertaistukikanavalla! Vertaistukikanavasta: - Nyt on ollut opettajana mukava vaan tarkkailla, että kysymyksiä esitetään ja niihin tulee vastauksia. Keep it coming! *** Demon 4b esittely Käydään läpi demo-ohje ja näytetään malliksi vähän esimerkkiä, miten ryhdytään tekemään. *** Tauko sopivassa kohdassa. Jatketaan tasan 9:15 *** Karhut päättivät, mitä käydään. **** Asia 1: Tekstieditoinnin parissa Siirtyi viime kerralta: Jonnella on valmisteltu show tähän asiaan. - Aiemmassa näätäilyssä 3 tykkäystä: Monisteessa voisi myös mainita käytännön etuja ja käyttötarkoituksia tekstieditoreille. Katso videolta tykitys. Orgmode ja tieteelliset julkaisut: https://www.jstatsoft.org/article/view/v046i03 (linkki tuli mieleen luennon jälkeen) **** Asia 2: Lukujärjestelmistä - 2 tykkäystä: Luvun kannan vaihtaminen eri suuntiin (binääri <-> desimaali) Tämä kärpänen saatiin samalla iskulla kuin tekstieditointi. Katso videolta tykitys. **** Asia 3: Kurssin kustomointi Jos Paavo ehtii kaivaa vanhan skriptin naftaliinista.. Ja ehtihän se: Kurssin etusivulla on nyt kurssin ensimmäisenä päivänä otettu ryhmäkuva, kuten historiallisesti kuuluukin! Viime vuonna jäi akuutissa koronakriisissä väliin. *** Seuraava ennakkotehtävä Lukemista: - Demo 4b ohjeteksti - Monisteen luvut 7-8 Tekemistä: - Demo 4 valmiiksi ja palautus + asioiden sisäistäminen - Demo 4b 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! ** Luento 11: (ke 28.4.2021) (P/J) Ryhmäkeskustelumuotoinen tilaisuus Eli suomeksi näätäluento! Aletaan tykittää tasan 14:15! *** Infoisku keväälle 2021 - Demot 1&2 tarkastettu kaikki. Demosta 3 jäljellä 33%. - Muistakaa klikata Moodlessa "lähetä tarkastettavaksi". Muuten emme näe vastaustasi alkuunkaan! - Palautuslaatikot demoille 4 ja 4b olivat jääneet tulevaisuuden puolelle (vuoteen 2038). Tilanne on nyt korjattu - voi palauttaa! Teknisistä ongelmista kannattaa muuten huudahtaa, eli jos on luennolla luvattu jonkin olevan auki, mikä ei sitten oikeasti olekaan auki.. muuten saatetaan kuvitella, että kaikki on kondiksessa.. - Huomenna open labrapäivä perinteisesti 8:15-10:00. - Perjantaina on perinteiset "vapun etkot" eli käyttöjärjestelmien karhuluento klo 10:15-12:00! - Tämän luennon jälkeen on perinteisesti aikaa vapaille kysymyksille. Sen jälkeen tapahtuu vielä pienten lisävideoiden nauhoittamista, mihin saa halutessaan jäädä "studioyleisöksi". (Muutenhan puhutaan puupingviineille, mikä ei ole ihan täysin sama juttu kuin ihmiset..) *** Päivän päätavoitteet: - Interaktio, ryhmäkeskustelu. HUOM: Välipalautteen perusteella koetetaan tuunata tekemistä enemmän "demo 4 porukalla" -sessioiden tyyppiseksi. - Pysyen kurssin ja siihen sopivien opiskelumenetelmien tematiikassa. - Luodaan yhteistä käsitystä aiheista, joita viikon karhuluennolla olisi tarpeen käydä läpi. Näädät eivät kiiruhda. Näädät pohtivat ja keskustelevat. Näädät ehdottaa, mitä karhut vois tehdä perjantaina. *** Ryhmien jako Nopee! Zoomissa satunnaiset Breakoutit nimeltä Room 1, Room 2, ..., Room N. Ryhmäkoko 3-4 henkeä, suurin osa 3-henkisiä. (optimaalisempi nopeata keskustelua varten) Myöhässä tulevat ladotaan lisäjäseniksi pitkin matkaa - väkimäärämuutokset siis todennäköisiä. *** Lämmittely **** Nimi- ja fiiliskierros ryhmissä Luvattuun tapaan optimoidaan ajankäyttöä, kun ohjeet ja käytäntö on jo tuttua!! Suoraan fiiliskierrokseen vaan. Ryhmissä seuraavat (5 minuuttia): - Mikrofonit päälle - Videolähetykset päälle, jos on kamera - Zoom-nimen mukaisessa aakkosjärjestyksessä (paremman ratkaisun puutteessa): + Jokainen vuorollaan kertoo: Kuka olen, mistä oppiaineesta, missä tunnelmissa olen juuri nyt. Muut eivät keskeytä! Pidä tunnelmakuvaus lyhyenä. + Kun ihan jokainen on saanut vuoron, aloitetaan uusi kierros, jossa saa jatkaa juttua vapaaammin. + Jatketaan, kunnes tulee paluu pienhuoneesta. Zoomissa on automaattinen 60 sekunnin varoaika takaisinkutsun jälkeen. 14:24-14:29 *** Miten viikko kurssin parissa meni? **** Anonyymi Zoom-pollaus: Mikä tilanne viikon tehtäväpaketissa? Tässä vaiheessa oli työn alla: - Luvut 7-8 - Demon 4b ohjetekstit. Tekemistä: - Demo 4 valmiiksi ja palautusjärjestelmään! - Demo 4b työn alla. - Tee käytännön kokeiluja esitetyistä asioista! Poll. Oli pieni otanta paikalla, mutta otanta kuitenkin. Tilanne keskimäärin hyvän näköinen. **** Anonyymi Zoom-pollaus: Paljonko tuli käytettyä aikaa? Poll. Kestomuistutus: Se, minkä taakseen jättää, sen edestään löytää. Mitoitus 5 op kurssiin yhdessä opetusperiodissa on noin 16 tuntia viikossa. Tentissä jos osaa puolet, niin pääsee läpi, ja vitoseen pitää osata lähes kaikki. Oletus on, että ajankäytön määrän ja opiskelutapojen tehokkuuden kanssa se lopputulos korreloi. Arvosanajakaumaa voimme aikanaan verrata näihin matkan varrella tehtyihin ajankäyttökyselyihin. *** Osaamisen arviointia ( == tenttitärppi!) Tätä priorisoidaan, jotta varmasti ehditään. Rakenne: - Tärppi vuoden 2019 ekasta tentistä: konekielisen ohjelman jälki ja vaikutukset - Ryhmissä keskustelu: Millä strategialla tämä tehtäisiin ilman debuggerin apua? Ei yritetä vielä tehdä tehtävää. Aika: 14:40-14:50 - Keskustelu kaikkien ryhmien kesken (ei nauhoiteta videolle) Tarvittaessa opettajien spoileri. - Tauko (aito, ei tekemistä tauon aikana). 15:05-15:15 taukoa. Heti 15:15 koetetaan tehdä tehtävä tällä periaatteella! - Tehtävän tekeminen (yksilötyö). Pollataan vastaukset. Yksilötyö 15:15-15:25 - Oikean vastauksen toteaminen oikealla debuggerilla. Katso videolta!! *** Mikä asia ei vielä auennut Tehdään Flingaan koko porukalla laput ja tykkäysäänestys asioista, joita halutaan karhuluennolta. - 6 tykkäystä: Säikeen toiminta ja prosessin ero (+1 tykkäys Säikeet) - 6 tykkäystä: Musta hevonen (varmasti tulee Jonnen ja Paavon päättämiä aiheita:)) - 3 tykkäystä: Millon rekisterin nimi pitää olla suluissa, jos esim siirtää arvoa rekisteristä toiseen? *** Jäähdyttely **** Loppufiiliskierros. Ryhmissä pikakierros: Missä tunnelmissa kohti seuraavaa luentoa / muita askareita? **** Anonyymi Zoom-pollaus Tuntuiko tämä näätäily hyödylliseltä itsellesi? Perjantaina ei näätäillä. Karhut tulee, vetää luennon. *** Ennakkoon tiedotettu osuus päättyy Huomenna "Open labrapäivä", tervetuloa! Perjantaina karhuluento, tervetuloa! Kysymyksiä ja vastauksia 15 minuuttia. Sitten voi jäädä studioyleisöksi ja tarkentavien kysymysten esittäjäksi pienten aihevideoiden tuotantotuokioon. (Ensin pieni taukio, että opettaja saa keskittyä tuotantotuokioon) Sitten videonauhoittelusessio... alkaen Paavon pikkutauon jälkeen.. Lopeteltiin keskustelulla klo 16:01. Sitten käsiteltiin useita täsmäkysymyksiä. ** Videotuotantotuokio (28.4.2021); videoita aiempien havaintojen pohjalta. Näistä tehtiin myöhempääkin käyttöä varten videoita "lyhyiden videoiden" kansioon Moniviestimessä. Videoiden "jälkituotannossa" tullee menemään muutama päivä kalenteriaikaa. Muutama pieni sensurointi näköjään tarvitaan ja jotain... *** Asia 1: Prosessien tarkkailua ja omien prosessien hallintaa Lavastettuja tilanteita demo 2:sta tehtyjen havaintojen pohjalta (editori-instanssit, yes-prosessit ynnä muut). Keinot tilanteiden purkamiseen. ps, jobs, fg, bg, top, killall Samalla tullee näytettyä käytännön esimerkkiä prosessoriajasta käyttöjärjestelmän hallitsemana resurssina. Kellokeskeytys ilmeisesti tarvitaan, että voi olla enemmän prosesseja kuin prosessoriytimiä! *** Asia 2: C-esikäännös ja #include / import ero - 3 tykkäystä: Room 3: Mitä oikeasti tapahtuu, kun kirjasto liitetään koodiin (#include, import, using ero). Aiemmin luvattiin, että demo 4:n ohjeteksti avaa asiaa tai johtaa täsmällisempiin jatkokysymyksiin. Nyt ainakin täsmennetään vähäsen: gcc:n argumentti -E Muistetaan, että "kirjaston liittäminen" on vielä ihan eri asia kuin #include. C#:n using tai Javan import tekee konepellin alla monipuolisempia asioita kuin C:n #include, vaikka lähdekoodin (ihmis-)lukijalle melko samankaltaisessa roolissa onkin. Huom: Miksipä ei? Vetäistään Linuxin ytimen uusimman version include/linux/sched.h ruudulle ja ihmetellään esikääntäjää, structeja, pointtereita, kommentteja ja muuta. Jos/kun ope eksyy etsintämatkalla luennolla, niin tässä edellisenä iltana tallennetut täsmälinkit: task_struct alkaa: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/linux/sched.h?h=v5.12-rc8#n649 task_struct loppuu: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/linux/sched.h?h=v5.12-rc8#n1389 *** Yksi esimerkki ympäristömuuttujasta Ympäristömuuttuja PS1 bash-kuoressa. ** Luento 12: (pe 30.4.2021) (P/J) Vapun etkot *** Infot keväälle 2021 - Paavo-opella pienenpieniä aikatauluhaasteita lähipäivinä (nopea asuntokauppa rullaamassa, "force majeure" josta pahoittelut etukäteen; yritetään maksimoida tehot myös kurssin suhteen!). Esimerkiksi videoita tulee varmasti ASAP, mutta mikä siinä on "P" niinkuin "possible" on epävarma. - Demotarkastusten tilanne: Demot 1-3 tarkistettu. Demo 4 läsnäoloversion tehneille on mallivastaus Moodlessa - käykääs katsomassa! - Näätäluennon konsepti uudistui - entistä parempi nyt! - Puhutaan tentistä jo: Siinä on pari muuttujaa.. Moodlen huoltoikkuna, jota ei voida siirtää. Ratkaistaan jotenkin. Moodle saattaa olla hetken alhaalla tentin aikana, jolloin tulee pieni keskeytys tentin vastaamiseen. Viimeisin tallentamaton vastaus saattaa hukkua, mutta ei /pitäisi/ olla vaikutusta sen isommin. Päivystämme tentin ajan ja tarkkailemme tilannetta. Testitentti auki tänään klo 10-13 (luennon jälkeen). Ei vaikuta kurssin arvosteluun! Toivomme, että tätä kokeillaan. - Muuta, jos on. *** 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. *** Demon 5 esittely Tämän voi nyt tehdä nopeastikin!! Käydään läpi demo-ohje ja näytetään malliksi vähän esimerkkiä, miten ryhdytään tekemään. *** Tauko sopivassa kohdassa. Jatkuu tasan 11:15! *** Karhut päättivät, mitä käydään **** Prosessi ja säie Järjestelmällisesti luentomonisteen ja erityisesti esimerkkikoodien kanssa selittäen. Karhut katsovat kelloa koko ajan: Päästävä vähintään säikeiden hyötyä ilmentävään esimerkkiin saikeiden_tarve.c tjsp. *** Seuraava ennakkotehtävä Lukemista: - Demo 5 ohjeteksti - Monisteen luvut 9-10 Tekemistä: - Demo 4b valmiiksi ja palautus + asioiden sisäistäminen - Demo 5 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! ** Luento 13: (ke 5.5.2021) (P/J) Ryhmäkeskustelumuotoinen tilaisuus Eli suomeksi näätäluento (v2.0+)! Aletaan tykittää tasan 14:15! *** Infoisku keväälle 2021 - Demotarkastusten tilanne. Demot 1-3 kaikki tarkastettu. Demo 4 lähtee työn alle saman tien tänään. Eli hyvä. - Suosituimpia kaloja demon 3 perusteella (case-sensitive; Pallokala != pallokala): 13 ahven 5 Pallokala 5 miekkakala 5 kampela 4 hauki 3 Pirkkala 3 pallokala 3 kuha 2 Tonnikala 2 ruutana 2 muikku 2 Lohi 2 kissakala 2 karppi 2 kala 2 Hauki 2 haikala 2 Ahven 1 Yhen kilon siika 1 Vyökirjoahven - Tänään taas näätäilyn jälkeen jonkin verran aikaa yksilöllisille kysymyksille mistä vaan. - Huomenna open labrapäivä perinteisesti 8:15-10:00. *** Päivän päätavoitteet: - Interaktio, ryhmäkeskustelu. HUOM: Välipalautteen perusteella koetetaan tuunata tekemistä enemmän "demo 4 porukalla" -sessioiden tyyppiseksi. - Pysyen kurssin ja siihen sopivien opiskelumenetelmien tematiikassa. - Luodaan yhteistä käsitystä aiheista, joita viikon karhuluennolla olisi tarpeen käydä läpi. Näädät eivät kiiruhda. Näädät pohtivat ja keskustelevat. Näädät ehdottaa, mitä karhut vois tehdä perjantaina. *** Ryhmien jako Nopee! Zoomissa satunnaiset Breakoutit nimeltä Room 1, Room 2, ..., Room N. Ryhmäkoko 3-4 henkeä, suurin osa 3-henkisiä. (optimaalisempi nopeata keskustelua varten) Myöhässä tulevat ladotaan lisäjäseniksi pitkin matkaa - väkimäärämuutokset siis todennäköisiä. *** Lämmittely **** Nimi- ja fiiliskierros ryhmissä Luvattuun tapaan optimoidaan ajankäyttöä, kun ohjeet ja käytäntö on jo tuttua!! Suoraan fiiliskierrokseen vaan. Ryhmissä seuraavat (5 minuuttia): - Mikrofonit päälle - Videolähetykset päälle, jos on kamera - Zoom-nimen mukaisessa aakkosjärjestyksessä (paremman ratkaisun puutteessa): + Jokainen vuorollaan kertoo: Kuka olen, mistä oppiaineesta, missä tunnelmissa olen juuri nyt. Muut eivät keskeytä! Pidä tunnelmakuvaus lyhyenä. + Kun ihan jokainen on saanut vuoron, aloitetaan uusi kierros, jossa saa jatkaa juttua vapaaammin. + Jatketaan, kunnes tulee paluu pienhuoneesta. Zoomissa on automaattinen 60 sekunnin varoaika takaisinkutsun jälkeen. 14:24-14:29 *** Miten viikko kurssin parissa meni? **** Anonyymi Zoom-pollaus: Mikä tilanne viikon tehtäväpaketissa? Tässä vaiheessa oli työn alla: - Luvut 9-10 - Demon 5 ohjetekstit. Tekemistä: - Demo 4b valmiiksi ja palautusjärjestelmään! - Demo 5 työn alla. - Tee käytännön kokeiluja esitetyistä asioista! Poll. Näytti normaalijakaumalta. Otanta on kovin pieni, joten älkäämme kuvitelko sen olevan tilastollisesti mitään. **** Anonyymi Zoom-pollaus: Paljonko tuli käytettyä aikaa? Poll. Näytti normaalijakaumalta 8:n tunnin ympärillä, mikä on 50% siitä ajasta, mitä oletetusti vaatii saavuttaa pienin välttävästi hyväksyttävä taso kurssilla. Otanta on kovin pieni, joten älkäämme kuvitelko sen olevan tilastollisesti mitään. Kestomuistutus: Se, minkä taakseen jättää, sen edestään löytää. Mitoitus 5 op kurssiin yhdessä opetusperiodissa on noin 16 tuntia viikossa. Tentissä jos osaa puolet, niin pääsee läpi, ja vitoseen pitää osata lähes kaikki. Oletus on, että ajankäytön määrän ja opiskelutapojen tehokkuuden kanssa se lopputulos korreloi. Arvosanajakaumaa ja läpäisyprosenttia voimme aikanaan verrata näihin matkan varrella tehtyihin ajankäyttökyselyihin. *** Osaamisen arviointia ( == tenttitärppi!) Tätä priorisoidaan, jotta varmasti ehditään. Nyt tehdään 2 kpl. **** Tentistä 15.5.2019 tehtävät 18-19 Rakenne: - Tärppi vuoden 2019 ekasta tentistä: komentorivi-istunnon näkymä - Tehdään ilman apuvälineitä! - Ryhmissä keskustelu: Mitkä ovat oikeat vastaukset ja *miksi*? Aika: 14:34-14:44 (10 min) - Pollataan henkilökohtaiset vastaukset. Tehtävä 18: 100% vastaa B (ei) Tehtävä 19: 100% vastaa B (ei) Oikein! - Keskustelu kaikkien ryhmien kesken (ei nauhoiteta videolle) Tarvittaessa opettajien spoileri. - Tauko, jos on sopiva hetki (aito, ei tekemistä tauon aikana). **** Tentistä 15.5.2019 tehtävät 46-47 Rakenne: - Tärppi vuoden 2019 ekasta tentistä: copy-paste demo 5:stä - Tehdään ilman apuvälineitä! - Ryhmissä keskustelu: Mitkä ovat oikeat vastaukset ja *miksi*? Aika: 14:57-15:07 (10 min) - Pollataan henkilökohtaiset vastaukset. Tehtävä 46: Ehdotettu 56 Tehtävä 47: Ehdotettu 0x00007fffffffde38 0 "returnin heksalukukäsky" - Keskustelu kaikkien ryhmien kesken (ei nauhoiteta videolle) Tarvittaessa opettajien spoileri. - Oikean vastauksen toteaminen oikealla debuggerilla. Katso videolta!! *** Tauko tasan 15:45 asti. Sitten vielä loppunäätäilyt! *** Mikä asia ei vielä auennut Tehdään Flingaan koko porukalla laput ja tykkäysäänestys asioista, joita halutaan karhuluennolta. - (4 tykkäystä) Luvun 10 "Leluesimerkin" rautalangasta vääntö - Sivun käsite, tarkennusta siitä miten käyttöjärjestelmä ylläpitää sivutaulua ja heittovaihdon tapahtuminen - Heittovaihto - Pinokehys - (lisäksi) "Musta hevonen?", "musta poni, ovat pitkäikäisempiä", "Pinkie Pie is the best pony ever!", "Mutta rusinantte :(" *** Jäähdyttely **** Loppufiiliskierros. Ryhmissä pikakierros: Missä tunnelmissa kohti seuraavaa luentoa / muita askareita? *** Lopetus ja kysymyksiä Vedettiin vielä koko porukan kierros kokemuksista tästä 2-tuntisesta ja tämän kevään näätäilystä ylipäätään. Ja sitten täsmäkysymyksiä muun muassa demoon 5 mutta muuhunkin liittyen. Aamulla jatkuu open labrapäivässä. ** Luento 14: (pe 7.5.2021) (P/J) Karhuluento *** Infot keväälle 2021 - Ensi keskiviikkona on karhuluento! - Kiitos näätäilijöille tältä keväältä! - Keskiviikkona myös aamulla Open labrapäivä 8:15-10:00 (Helatorstaina vietämme nimittäin kaikki vapaata) Merkkaa itsellesi ylös tämä aika! Ei tule Sisun kalenteriin. - Demot 1-3 kaikki tarkastettu. Katso palautteet! Demon 4 itsenäinen suoritus vielä 21 jonossa. Monella on yhteispalaute ja mallivastaus saatavilla Moodlessa. Lukemaan! *** 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 6 ohjeteksteineen, monisteen luvut 11-12. *** Kuitenkin näätäpollit alkuun pollit. *** 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 kohdassa *** Karhut päättivät, mitä käydään Edetään monisteen koodiliitteessäkin olevien konkreettisten esimerkkikoodien kautta, loogisessa järjestyksessä. **** Säikeistä saikeiden_tarve.c saikeet.c Katso esimerkkien briiffaus videolta. *** Tauko 11:30 asti. Tykitys jatkuu tasan 11:30. *** Karhut jatkavat **** Prosesseista: Signaalinkäsittely ja kill sigesim.c Katso briiffaus videolta. **** 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. race_fixed_sem_mutex.c käsitellään luontevasti seuraavalla kerralla. *** 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! ** Luento 15: (ke 12.5.2021) (P/J) Karhuluento *** Infot keväälle 2021 - Ensi keskiviikkona on tentti! - Tentin jälkeisenä perjantaina (21.5.2021) ei ole luentoa! Oli varapäivä, jota ei tarvita. - Demotarkastusten tilanne. *** 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: Valmistautuminen tenttiin. Demo 6 työn alla. *** Tentin esittely. Tentti tapahtuu ensi viikon keskiviikkona eli 19.5.2020 klo 14:15-18:15. Tämä tiedetään tänään: + Toteutustapa on Moodlen ajoitettu etätentti. + Ei tarvita ilmoittautumista. Tentti aukeaa kurssin Moodleen klo 14:15. + Kaikkea netistä avoimesti löytyvää materiaalia on lupa käyttää, mutta kommunikointi kenenkään muun henkilön kanssa tentin aikana on ehdottomasti kiellettyä. Teknisesti kommunikaatiokieltoa on liki mahdoton valvoa, joten asia on nyt "honor code" -tasoinen. Ethän sorru huijaukseen - jälkihäpeä siitä on mittaamaton! + Kysymykset, muotoilu ja arvostelu ovat tasapuolisuussyistä mahdollisimman samanlaiset kuin vuosina 2017-2019 (mallitentit), mutta kysymyksissä ei voi olla sellaisia, joiden vastaus löytyisi suoraan materiaalista tai mallitenttien julkisista palautteista. Tänäkin vuonna, kiitos koronaviruksen, tentti mittaa juuri oikeita asioita eli soveltamista ja tarvittavan tiedon nopeaa kertaamista tai jopa uuden etsimistä. + Voidaan selvästi olettaa, että tentissä on jokaisella nettiyhteys ja selain käytössä, joten se mahdollistaa sellaistenkin kysymysten laatimisen, joiden vastaus löytyykin nimenomaan netistä eikä suoraan materiaalista - toki kuitenkin kurssilla nähdyillä toimintatavoilla. Lisäksi voidaan olettaa, että kurssin demoista tuttu palvelinympäristö jalava/halava on käytettävissä pieniin käytännön kokeiluihin myös tentissä. Tällaisiin voi varautua; luentovideoihin on kertynyt useita esimerkkejä onnistuneista ja epäonnistuneista tiedonhauista nimikkeellä "mallioppiminen". Kerrankin on tilanne, jossa voisi mitata myös tätä sinänsä kaikista tärkeintä taitoa! + Erikoisuus 2021: Moodlessa tulee mahdollisesti huoltokatko tentin aikana. Tarkkailemme tilannetta, ja jatkamme tenttiaikaa lopusta sen verran kuin mahdollinen katko vie välistä. Moodle tallentaa vastauksen aina, kun siirryt tehtäväsivulta toiselle, joten katkossa hukkuu korkeintaan meneillään olleen sivun vastaukset. + Opettajat päivystävät kurssin Zoom-huoneessa tentin ajan teknisten ongelmien ratkomista varten. Huoneeseen ei tarvitse tulla, jos ei ole teknistä ongelmaa. Sisältökysymyksiin ei vastata millään foorumilla tai välineellä tentin aikana!! *** Uusintatentit Tulee kaksi massauusintaa samalla kaavalla. Päivämäärät tiedotetaan ensimmäisen tenttikerran jälkeen. Iso toive on, että mahdollisimman moni osallistuu jo ensimmäiseen yritykseen! Ensimmäinen uusinta on heinäkuussa (lukuvuosi 2020-2021). Toinen on elokuussa (lukuvuosi 2021-2022). Kesäkuussa ei ole tenttimismahdollisuutta. *** Eteenpäin asiassa **** Kyssäri viime luennon lopussa '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 muutamasas 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 :). **** Synkronointi 2/3: Useita yhteisiä resursseja, Deadlock Vappusimalaattori: Aloitetaan esimerkistä vappu_sekaisin.c Tähän kohtaan mietintätauko. Jatketaan tasan 15:20 esimerkkiä! Jos opettaja unohtaa, miten esimerkki viedään läpi "lennosta", 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: race_fixed_sem_mutex.c Tuottaja-kuluttaja -tilanne: tuottaja_kuluttaja_rikki.c Korjataan lennosta muokkaamalla. Jos opettaja eksyy, voi hän luntata korjatusta mallista (tuottaja_kuluttaja.c) Loput viimeisellä kerralla sitten. ( HUOM: pyydetty mainitsemaan kurssin lopuksi courserating.fi virallisen Webropol-palautteen *lisäksi*, ei korvikkeena... Virallinen on se tärkeä, jonka opettajat lukevat ja josta esim. näätäluennot ja välidemo assemblerista tulivat. Courseratingissa on omat ihan jännät lisäarvonsa yhteisöllisyyden kannalta ja pilottidataa mielellään keräisivät... ) *** Viimoseen kertaan siirtynyttä **** Virtuaalimuisti (sivutus ja heittovaihto): Näädiltä tulleita ehdotuksia: - Sivun käsite, tarkennusta siitä miten käyttöjärjestelmä ylläpitää sivutaulua ja heittovaihdon tapahtuminen - Heittovaihto - (4 tykkäystä) Luvun 10 "Leluesimerkin" rautalangasta vääntö **** Lokaalisuusperiaate Cache thrashing esimerkkikoodi **** Sikanopee esimerkki: Viestit Ehkä, jos aikaa jossain välissä on(?) chattomyself.c ** Luento 16: (pe 14.5.2021) (P/J) Viimeinen luento. *** Infot keväälle 2021 - Ensi keskiviikkona on tentti! - Tentin jälkeisenä perjantaina (21.5.2021) ei ole luentoa! Oli varapäivä, jota ei tarvita. - Demotarkastusten tilanne. - Sunnuntai-iltaan 16.5. mennessä palautetut demo 5 -tehtävät yritetään saada tarkastettua niin, että tarkastuksista on hyötyä tenttiin valmistautuessa. - Demo 5:n jälkeen paukut tentiin, demo 6:n ehtii tehdä ja palauttaa tentin jälkeen. - Torstaina 20.5. ja 27.5. open labrapäivä. (Jälkimmäinen ei näy sisussa.) - Palautemahdollisuus Webropol 17.5. alkaen, muistutus myöhemmin ( HUOM: pyydetty mainitsemaan kurssin lopuksi courserating.fi virallisen Webropol-palautteen *lisäksi*, ei korvikkeena... Virallinen on se tärkeä, jonka opettajat lukevat ja josta esim. näätäluennot ja välidemo assemblerista tulivat. Courseratingissa on omat ihan jännät lisäarvonsa yhteisöllisyyden kannalta ja pilottidataa mielellään keräisivät... ) *** 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: Valmistautuminen tenttiin. Demo 6 työn alla. **** Virtuaalimuisti (sivutus ja heittovaihto): Näädiltä tulleita ehdotuksia: - Sivun käsite, tarkennusta siitä miten käyttöjärjestelmä ylläpitää sivutaulua ja heittovaihdon tapahtuminen - Heittovaihto - (4 tykkäystä) Luvun 10 "Leluesimerkin" rautalangasta vääntö **** Lokaalisuusperiaate Cache thrashing esimerkkikoodi cache.c **** Oheislaitteet ja tiedostojärjestelmät (Kuva 31) ** Kysymyksiä? * Viime vuoden (2020) toteumaa pohjaksi suunnitteluun ** Vuoden 2020 Luennoilta 11-13 pohjaksi suunnittelulle *** Läpikäydään uusia kysymyksiä ** Vuoden 2020 luento 14 suunnittelun pohjaksi *** Tilannekartoitus edellisestä tavoitteesta Mitä piti olla tehtynä? Pollataan edellisen tavoitteen toteuma ja keskittynyt ajankäyttö 7 vuorokauden liukuvassa ikkunassa. *** Tavoite Lukemista: - Monisteen luvut 9 ja 10 luvussa ja luettuna Tekemistä: - Demo 5 täydessä vauhdissa - Kysymyksiä kannattaa merkitä ylös etukäteen materiaalia lukiessa ja demoja tehdessä Tämän päivän tavoite siis: - Paikataan ymmärrysaukkoja lukuihin 9 ja 10 kysymysten pohjalta. - Varmistetaan, että demo 5 on käynnissä. *** Läpikäydään vanhoja kysymyksiä **** Hitaat: - 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. *** Pääsimmekö tavoitteeseen 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 *** Tulevat tehtävät - Luvut 11 ja 12 luettuna. - Demo 5 valmiiksi ja palautus tarkkaavaisesti! - Demo 6 käyntiin. - Kysymykset muistiin! ** Vuoden 2020 luento 15 suunnittelun pohjaksi *** Infoisku keväälle 2020 **** Demotarkastusten tilanne Demo 4 katsottu 30%, loput tullee tämän illan aikana. Todennäköistä, että demot 1-5 tarkastettuna hyvinkin tällä viikolla! **** Ensisijainen tentti 20.5.2020 klo 14:15-18:15 **** Toissijainen tentti 27.5.2020 klo 16:00-20:00. Toinen tentti on jo 27.5.2020 klo 16:00-20:00. Ajankohta on helppo lukita - tietenkin sama kuin jo viime kesänä tiedotettu yleisen tentin ajankohta: https://www.jyu.fi/it/fi/ohjeita-opiskelijalle/opiskelu/yleiset-tentit/tenttipaivat Ei lähdetä säätämään tai sooloilemaan yhtään, sama mitä koronaviruksia sataisi taivaalta, vaan pidetään se, mikä on ollut mahdollisesti kalenterissa jo vuoden verran! Huomioitavaa: + Kyseessä on tavallinen yleinen tentti, joten ilmoittaudu ihan normaaliin tapaan Korpissa. + Tentti on saman muotoinen kuin 20.5.2020, mutta tietysti eri kysymykset. + Toivottavaa on, että tämä on toissijainen vaihtoehto, mikäli 20.5.2020 klo 14:15 tapahtuva tentti ei ole mitenkään mahdollinen itsellesi. + Esimerkiksi uusintana tätä ei voi ajatella, koska 20.5.2020 ei varmastikaan ehdi olla tarkastettu ennen kuin 27.5.2020 jo tapahtuu. + Myöhempiäkin tenttimahdollisuuksia tulee; oletan ja toivon, että suurin osa käy tenttimässä jo 20.5.2020 ja lopuissa on sitten muun muassa vähemmän hommaa tarkastaa jne. Tarkennuksia, lisäspeksiä: - Tenttiin 20.5.2020 ei tarvitse ilmoittautua näillä näkymin. - Jos käy molemmat, niin jääkö huonompi voimaan? Vastaus: Saa käyttää aikaa 8h sen sijaan että 4h. Parempi jää voimaan. **** Tällä viikolla open labrapäiviä tavanomaista viikkoa tiheämmin. Tällä viikolla open labrapäiviä tavanomaista viikkoa tiheämmin: + to 8:15-12:00 (yhteensä 4 tuntia!) + pe 8:15-10:00 (eli vielä ennen viimeistä luentoa yksi) Tulee myös ensi viikolle, mutta aikataulut tiedotetaan myöhemmin. **** Aikatauluttamisen osalta "demot vs. tentti" huomioi seuraavaa: Aikatauluttamisen osalta huomioi seuraavaa: + Demo 6 on pakollinen kurssin suorittamiseksi, mutta sen sisältö ei ole tentissä suuressa määrin tärkeä (paitsi se, mitä se mahdollisesti selventää jo demossa 5 käytyyn asiaan nähden). Näin ollen kannattaa ehkä käyttää energia ja aika ensin tenttiin valmistautumiseen ja vasta tentin jälkeen demon 6 viemiseen loppuun. + Demojärjestelmän deadline 24.5.2020 on ohjeellinen. + Demo 5 vähän sama juttu: Siihen liittyen on vakiotärppejä luvassa tenttiin usean pisteen edestä, mutta mikäli se tuntuu haastavalta, voi olla tärkeämpää hoitaa ensin tentti. Arvosanatavoitteeseen 4-5 tuskin pääsee vastaamatta oikein myös demo 5:n osaamista mittaaviin tärppeihin, mutta kaikki muutkin arvosanat ovat vaarassa, jos yleisemmän tason perusteissa on puutteita. Huomioi siis oman ajankäytön balansoinnissa tämäkin! + ERIKOISHUOM: Tentin jälkeen on vielä saatavilla apua demon 6 tekemiseen. To 21.5.2020 on vapaapäivä (helatorstai), mutta jo pe 22.5.2020 tulee Open labrapäivä klo 8:15-12. Sitä seuraavalle viikolle tulee vielä erityisesti demo 6:tta varten ohjauksia, joista tiedotetaan myöhemmin. Ja toki, jos ongelmia on vielä aiemmissakin demoissa, niin niihin saa apuja vielä toukokuun ajan. **** Opettajan kainot toiveet lähiviikoille Tämä kaikki sanottuna, toivon seuraavaa: - Mahdollisimman moni tekisi tentin heti 20.5.2020, vaikka myöhempiä uusintojakin tulee. - Mahdollisimman moni hyödyntäisi toukokuun apujen pyytämiseen kaikkia kanavia pitkin, jotta kurssisuoritus jälkijunassakin helpottuisi. Toukokuun jälkeen opettajien työsuunnitelma on täynnä muuta kuin tätä kurssia, joten apujen saaminen tämän suhteen tulee olemaan niukkaa. *** Tilannekartoitus edellisestä tavoitteesta Perinteiset pollit. Tavoite oli: - Luvut 11 ja 12 luettuna. - Demo 5 valmiiksi ja palautus tarkkaavaisesti! - Demo 6 käyntiin. - Kysymykset muistiin! Ajankäytössä kurssin on nyt sama selkeä notkahdus kuin aiempinakin vuosina on tässä kohtaa nähty. Nyt tsemppiä! On faktisesti vähän jäljellä! "Jaksaa, jaksaa, painaa, painaa!" *** Tämän päivän ja viikon tavoite Aikataulun mukainen tentti on ensi viikolla. On tullut aika asettaa viimeinen luentoviikkotavoite: - Kartoitetaan avoimeksi jääneet kysymykset, ja käsitellään ne, mitä ehditään. - Lisäksi ja erityisesti: Arvioidaan osaamista ja kokonaisymmärrystä. Tämän viikon jälkeenhän pitäisi olla hahmottunut kaikki se, mitä tämän kurssin aikana on ylipäätään tarkoitus ehtiä hahmottaa! - Perjantaina jokaisella on havaintojen pohjalta käsitys, paljonko ja minkälaista tekemistä vaatii saavuttaa itse tavoittelemansa osaamistaso. Poll: Onko selkeä vai tarvitseeko tarkentaa? *** Kartoitetaan 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. *** Väliin ainakin yksi tenttitärppi, että muistetaan käydä Otsikon mukaisesti tsekataan jo joku yleisempikin tenttikysymys. Käytiin läpi "lauseiden yhdistämistehtävät" kahdessa esiintyvässä muodossaan: (1) yhdestä yhteen ja (2) yhdestä moneen vaihtoehtoiseen loppuun. Muut tehtävätyypit (väittämä, lukuarvovastaus) on käyty läpi jo aiemmilla luennoilla. Nyt on tiedossa tarkalleen tämänkin vuoden tentissä tulevat kysymykset. *** Kysymykset kevään tenteistä + sisällön ulkopuolelle rajatut Käytänteisiin liittyvää: - 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? Vastaus: Kyllä! - Tuleeko olemaan aamupäivän tenttejä tarjolla? Työt menee keskiviikon tentin kanssa päällekkäin... Vastaus: Pohditaan. - Lisää tenttitärppien läpikäymistä! Vastaus: Tuli jo. 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.] ** Luento 16: (pe 14.5.2021) (P/J) Viimeinen luento. *** Infoisku keväälle 2020 - Demo 4 on tarkastettu. Katso palaute!! - Paavon opetusnäyte 20 min asiantuntijaluento + 10 min kysymykset ma 18.5.2020 klo 14:15-14:45. Zoom-linkki tulee keskustelulistalle Tervetuloa! *** Perinteiset alkutoimet vielä kerran Pollit tehtiin. *** Tämän päivän tavoite Näkyy väliotsikoista: *** Kysymysten läpikäyntiä 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ä *** Luento-osuuden loppuarviointi Ks. video. MUISTA anonyymi kurssipalaute kaikista kursseista! *** Seuraava välitavoite Tentti. ** Tentti: (ke 19.5.2021) ** (Varapäivä pe 21.5.2021 - saatetaan perua tai käyttää palautteeseen tmv.) ** Jotain viime vuotisia *** 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