Joh­dan­to
Ai­ka­tau­lu
Ope­tus­muo­dot
Oh­jel­moin­ti­teh­tä­vät
Va­paa­eh­toi­sia esi­teh­tä­viä
Tent­ti
Esi­tie­to­vaa­ti­muk­set
Työ­mää­rä
Mui­ta suo­ri­tus­mah­dol­li­suuk­sia
Van­hat tie­dot­teet


Luen­to­teks­ti
Luen­to­ruu­dut
Oh­jel­moin­ti­teh­tä­vät
Oh­jel­moin­ti­esi­merk­ke­jä
Tent­te­jä (v = vas­tauk­si­neen)
  20.11.2024 20.11.2024 v
  23.8.2024 23.8.2024 v
  23.5.2024 23.5.2024 v
Vuo­den 2024 ko­ti­si­vu (TIEA211)
Kurs­sin ai­neis­to 2022
 

TIES4211 Al­go­rit­mit 2

18.3.2025‒22.5.2025

Si­vu pe­rus­tet­tu 16.3.2025

Joh­dan­to

Kurs­sit Al­go­rit­mit 1 ja Al­go­rit­mit 2 kat­ta­vat yh­des­sä tär­keim­mät al­go­rit­mit ja tie­to­ra­ken­teet se­kä nii­den ana­ly­soin­ti- ja suun­nit­te­lu­me­ne­tel­mät.

Opet­ta­ja­na toi­mii Ant­ti Val­ma­ri ja as­sis­tent­ti­na Vil­le Ran­ta­la.

Vuo­den 2025 OPS-uu­dis­tuk­ses­sa kurs­si muu­tet­tiin sy­ven­tä­väk­si ja opin­to­pis­te­mää­rää kas­va­tet­tiin yh­del­lä. Luen­to­ruu­tu­ja ja kir­jal­lis­ta ai­neis­toa tul­laan ke­vään ai­ka­na täy­den­tä­mään. Vuon­na 2024 kurs­sin luen­to­ruu­dut ja kir­jal­li­nen ai­neis­to uu­dis­tet­tiin täy­sin. Vuon­na 2023 kurs­sin oh­jel­moin­ti­teh­tä­vät uu­sit­tiin täy­sin. Nä­mä muu­tok­set siir­si­vät kurs­sin pai­no­pis­tet­tä teo­rias­ta käy­tän­nön oh­jel­moin­nin suun­taan.

Ai­ka­tau­lu

päi­vä18.3.20.3.25.3.27.3. 1.4.3.4.8.4.10.4.22.4. 24.4.29.4.6.5.8.5.13.5. 15.5.20.5.
ruu­tuun11233350

Kurs­si pi­de­tään 18.3.2025‒22.5.2025.

Poik­keuk­set:

maa­nan­tai tiis­tai kes­ki­viik­ko tors­tai per­jan­tai
 8:15‒ 9:00
 9:15‒10:00
10:15‒11:00 Neu­von­ta Ag C233.1 Luen­to Ag B122.1 Al­fa
11:15‒12:00
12:15‒13:00 Neu­von­ta Ag C233.1
13:15‒14:00
14:15‒15:00 Luen­to Ag B121.1 Bee­ta
15:15‒16:00
16:15‒17:00 Neu­von­ta Ag C233.1
17:15‒18:00

Ope­tus­muo­dot

Kurs­sil­la on luen­to­ja, oh­jel­moin­ti­teh­tä­viä, neu­von­ta­ti­lai­suuk­sia ja tent­ti. Luen­toi­hin ja neu­von­ta­ti­lai­suuk­siin osal­lis­tu­mi­nen on va­paa­eh­tois­ta. Oh­jel­moin­ti­teh­tä­vät ja tent­ti ovat pa­kol­li­set.

