Siirry suoraan sisältöön

Laskennalliset algoritmit (4 op)

Toteutuksen tunnus: TTC8010-3003

Toteutuksen perustiedot


Ilmoittautumisaika

01.11.2022 - 05.01.2023

Ajoitus

06.03.2023 - 30.04.2023

Opintopistemäärä

4 op

Virtuaaliosuus

4 op

Toteutustapa

Verkko-opetus

Yksikkö

Teknologiayksikkö

Toimipiste

Lutakon kampus

Opetuskielet

  • Suomi

Paikat

0 - 30

Koulutus

  • Tieto- ja viestintätekniikka (AMK)

Opettaja

  • Tuomas Huopana

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 6.3.2023-30.4.2023.

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. 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.