Siirry suoraan sisältöön

DevOpsLaajuus (5 op)

Tunnus: TT00CD85

Laajuus

5 op

Osaamistavoitteet

Opintojakson suoritettuaan opiskelija osaa:

Kertoa mikä DevOps on ja miten se liittyy ohjelmistotuotantoon,
Käyttää DevOpsiin liittyviä työkaluja ja ympäristöjä,
Käyttää DevOps:ia ohjelmistoprojektissa.

Sisältö

Ohjelmistotuotannon perusteet
DevOps toimintamalli
DevOps työkalut ja ympäristöt
DevOps käytännössä
Projektityö

Ilmoittautumisaika

01.12.2024 - 13.01.2025

Ajoitus

13.01.2025 - 30.04.2025

Opintopistemäärä

5 op

Toteutustapa

Lähiopetus

Yksikkö

Tekniikka ja liiketoiminta

Toimipiste

Kupittaan kampus

Opetuskielet
  • Suomi
Paikat

15 - 40

Koulutus
  • Tietojenkäsittelyn koulutus
Opettaja
  • Tuomo Helo
Ryhmät
  • PTIETS22swis
    PTIETS22 Ohjelmistojen kehittäminen ja tietojärjestelmät

Tavoitteet

Opintojakson suoritettuaan opiskelija osaa:

Kertoa mikä DevOps on ja miten se liittyy ohjelmistotuotantoon,
Käyttää DevOpsiin liittyviä työkaluja ja ympäristöjä,
Käyttää DevOps:ia ohjelmistoprojektissa.

Sisältö

Ohjelmistotuotannon perusteet
DevOps toimintamalli
DevOps työkalut ja ympäristöt
DevOps käytännössä
Projektityö

Oppimateriaalit

Osassa I. DevOps-teoriaa

1. Learning DevOps: A comprehensive guide to accelerating DevOps culture adoption with Terraform, Azure DevOps, Kubernetes, and Jenkins, 2. painos
Mikael Krief

Vain luku 1: The DevOps Culture and Infrastructure as Code Practices. Tähän teokseen on joitakin lisenssejä oppilaitoksemme eBook Central -kirjatietokannassa.


Osassa II. Testaaminen ja sen automatisointi

Testing JavaScript Applications
Lucas da Costa
Julkaisia : Manning (13 huhtikuu, 2021)

Vain valikoituja lukuja. Tähän teokseen on joitakin lisenssejä oppilaitoksemme eBook Central -kirjatietokannassa.


Osassa III. CI/CD ja GitHub Actions

GitHubin omaa nettimateriaalia.


Osassa IV: Kontittaminen

DevOps with Docker 22
Helsingin yliopisto / mooc.fi
Kousa Jami

Part 1 + Part 2 (vain osittain)

https://devopswithdocker.com/

Opetusmenetelmät

- kirjallisuuden ja muun oppimismateriaalin lukeminen tai katsominen
- osallistuminen luennoille
- määrittely, konfigurointi, komentojen käyttäminen ja ohjelmointi opettajan johdolla
- itsenäinen työskentely
- osallistuminen ryhmätöiden tekemiseen

Tenttien ajankohdat ja uusintamahdollisuudet

Ei tenttiä.

Toteutuksen valinnaiset suoritustavat

Opiskelija voi suorittaa opintojakson osoittamalla osaamisensa opintojakson aiheista esimerkiksi tekemillään työnäytteillä. Osoittamisesta täytyy sopia opettajan kanssa opintojakson 4 ensimmäisen viikon aikana.

Opiskelija voi myös ahotoida opintojakson vastaavalla muualla oppilaitoksemme hyväksymässä oppilaitoksessa suoritetulla kurssilla. Asia kannattaa laittaa vireille heti opintojakson alkaessa

Opiskelijan ajankäyttö ja kuormitus

45 h kontaktiluentoja ja itsenäistä työskentelyä opettajan läsnäollessa
2-4 h harjoistustöiden esitystä ja seurantaa
40 h harjoitustöiden valmistelua
45 h henkilökohtaiset harjoitustehtävät

Sisällön jaksotus

Sisältö