Luen­not nou­dat­ta­vat kes­ken­eräis­tä teks­tiä ja sii­tä teh­ty­jä luen­to­ruu­tu­ja. Nii­tä täy­den­ne­tään kurs­sin ede­tes­sä. Luen­to­teks­tin lo­mas­sa on pie­niä ja kes­ki­suu­ria teh­tä­viä, joi­hin on vas­tauk­set luen­to­teks­tin lo­pus­sa. (Vuot­ta 2023 edel­tä­neet teks­tit, luen­to­ruu­dut ja luen­to­vi­deot ovat saa­ta­va­na TIM-si­vun kaut­ta.)

Kurs­sin oh­jel­moin­ti­teh­tä­vät on uu­sit­tu täy­del­li­ses­ti vuon­na 2023. Niis­tä on al­la oma koh­ta.

Neu­von­ta­ti­lai­suuk­sis­sa kes­kus­tel­laan tai ker­ro­taan niis­tä luen­to­teks­tin teh­tä­vis­tä jois­ta opis­ke­li­jat ha­lua­vat kes­kus­tel­la tai ky­syä se­kä an­ne­taan apua oh­jel­moin­ti­teh­tä­vien te­ke­mi­seen. Oh­jel­moin­ti­teh­tä­viä kos­ke­viin ky­sy­myk­siin py­ri­tään vas­taa­maan ta­val­la, jo­ka aut­taa eteen­päin mut­ta ei an­na liian pal­jon val­mii­na. Neu­vo­jil­la on oi­keus tar­vit­taes­sa il­moit­taa, et­tä tä­män yk­si­tyis­koh­tai­sem­pia neu­vo­ja ei voi­da an­taa.

Opet­ta­jat neu­vo­vat tar­vit­taes­sa myös säh­kö­pos­tit­se sii­nä mää­rin kuin hei­dän ai­ka­tau­lun­sa sal­lii. Lä­he­tä säh­kö­pos­ti­ky­sy­myk­set mo­lem­mil­le opet­ta­jil­le, niin saat vas­tauk­sen var­mem­min pian.

Tent­tin saa tul­la sit­ten kun on saa­nut oh­jel­moin­ti­teh­tä­vis­tä riit­tä­väs­ti pis­tei­tä, kat­so tark­ka ai­ka­ra­ja koh­das­ta Tent­ti.

Kurs­sin ar­vo­sa­na on ten­tin ar­vo­sa­na kui­ten­kin si­ten, et­tä jos vai­heis­ta P3, A1, R2 ja E1 on hy­väk­syt­ty useam­pi kuin yk­si tai kaik­kiaan on hy­väk­syt­ty ai­na­kin kuu­si vai­het­ta, ja ten­tin ar­vo­sa­na on 1, 2, 3 tai 4, niin ar­vo­sa­naa ko­ro­te­taan yh­del­lä. Ar­vo­sa­nan ko­ro­tuk­sen voi an­sai­ta myös ten­tin jäl­keen, kui­ten­kin vii­meis­tään to­teu­tus­ker­ran vii­mei­sen ten­tin il­moit­tau­tu­mis­ajan päät­ty­mi­seen men­nes­sä. Täs­sä ta­pauk­ses­sa il­moi­ta säh­kö­pos­tit­se opet­ta­jal­le, et­tä olet an­sain­nut ko­ro­tuk­sen jäl­ki­kä­teen.

Kai­ken muun voi suo­rit­taa etä­nä pait­si ten­tin.

Oh­jel­moin­ti­teh­tä­vät

Kurs­sil­la on tar­jol­la vii­si oh­jel­moin­ti­teh­tä­vää, jois­ta osas­sa on vä­li­pa­lau­tuk­sia. Kak­si en­sim­mäis­tä teh­tä­vää ovat vain yleis­tä oh­jel­moin­nin har­joit­te­lua. Kol­me jäl­kim­mäis­tä liit­tyy kurs­sin asioi­hin. Opet­ta­jan mal­li­vas­taus ku­hun­kin teh­tä­vään on al­le 150 ri­viä pait­si lu­ku­jär­jes­tys­teh­tä­vään al­le 350 ri­viä. Teh­tä­vien ku­vauk­set löy­ty­vät tääl­tä. Täs­tä teks­tis­tä saat­taa ol­la apua oh­jel­moin­nis­sa al­kuun pää­se­mi­sek­si.

