Skip to main content

Laskennalliset algoritmit (4 op)

Toteutuksen tunnus: TTC8010-3005

Toteutuksen perustiedot


Ajoitus

06.03.2023 - 30.04.2023

Opintopistemäärä

4 op

Virtuaaliosuus

4 op

Toteutustapa

Verkko-opetus

Yksikkö

School of Technology

Opetuskielet

  • Suomi

Koulutus

  • Bachelor's Degree Programme in Information and Communications Technology

Opettaja

  • Tuomas Huopana

Ryhmät

  • ZJA23KTIDA2
    Avoin amk, Data-analytiikka 2, Verkko

Objectives

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.

Content

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

Time and location

Opintojakso toteutetaan 6.3.2023-30.4.2023.

Learning materials and recommended literature

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

Teaching methods

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.

Practical training and working life connections

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

Alternative completion methods

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

Student workload

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

Further information for students

Kurssi arvioidaan palautettujen harjoitustöiden perusteella. Harjoitustöitä voi palauttaa vain kurssitoteutuksen aikana.

Evaluation scale

0-5

Evaluation criteria, satisfactory (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.

Evaluation criteria, good (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.

Evaluation criteria, excellent (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.

Prerequisites

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