I. DevOps teoriaa:
- 1 luento
- 1 henkilökohtainen harjoitustehtävät monivalintatenttinä: 10 pistettä

II. Testaaminen ja sen automatisointi
- Ohjelmistojen testaamisen perusteet teoriassa ja käytännössä
- Testaamisen merkitys DevOpsissa
- 3-4 luentoa ja demot:= 4-5 kertaa
- 2 henkilökohtaista harjoitustehtävää: 2 * 10 = 20 pistettä


III. CI/CD ja GitHub Actions
- Jatkuvan integroinnin ja jatkuvan toimittamisen toteuttaminen työnkuluilla
- 3 luentoa ja demot = 4 kertaa
- 2 henkilökohtaisista harjoitustehtävää: 2 * 10 = 20 pistettä


IV. Kontittaminen - Dockers
- Kontit ja niiden merkitys DevOpsissa
- 2-3 luentoa ja demot = 3-4 kertaa
- 2 henkilökohtaista harjoitustehtävää 2 * 10 = 20 pistettä

V. Ryhmätyö :
- 4 hengen ryhmissä
- Ryhmäkohtainen toimeksianto DevOps-aiheesta
- Esitys opintojakson muille opiskelijoille
- 30 pistettä

Yhteensä 100 pistettä + max 20 pistettä läsnäolosta. Demoissa on oltava läsnä.

Arviointiasteikko

H-5

Arviointimenetelmät ja arvioinnin perusteet

Opintojakson kokonaismaksimipistemäärä on 120.

Maksimissaan 70 pistettä 7 henkilökohtaisesta harjoitustehtävästä, 30 pistettä harjoitustöistä ja 20 pistettä läsnäolosta.

Opintojakson arviointiskaala on seuraava:

Pisteitä vähintään -> Arvosana

0 -> 0
40 -> 1
56 -> 2
72 -> 3
88 -> 4
104 -> 5

Huomaa seuraava lisäehto: hyväksyttävään suoritukseen tarvitaan vähintään 20 pistettä henkilökohtaisista harjoitustehtävistä ja 10 pistettä harjoitustöistä.

Läsnäolopisteet annetaan seuraavan skaalan perusteella:

Läsnäoloprosentti käytännön- ja teorialuennoilla -> pisteitä

20% -> 5
40% ->10
60%->15
80%->20

Osa henkilökohtaisista harjoitustehtävistä tehdään käytännöntunneilla yhdessä opettajan kanssa. Näin läsnäolo niillä karruttaa myös harjoitustehtäväpisteitä.

Demokerroilla on oltava läsnä. Läsnäolo demoissa ei karruta läsnäolopisteitä. Poissaolo demoista aiheuttaa 25 % vähennyksen opiskelijan näihin demoihin palauttamien tehtävien pisteisiin. Myös tehtävien palauttaminen myöhässä aiheuttaa 25 prosentin vähennyksen. Tehtäviä ei oteta enää vastaan opintojakson päättymispäivän jälkeen. Opintojakson päättymispäivän jälkeen ei myöskään anneta korvaavia tai täydentäviä tehtäviä. Opiskelija täytyy huolehtia siis siitä, että hän saa kerättyä eri suorituksista riittävästi pisteitä opintojakson aikana.

Hylätty (0)

Opiskelija ei ole opintojakson aikana onnistunut keräämään läpäisyyn riittävää pistemäärää. Näin ollen hän ei ole pystynyt osoittamaan sellaista osaamista, jonka perusteella voitaisiin antaa hyväksyttävä arvosana.

Arviointikriteerit, tyydyttävä (1-2)

Opiskelija tietää, mitä DevOps on
Opiskelija tietää ohjelmistotestauksen eri muodot ja niiden tarkoitukset
Opiskelija osaa laatia yksinkertaisia testejä
Opiskelija tuntee CI/CD -prosessin ja ymmärtää sen tarkoituksen
Opiskeija osaa laatia yksinkertaisen CI/CD -liukuhihnan
Opiskelija tietää mitä kontittaminen
Opiskelija osaa luoda kontin

Arviointikriteerit, hyvä (3-4)