Oh­jel­moin­ti­teh­tä­vil­lä ei ole muu­ta ai­ka­ra­jaa kuin et­tä nii­den pi­tää ol­la teh­tyi­nä en­nen tent­tiä (kat­so tark­ka ai­ka­ra­ja ten­tin tie­dois­ta). Niin­pä nii­den te­ke­mis­tä saa jat­kaa ke­sän yli ja vie­lä al­ku­syk­syl­lä­kin, mut­ta sii­nä ta­pauk­ses­sa ei voi osal­lis­tua tent­tiin 22.5.2025, vaan vas­ta myö­hem­piin tent­tei­hin.

Hy­väk­sy­tyt oh­jel­moin­ti­teh­tä­vät ovat voi­mas­sa kun­nes vii­mei­nen tent­ti on pi­det­ty. Ai­kai­sem­min pa­lau­tet­tu­ja oh­jel­moin­ti­teh­tä­viä saa pa­laut­taa myö­hem­pi­nä vuo­si­na uu­del­leen, mut­ta TIM tar­kas­taa ne kul­loin­kin voi­mas­sa ole­vien vaa­ti­mus­ten mu­kaan. Vuon­na 2025 osan teh­tä­vis­tä vaa­ti­muk­sia hel­po­tet­tiin yk­sin­ker­tais­ta­mal­la syöt­teen ra­ken­net­ta.

Ku­ten opis­ke­lus­sa yleen­sä, pla­gioin­ti on kiel­let­ty. Mui­den ih­mis­ten tai te­ko­älyn kir­joit­ta­maa koo­dia ei saa käyt­tää, seu­raa­vin poik­keuk­sin. Ope­tus- tai ha­vain­nol­lis­tus­tar­koi­tuk­ses­sa esi­tet­ty­jä hy­vin ly­hyi­tä koo­din­pät­kiä saa käyt­tää (muu­ta­ma kym­me­nen merk­kiä, tyy­liin ”näin teet sil­mu­kan Ja­val­la”). Tä­män kurs­sin ai­neis­tos­sa esi­tet­ty­jä pit­kiä­kin koo­din­pät­kiä saa käyt­tää. Ideoi­ta saa ha­kea kir­jois­ta ja ne­tis­tä se­kä ky­syä muil­ta, mu­kaan lu­kien te­ko­äly. Jos neu­vot mui­ta, pi­dä huo­li et­tä neu­vot idea­ta­sol­la et­kä an­na val­mis­ta koo­dia.

Älä jul­kai­se omia oh­jel­moin­ti­teh­tä­vien vas­tauk­sia­si Git­Hu­bis­sa ei­kä muual­la­kaan.

Ku­kin teh­tä­vä pa­lau­te­taan TIM-si­vul­le, jo­ka tes­taa pa­lau­tuk­sen ja an­taa pis­teen tai vir­he­il­moi­tuk­sen. Pa­laut­taa saa niin mon­ta ker­taa kuin ha­luaa. Vii­mei­sin pa­lau­tus jää voi­maan.

Yh­teen­sä teh­tä­vis­sä on 9 (vä­li)pa­lau­tus­ta. Kurs­sin lä­päi­se­mi­sek­si TI­Min pi­tää hy­väk­syä yh­teen­sä ai­na­kin 5 (vä­li)pa­lau­tus­ta, jois­ta ai­na­kin yk­si on P3, A1, R2 tai E1.

  1. Pe­rin­nön­ja­ko (3 pa­lau­tus­ta) P1, P2 ja P3
  2. Lu­ku­jär­jes­tys (2 pa­lau­tus­ta) L1 ja L2
  3. Ai­ka­tau­lu (1 pa­lau­tus) A1
  4. Ri­vi­ja­ko (2 pa­lau­tus­ta) R1 ja R2
  5. Esi­tie­dot (1 pa­lau­tus) E1

Oman pis­te­mää­rä­si voit tar­kas­taa klik­kaa­mal­la nap­pia ”Las­ke pis­tee­si” tääl­lä.

