Siirry suoraan sisältöön

Laskennalliset algoritmit (4 op)

Toteutuksen tunnus: TTC8010-3008

Toteutuksen perustiedot


Ilmoittautumisaika

01.08.2024 - 22.08.2024

Ajoitus

26.08.2024 - 13.10.2024

Opintopistemäärä

4 op

Virtuaaliosuus

4 op

Toteutustapa

Verkko-opetus

Yksikkö

Teknologiayksikkö

Opetuskielet

  • Suomi

Paikat

0 - 35

Koulutus

  • Tieto- ja viestintätekniikka (AMK)

Opettaja

  • Tuomas Huopana

Ryhmät

  • TTV22S5
    Tieto- ja viestintätekniikka (AMK)
  • TTV22S2
    Tieto- ja viestintätekniikka (AMK)
  • TTV22S3
    Tieto- ja viestintätekniikka (AMK)
  • TTV22S1
    Tieto- ja viestintätekniikka (AMK)
  • TTV22SM
    Tieto- ja viestintätekniikka (AMK)
  • TTV22S4
    Tieto- ja viestintätekniikka (AMK)
  • TTV22SM2
    Tieto- ja viestintätekniikka (AMK)
  • ZJA24STIDA2
    Avoin amk, Data-analytiikka 2, Verkko
  • 05.09.2024 14:15 - 15:45, Laskennalliset algoritmit TTC8010-3008
  • 12.09.2024 14:15 - 15:45, Laskennalliset algoritmit TTC8010-3008
  • 19.09.2024 14:15 - 15:45, Laskennalliset algoritmit TTC8010-3008
  • 26.09.2024 14:15 - 15:45, Laskennalliset algoritmit TTC8010-3008
  • 03.10.2024 14:15 - 15:45, Laskennalliset algoritmit TTC8010-3008
  • 10.10.2024 14:15 - 15:45, Laskennalliset algoritmit TTC8010-3008

Tavoitteet

Tarkoitus:
Yhteiskunnan toiminta perustuu informaatioteknologian hyödyntämiseen, missä datan avulla säädellään eri yhteiskunnan prosesseja monilla eri tasoilla. Data kertoo aina jostain ilmiöstä tai tapahtumasta, jonka tulkitsemiseksi tarvitaan algoritmeja. Laskennallisten algoritmien osalta keskitytään algoritmien suunnitteluun, toteutukseen ja testaukseen.

EUR-ACE-osaamiset:
Tieto ja ymmärrys
Tekniikan soveltaminen käytäntöön

Osaamistavoitteet:
Olet määritellyt laskentaa vaativan ongelman. Olet prosessoinut ongelman ratkaisemiseksi olennaisen datan. Osaat suunnitella algoritmin laskennallisen ongelman ratkaisemiseksi sekä olet toteuttanut ja testannut algoritmin käytännössä. Osaat optimoida algoritmia ja tunnet algoritmin käyttöön liittyviä rajoitteita datan ja ratkaistavan ongelman suhteen.

Sisältö

• Algoritmit
• NumPy
• Listat ja lajittelu
• Kombinaatiot
• Ahne menetelmä
• K-means

Aika ja paikka

Opintojakso toteutetaan 26.8.2024-13.10.2024.

Oppimateriaali ja suositeltava kirjallisuus

Harjoitustöiden tekemisessä hyödynnetään Anaconda ohjelmistoa (Python 3.7-versio tai uudempi): https://www.anaconda.com/download/

Opetusmenetelmät

Kurssilla tutustutaan laskennallisten algoritmien soveltamiseen liittyvään teoriaan, minkä pohjalta tehdään arvioitavat harjoitustyöt. Harjoitustyöt tehdään yksilötöinä, mutta vertaistukea on tarjolla kurssin Teams – ryhmästä. Kurssin voi suorittaa täysin virtuaalisesti.

Harjoittelu- ja työelämäyhteistyö

Kurssin sisältö pyritään kytkemään työelämässä esiintyviin ongelmiin.

Vaihtoehtoiset suoritustavat

