Skip to content

Latest commit

 

History

History
216 lines (147 loc) · 12.2 KB

File metadata and controls

216 lines (147 loc) · 12.2 KB
layout title title_long inheader permalink
page
Osa 0
Johdanto
true
/osa0/
Creative Commons -lisenssi

Kurssi on jo ohjelmointia hallitseville tarkoitettu johdanto ohjelmistotuotantoon, eli systemaattiseen tapaan tehdä hieman laajempia ohjelmistoja useamman hengen tiimissä ulkoiselle asiakkaalle. Erityinen paino kurssilla on niin sanotuissa ketterissä ohjelmistotuotantomenetelmissä.

Kurssin suoritettuaan opiskelijan tulisi omata riittävät tiedolliset ja tekniset valmiudet toimia juniorikehittäjän roolissa pienessä ohjelmistotiimissä, esimerkiksi Tietojenkäsittelytieteen osaston opintojaksolla ohjelmistotuotantoprojekti.

Hieman tarkemmin eriteltynä, suoritettuaan kurssin opiskelija

  • tuntee ohjelmistoprosessin vaiheet (vaatimusmäärittely, suunnittelu, toteutus ja laadunhallinta)
  • tietää miten vaatimuksia hallitaan ketterässä ohjelmistotuotantoprosessissa
  • ymmärtää suunnittelun, toteutuksen ja testauksen vastuut ja luonteen ketterässä ohjelmistotuotannossa
  • ymmärtää ohjelmiston laadunhallinnan perusteet
  • osaa toimia ympäristössä, jossa ohjelmistokehitys tapahtuu hallitusti ja toistettavalla tavalla

Kurssin suorittaminen ja arvostelu

Kurssi koostuu kolmesta komponentista, luennoista, laskuharjoituksista ja miniprojektista.

Luennot

Kurssilla on 10 luentoa ja 3 vierailuluentoa (Marko Klemetti Eficode, Niko Laitinen Nitor ja Hannu Kokko Elisa). Luennoilla käydään pääasiassa läpi ohjelmistotuotantoon liittyvää käsitteistöä ja teoriaa, samaa asiaa mihin tämä materiaali keskittyy. Kurssin aihepiiriä syventäväille vierailuluennoille osallistuminen palkitaan laskaripisteillä.

Laskuharjoitukset

Kurssiin liittyy viikottaiset laskuharjoitukset. Tehtäviä harjoituksissa on kahden tyyppisiä.

Luennoilla ja tässä materiaalissa käytävää teoriaa kertaavat viikoittaiset monivalintatehtävät, monivalintatehtävien deadline on sunnuntaina klo 23.59.

Toinen osa tehtävistä käsittelee ohjelmistotuotantoon liittyviä teknisempiä asioita, kuten versionhallintaa, testaamista ja ohjelmistojen konfigurointia, näiden deadline on maanantaina klo 23:59.

Laskuharjoitusten oletettu kuormittavuus on noin 8 tuntia ensimmäisen kolmen viikon aikana ja 4 tuntia jälkimmäisinä viikkoina. Monivalintatehtäviin vastaaminen on suhteellisen nopeaa, mutta järkevästi vaastaaminen edellyttää osallistumista luennoille ja/tai viikon materiaalin lukemista.

Miniprojekti

Kurssin loppupuolella, viikoilla 4-7 järjestetään miniprojekti, eli ryhmässä tehtävä pieni harjoitustyö, jonka pääasiallisena tehtävänä on projektinhallinnan sekä eräiden laadunhallintatekniikkoiden harjoittelu.

Kukin miniprojektiryhmä koostuu 4-6 opiskelijasta, ryhmillä on myös asiakas, jota ryhmä tapaa viikoittain. Ensimmäisellä viikolla asiakastapaamiseen tulee varata 90 minuuttia, jälkimmäisillä 30 minuuttia.

Kurssin lopussa on miniprojektien yhteinen 2h kestoinen demotilaisuus.

Miniprojekteissa työskentelyyn tulee varata yhteensä noin 6 tuntia aikaa viikossa.

Kurssin läpäisyn edellytyksenä on hyväksytysti suoritettu tai hyväksiluettu miniprojekti.

Miniprojektin hyväksilukeminen

Miniprojektiin osallistuminen ei ole välttämätöntä, jos täytät työkokemuksen perusteella tapahtuvan ohjelmistotuotantoprojektin hyväksiluvun edellyttävät kriteerit.

Kriteerit selviävät täältä kohdasta Laaja suoritus: Ohjelmistotuotantoprojekti

Toisin kuin Ohjelmistotuotantoprojektin hyväksilukuun, miniprojektin hyväksilukuun vaaditaan ainoastaan 6 kuukauden työkokemus.

Jos hyväksiluet miniprojektin työkokemuksella, kerro asiasta välittömästi emailitse.

Kurssin arvostelu

Kurssilta on jaossa yhteensä 40 pistettä, jotka jakautuvat eri komponenttien kesken seuraavasti

  • laskarit 11 pistettä
    • luentoihin liittyvät monivalintatehtävät 3 pistettä
    • viikoittaiset ohjelmointi/versionhallinta/konfigurointitehtävät 8 pistettä
  • miniprojekti 9 pistettä
  • koe 20 pistettä