Va­paa­eh­toi­sia esi­teh­tä­viä

Sil­tä va­ral­ta, et­tä koet tar­vet­ta ke­hit­tää pe­rus­oh­jel­moin­ti­tai­toa­si en­nen kurs­sin oh­jel­moin­ti­teh­tä­vien te­ke­mis­tä, tar­jol­la on kak­si esi­teh­tä­vää. Nii­den­kin ku­vauk­set löy­ty­vät tääl­tä.

Tent­ti

En­sim­mäi­nen tent­ti on 22.5.2025 Ag B103 Au­di­to­rio 3 klo 14:15–18:00. SI­SUs­sa lu­kee 14:00, mut­ta aloi­tam­me vas­ta 14:15, kos­ka sa­lin edel­lis­ten käyt­tä­jien täy­tyy eh­tiä al­ta pois ja sa­li täy­tyy val­mis­tel­la. Tä­hän tent­tiin ei tar­vit­se il­moit­tau­tua. Oh­jel­moin­ti­teh­tä­vien pi­tää ol­la hy­väk­syt­tyi­nä TI­Mis­sä 19.5.2025 men­nes­sä. (Ei hait­taa, jos me­nee seu­raa­van vuo­ro­kau­den puo­lel­le. To­del­li­nen ta­ka­ra­ja on seu­raa­va­na päi­vä­nä sil­lä het­kel­lä kun luet­te­lo tent­tiin osal­lis­tu­jis­ta hae­taan TI­Mis­tä.)

Lo­put kak­si tent­tiä ovat 13.6.2025 ja syk­syl­lä 2025. Nii­hin il­moit­tau­du­taan SI­SUs­sa. Oh­jel­moin­ti­teh­tä­vien pi­tää ol­la hy­väk­syt­tyi­nä TI­Mis­sä sil­lä het­kel­lä, kun il­moit­tau­tuu tent­tiin SI­SUs­sa.

Tent­ti­alue on luen­to­ruu­dut ja luen­to­teks­ti ko­ko­nai­suu­des­saan.

Esi­tie­to­vaa­ti­muk­set

ITKA201 Al­go­rit­mit 1 tai vas­taa­vat tie­dot se­kä TIEP111 Oh­jel­moin­ti 2 tai vas­taa­vat oh­jel­moin­ti­tai­dot. Se, et­tä SI­SUs­sa ei vaa­di­ta ITKA201 Al­go­rit­mit 1, on vir­he.

Jos koet oh­jel­moin­ti­tai­to­si kai­paa­van ko­hen­ta­mis­ta, lue oh­jel­moin­ti­esi­merk­ke­jä ja/tai suo­ri­ta Va­paa­eh­toi­sia esi­teh­tä­viä.

Työ­mää­rä

Va­rau­du sii­hen, et­tä työ­mää­rä on suu­ri. Vi­ral­li­sen las­ku­ta­van mu­kaan 5 op tar­koit­tai­si 133 tun­tia opis­ke­li­jan työ­tä. Mi­nus­ta vi­ral­li­nen las­ku­ta­pa on vää­rä, mut­ta 100 tun­tia voi­daan kyl­lä tar­vi­ta.

Va­raa täl­le kurs­sil­le 13 tun­tia vii­kos­sa. Täs­sä yh­tey­des­sä tun­ti tar­koit­taa 45 mi­nuut­tia opis­ke­lua ja 15 mi­nuut­tia tau­koa. Tauot ovat tär­kei­tä, ja on­han myös lä­hi­ope­tuk­ses­sa ai­na var­tin tau­ko jo­kais­ta kol­men var­tin luen­toa tai de­moa koh­den.

Mui­ta suo­ri­tus­mah­dol­li­suuk­sia

Hel­sin­gin yli­opis­ton MOOC Tie­to­ra­ken­teet ja al­go­rit­mit II kel­paa kor­vaa­maan TIES4211 Al­go­rit­mit 2.

Van­hat tie­dot­teet

Van­ho­ja tie­dot­tei­ta ei vie­lä ole.