Opiskelija tietää, mitä DevOps on
Opiskelija tietää ohjelmistotestauksen eri muodot ja niiden tarkoitukset
Opiskelija omaa taitoja testata ohjelmistoja käytännössä
Opiskelija tuntee CI/CD -prosessin ja ymmärtää sen tarkoituksen
Opiskeija osaa laatia mm. testejä suorittavan CI/CD -liukuhihnan
Opiskelija tietää mitä kontittaminen
Opiskelija osaa luoda ja käyttää kontteja
Opiskelija osaa toteuttaa toimivia automatisointiratkaisuja
Opiskelija tuntee automatisointiratkaisuihin liittyviä tietoturvakysymyksiä

Arviointikriteerit, kiitettävä (5)

Opiskelija tietää, mitä DevOps on
Opiskelija tietää ohjelmistotestauksen eri muodot ja niiden tarkoitukset
Opiskelija osaa suunnitella ja toteuttaa ohjelmistotestauksen käytännössä
Opiskelija tuntee CI/CD -prosessin ja ymmärtää sen tarkoituksen
Opiskeija osaa laatia mm. testejä suorittavan CI/CD -liukuhihnan
Opiskelija tietää mitä kontittaminen
Opiskelija osaa luoda ja käyttää kontteja
Opiskelija osaa toteuttaa vaatimuksia vastaavia ja toimivia automatisointiratkaisuja, jotka yhdistävät automaattista testausta, kontittamista, automatisointiliukuhihnoja sekä mahdollisia muita teknologioita ja periaatteita tehokkaiksi ratkaisuiksi
Opiskelija osaa ottaa huomioon automatisoinnin tietoturvaan liittyviä kysymyksiä

Ilmoittautumisaika

29.11.2023 - 18.01.2024

Ajoitus

08.01.2024 - 30.04.2024

Opintopistemäärä

5 op

Toteutustapa

Lähiopetus

Yksikkö

Tekniikka ja liiketoiminta

Toimipiste

Kupittaan kampus

Opetuskielet
  • Suomi
Koulutus
  • Tietojenkäsittelyn koulutus
Opettaja
  • Tuomo Helo
Vastuuopettaja

Tuomo Helo

Ryhmät
  • PTIETS21swis
    PTIETS21 Ohjelmistojen kehittäminen ja Tietojärjestelmät

Tavoitteet

Opintojakson suoritettuaan opiskelija osaa:

Kertoa mikä DevOps on ja miten se liittyy ohjelmistotuotantoon,
Käyttää DevOpsiin liittyviä työkaluja ja ympäristöjä,
Käyttää DevOps:ia ohjelmistoprojektissa.

Sisältö

Ohjelmistotuotannon perusteet
DevOps toimintamalli
DevOps työkalut ja ympäristöt
DevOps käytännössä
Projektityö

Oppimateriaalit

Kurssilla käytetään valikoiden seuraavaa materiaalia. Lista ei välttämättä ole täydellinen.

1. Learning DevOps: A comprehensive guide to accelerating DevOps culture adoption with Terraform, Azure DevOps, Kubernetes, and Jenkins, 2nd Edition
Mikael Krief

2. Mastering React Test-Driven Development - Second Edition
Daniel Irvine, Justin Searls
Published by Packt Publishing (2022)

3. Automating Workflows with GitHub Actions
Priscila Heller
Published by Packt Publishing (November 11, 2021)

Asia tarkentuu kurssin alkaessa.

Pedagogiset toimintatavat ja kestävä kehitys

Ohjelmointi ja muu käytännön työskentely yhdessä ja yksin
Harjoitustehtävien tekeminen
Harjoitustyön tekeminen

Opiskelijan ajankäyttö ja kuormitus

Kontaktiopetus 32 h
Harjoitustehtävät 33 h
Kirjojen lukeminen 30 h
Harjoitustyö 30 h
Kehitysympäristön luonti ja ylläpitäminen 10h

Sisällön jaksotus

Suomeksi

I. DevOps teoriassa :
- 2 luentoa
- Harjoitus monivalintatenttinä 10 pistettä

II. Testaamisen automatisointi:
- 4 luentoa ja demot:
- henkilökohtaisista harjoitustehtävistä 3 * 10 = 30 pistettä
- teknologiat React ja Jest