Hyväksilukemisen menettelytavat kuvataan tutkintosäännössä ja opinto-oppaassa. Opintojakson opettaja antaa lisätietoa mahdollisista opintojakson erityiskäytänteistä.

Opiskelijan ajankäyttö ja kuormitus

Yhden opintopisteen työmäärä vastaa 27 tunnin opiskelutyötä. Yhteensä opiskelutyömäärä (4 op.) kurssilla on 108 tuntia.

Lisätietoja opiskelijoille

Kurssi arvioidaan palautettujen harjoitustöiden perusteella. Kurssin suorittaminen edellyttää harjoitustehtävin suorittamista heti kurssin alusta alkaen. Harjoitustöitä voi palauttaa vain kurssitoteutuksen aikana.

Arviointiasteikko

0-5

Arviointikriteerit, tyydyttävä (1-2)

Välttävä 1:
Ymmärrät ja osaat määritellä laskentaa vaativan ongelman. Laskennallisen ongelman ratkaisuun vaadittu data on otettu käyttöön. Osaat suunnitella ja toteuttaa yksinkertaisen algoritmin, joka tuottaa ratkaisun määritettyyn laskennalliseen ongelmaan. Tunnet optimoinnin osana algoritmin kehitystä. Toteutuksen dokumentaatio kattaa välttämättömät osat.

Tyydyttävä 2:
Ymmärrät ja osaat määritellä laskentaa vaativan ongelman. Laskennallisen ongelman ratkaisuun vaadittu olennainen data on otettu käyttöön. Osaat suunnitella ja toteuttaa yksinkertaisen algoritmin, joka tuottaa ratkaisun määritettyyn laskennalliseen ongelmaan. Algoritmin tehokkuuden arviointia on tehty. Toteutuksen ja optimoinnin osalta dokumentaatio kattaa välttämättömät osat.

Arviointikriteerit, hyvä (3-4)

Hyvä 3:
Ymmärrät ja osaat määritellä laskentaa vaativan ongelman. Laskennallisen ongelman ratkaisuun vaadittu data on prosessoitu. Osaat suunnitella ja toteuttaa algoritmin, joka tuottaa useita ratkaisuja määritettyyn laskennalliseen ongelmaan. Osaat arvioida algoritmin optimoinnin tarpeen pohjautuen tehokkuuden arviointiin. Toteutuksen dokumentaatio on hyvätasoinen ja antaa selkeän kuvan toteutuksesta.

Kiitettävä 4:
Ymmärrät ja osaat määritellä laskentaa vaativan ongelman kattavasti. Laskennallisen ongelman ratkaisuun vaadittu data on olennaisilta osin prosessoitu. Osaat suunnitella ja toteuttaa vaihtoehtoisia algoritmeja, jotka tuotavat useita ratkaisuja määritettyyn laskennalliseen ongelmaan. Osaat arvioida ja tarvittaessa toteuttaa algoritmin optimoinnin pohjautuen tehokkuuden arviointiin. Toteutuksen dokumentaatio on hyvätasoinen ja antaa selkeän kuvan toteutuksesta.

Arviointikriteerit, kiitettävä (5)

Ymmärrät ja osaat määritellä laskentaa vaativan ongelman kattavasti. Laskennallisen ongelman ratkaisemisen kannalta data on kattavasti prosessoitu. Osaat suunnitella ja toteuttaa vaihtoehtoisia algoritmeja, jotka tuotavat useita ratkaisuja määritettyyn laskennalliseen ongelmaan. Osaat arvioida ja tarvittaessa toteuttaa algoritmin optimoinnin pohjautuen tehokkuuden arviointiin. Optimoinnissa on pohdittu ohjelmointikielen soveltuvuutta ratkaistavaan laskennalliseen ongelmaan. Toteutus on dokumentoitu kattavasti ja antaa selkeän kuvan toteutuksesta.

Esitietovaatimukset

Perusteet tietorakenteista ja algoritmeista, datan visualisointi, jonkin ohjelmointi kielen hyvä hallinta. Kurssilla suositeltava ohjelmointikieli on Python.