Arvosanaan 1 riittää 20 pistettä, arvosanaan 5 tarvitaan 36 pistettä.

Läpipääsy edellyttää lisäksi miniprojektin hyväksyttyä suoritusta (tai hyväksilukua) ja vähintään puolia kokeen pisteistä.

Laskarien pisteytysperusteet

Viikoittaisista monivalintatehtävistä on siis tarjolla 3 kurssipistettä. Täysiin kurssipisteisiin riittää 90% monivalintakysymyspisteistä (mvp).

Kaikki monivalitatehtävät ovat joukkoja väittämiä, joista jokainen voi olla oikein tai väärin. Jokaisen viikon monivalintakysymyksistä on tarjolla yksi mvp, joka lasketaan seuraavan kaavan mukaan:

  • jos oikeatVastaukset/vaittamaLukumaara on pienempi tai yhtäsuuri kuin 0.45, on tuloksena 0 mvp:tä.
  • jos oikeatVastaukset/vaittamaLukumaara on enemmän kuin 0.45, kasvaa mvp-määrä lineaarisesti siten, että kaikki kohdat oikein tuo yhden mvp:n.

Normaaleista laskareista on tarjolla 9 kurssipistettä. Täysiin kurssipisteisiin edellytetään 90 % normaalien laskareiden tekemistä.

Saat bonuksena suoritusmerkinnän opintojaksolta Versionhallinta 1 op tekemällä kaikki tämän kurssin versiohallintatehtävät ja suorittamalla hyväksytysti miniprojektin

Luennot - laskuharjoitukset - miniprojekti

Kurssi siis sisältää kolme pääkomponenttia, luennot, viikoittaiset laskuharjoituset sekä miniprojektin. Komponentit ovat luonteeltaan melko erilaisia, ja se on joskus aiheuttanut hämmennystä opiskelijoiden keskuudessa.

Kurssin luennoilla keskitytään pääosin ohjelmistokehityksen teoriaan ja käsitteistöön. Laskareista monivalintatehtävät liittyvät kunkin viikon luentoihin.

Versionhallintaa, ohjelmistojen konfigurointia, testausta ja ohjelmointia käsittelevien teknisempien tehtävien aihepiirejä ei taas luennoilla käsitellä oikeastaan ollenkaan (poislukien testaukseen liittyvä teoria).

Miniprojektin ideana taas on yhdistää luentojen teoria ja laskareissa käsitellyt teknisemmät asiat, ja soveltaa niitä käytännössä pienessä ohjelmistoprojektissa.

Kokeessa suurin paino tulee olemaan teoriassa ja sen soveltamisessa käytäntöön. Laskareiden teknisimpiä asioita, kuten versionhallintaa ei kokeessa tulla kysymään. Tarkemmin kokeesta ja siihen valmistautumisesta kurssin viimeisellä luennolla.

Kuten kohta tulemme näkemään, ohjelmistotuotanto kattaa suuren kirjon erilaisia asioita alkaen ihmisten johtamisesta aina teknisimpiin komentoriviltä suoritettaviin operaatioihin asti. Sama heijastuu myös kurssin rakenteessa, kurssilla on eri henkisiä komponentteja, näistä yksikään ei ole muita tärkeämpi, kullakin on oma painoarvonsa kurssin arvostelussa. Teoria-asioita arvioidaan koemenestyksen perusteella, käytännöllisimpiä asioita taas "jatkuvana arviona" laskareista kertyvien pisteiden ja miniprojektissa suoriutumisen perusteella.

Aikataulu

Viikko 1

Viikko 2

Viikko 3

Viikko 4

Viikko 5

Viikko 6

Viikko 7

  • Luento 13: maanantai 9.12. klo 12-14 CK112
    • Vierailuluento Hannu Kokko Elisa
  • Luento 14: tiistai 10.12. klo 12-14 CK112
    • Vierailuluento Marko Klemetti Eficode
  • Laskarit
  • Miniprojekti
    • Loppudemot (sprintin 3 review)

Viikko 8

  • Kurssikoe maanantaina 16.12. 9-12 salissa A111

Typoja materiaalissa

Kun huomaat kurssimateriaalissa kirjoitusvirheitä, tee korjausehdotus. Kurssimateriaali on repositoriossa https://github.com/ohjelmistotuotanto-hy/ohjelmistotuotanto-hy.github.io tiedostoissa osa0.md jne.

Muutosehdotusksen tekeminen aloitetaan painamalla tiedoston kynä-symbolia:

![]({{ "/images/0-1.png" | absolute_url }})

Kun teksti on editoitu halutunkaltaiseksi, luodaan muutosehdotus sivun alalaidasta:

![]({{ "/images/0-2.png" | absolute_url }})

Tämän jälkeen vielä luodaan muutosehdotuksesta pull request

![]({{ "/images/0-3.png" | absolute_url }})

Kun kaikki klikkailu on tehty, syntyy materiaalirepositorioon pull request

![]({{ "/images/0-4.png" | absolute_url }})

Ja kun kurssihenkilökunta mergeää pull requestin, typo korjautuu materiaalista.