Skip to main content

Computational algorithms (4 op)

Toteutuksen tunnus: TTC8010-3006

Toteutuksen perustiedot


Ilmoittautumisaika

01.08.2023 - 24.08.2023

Ajoitus

28.08.2023 - 13.10.2023

Opintopistemäärä

4 op

Virtuaaliosuus

4 op

Toteutustapa

Verkko-opetus

Yksikkö

School of Technology

Opetuskielet

  • Suomi

Paikat

0 - 30

Koulutus

  • Bachelor's Degree Programme in Information and Communications Technology

Opettaja

  • Harri Varpanen

Ryhmät

  • TTV21S3
    Tieto- ja viestintätekniikka (AMK)
  • TTV21S5
    Tieto- ja viestintätekniikka (AMK)
  • TTV21SM
    Tieto- ja viestintätekniikka (AMK)
  • TTV21S2
    Tieto- ja viestintätekniikka (AMK)
  • TTV21S1
    Tieto- ja viestintätekniikka (AMK)
  • ZJA23STIDA2
    Avoin amk, Data-analytiikka 2, Verkko
  • 06.09.2023 14:30 - 16:15, Laskennalliset algoritmit TTC8010-3006
  • 13.09.2023 14:30 - 16:15, Laskennalliset algoritmit TTC8010-3006
  • 20.09.2023 14:30 - 16:15, Laskennalliset algoritmit TTC8010-3006
  • 27.09.2023 14:30 - 16:15, Laskennalliset algoritmit TTC8010-3006
  • 04.10.2023 14:30 - 16:15, Laskennalliset algoritmit TTC8010-3006
  • 11.10.2023 14:30 - 16:15, Laskennalliset algoritmit TTC8010-3006

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