III. CI/CD ja GitHub Actions
- 3-4 luentoa ja demot
- henkilökohtaisista harjoitustehtävistä 2 * 10 = 20 pistettä


IV. Kontittaminen - Dockers
- 2-3 luentoa ja demot
- henkilökohtainen harjoitustehtävä 15 pistettä

V. Ryhmätyö :
- 4 hengen ryhmissä
- rthmäkohtainen toimeksianto
- esitys opintojakson muille opiskelijoille
- 25 pistettä

Yhteensä 100 pistettä

Arviointiasteikko

H-5

Arviointimenetelmät ja arvioinnin perusteet

Henkilökohtaiset harjoitustehtävät (sisältäen monivalintatestin): 75 pistettä
Ryhmätyö: 25 pistettä.

Demoissa on oltava läsnä.

Harjoitustyö tulee palauttaa määräaikaan mennessä pisteiden saamiseksi.

Opiskelijan täytyy saada ainakin 22 pistettä harjoitustehtävistä ja 8 pistettä harjoitustyöstä läpäistääkseen kurssin.

Arvosteluasteikko (pisteet -> arvosana):

30 pistettä -> 1
45 -> 2
60 -> 3
75 -> 4
90 -> 5

Ilmoittautumisaika

07.12.2022 - 17.03.2023

Ajoitus

27.02.2023 - 28.04.2023

Opintopistemäärä

5 op

Toteutustapa

Lähiopetus

Yksikkö

Tekniikka ja liiketoiminta

Toimipiste

Kupittaan kampus

Opetuskielet
  • Suomi
Paikat

0 - 30

Koulutus
  • Tietojenkäsittelyn koulutus
Opettaja
  • Sami Pyöttiälä
  • Tuomo Helo
Ryhmät
  • VAVA2223
    Ammattikorkeakoulun yhteiset vapaasti valittavat

Tavoitteet

Opintojakson suoritettuaan opiskelija osaa:

Kertoa mikä DevOps on ja miten se liittyy ohjelmistotuotantoon,
Käyttää DevOpsiin liittyviä työkaluja ja ympäristöjä,
Käyttää DevOps:ia ohjelmistoprojektissa.

Sisältö

Ohjelmistotuotannon perusteet
DevOps toimintamalli
DevOps työkalut ja ympäristöt
DevOps käytännössä
Projektityö

Oppimateriaalit

Kurssilla käytetään valikoiden seuraavaa materiaalia. Lista ei välttämättä ole täydellinen.

1. Learning DevOps: A comprehensive guide to accelerating DevOps culture adoption with Terraform, Azure DevOps, Kubernetes, and Jenkins, 2nd Edition

2. Mastering React Test-Driven Development - Second Edition
Daniel Irvine, Justin Searls
Published by Packt Publishing (2022)

3. Automating Workflows with GitHub Actions
Priscila Heller
Published by Packt Publishing (November 11, 2021)

Asia tarkentuu kurssin alkaessa.

Sisällön jaksotus

I. DevOps in Theory :
- 2 lectures
- an exercise as a multiple selection test 15 points

II. Testing Automatization:
- 3 lectures plus demos:
- 2 * 10 points' personal assignments = 20 points in total
- mainly with React and Jest

III. CI/CD with GitHub Actions
- 3 lectures plus demos
- 2 * 10 points' personal assignments = 20 points in total
- with same technologies as the part II above

IV. Containerization using Dockers
- 2 lectures plus demos
- 1 * 15 points' personal assignment = 15 points in total

V. Teamwork :
- in groups of 4 students
- group specific commissions
- presentation to all course students.
- 30 points in total

Total 100 points

Arviointiasteikko

H-5

Arviointimenetelmät ja arvioinnin perusteet

The personal assignments (including the multiple choice test): 70 points
The teamwork: 30 points.

The personal assignments must be returned by the deadline to get the points.

The student must get at least 22 points from the assignments and 8 points from the group work to pass the course.

The grading scale (points b -> grade):

30 points -> 1
45 points -> 2
60 points -> 3
75 points -> 4
90 points -> 5