Aineopintojen harjoitustyö: ohjelmistotekniikka
Kurssin nimi on muuttunut syksyllä 2023, tätä aiemmin kurssi tunnettiin nimellä Ohjelmistotekniikka
Kurssilla tutustutaan ohjelmistokehityksen periaatteisiin sekä menetelmiin ja sovelletaan niitä toteuttamalla pienehkö harjoitustyö Python-kielellä.
Kurssin kolmella ensimmäisellä viikolla on muutama ohjauksessa tai omatoimisesti tehtävä harjoitustehtävä. Kurssin pääpainon muodostaa viikolla 2 aloitettava, itsenäisesti tehtävä harjoitustyö. Työtä on tarkoitus edistää pala palalta viikoittaisten tavoitteiden ohjaamana.
Kurssin arvostelu perustuu pääasiassa harjoitustyöstä saataviin pisteisiin. Osa pisteistä kertyy aikatauluun määriteltyjen viikoittaisten välitavoitteiden kautta, osa taas perustuu työn lopulliseen palautukseen. Jos olet jo toteuttanut isohkoja ohjelmistoja, on kurssi tietyissä tapauksissa myös mahdollista hyväksilukea.
Kurssilla ei ole koetta. Harjoitustyö tulee tehdä kurssin aikataulujen puitteissa. Kesken jäänyttä harjoitustyötä ei voi jatkaa seuraavalla kurssilla (syksyllä 2025), joten muista varata riittävästi aikaa (10-15h viikossa) koko periodin ajaksi!
Tarkemmat ohjeet harjoitustyöhön löytyvät täällä. Kurssimateriaali löytyy täältä.
(Sergey Ichtchenko has kindly translated the course material in English for students in the English-language BSc program. However, please note that officially this course is given only in Finnish and if the translation conflicts with the Finnish material, the latter takes precedence.)
Kirjoitusvirheitä
Jos huomaat tehtävissä tai muussa materiaalissa kirjoitusvirheitä, kirjaudu GitHubiin ja toimi tämän ohjeen mukaisesti.
Ajankohtaista
- Kurssilla on pääsiäistauko 16.4. - 22.4. joten kuudennen viikon deadline ei ole tiistaina 22.4. vaan vasta 29.4.
- Kurssin aloitustilaisuus ma 10.3.2025 10.15–11.45
- Kurssilla on Discord-kanava, jossa on tarjolla ohjausta ja keskustelua kurssiin liittyen
- Jos kysyt jotain, joka koskee koodiasi tai siinä esiintyviä virhetilanteita, lisää kysymyksen yhteyteen linkki omaan repositorioosi. Ilman koodin näkemistä ongelman selvittäminen on hankalaa tai jopa mahdotonta.
- HUOM: kaikki epäasialliset, halventavat ja jotain ihmisryhmää syrjivät kommentit kanavalla ovat kiellettyjä ja tälläisten kommenttien esittäjät poistetaan kanavalta
- Jos tarvitset kurssiin liittyvää ohjausta, tule pajaohjaukseen 17.3. - 9.5. (ei pääsiäistauon aikana):
- Ma klo 10 - 12 luokassa BK107
- Ke klo 14 - 16 luokassa BK107
- To klo 14.30 - 16.30 luokassa BK107
- Pe klo 12 - 14 luokassa BK107
- Tarjolla on myös online-ohjausta. Voit varata siihen ajan Moodlessa. Huomaathan kuitenkin, että pajassa saat paremmin apua!
Harjoitustyön toimivuus
- Kurssilla käytettävän Python version tulee olla vähintään 3.10.
- Koneiden konfiguraatioissa on eroja, ja tällä kurssilla ei riitä että hajoitustyössä tekemäsi sovellus toimii vain omalla koneellasi
- Harjoitustyösi pitää pystyä joka viikko suorittamaan, kääntämään ja testaamaan komentoriviltä käsin laitoksen Linux-koneilla (tai uusimmat päivitykset sisältävällä cubbli-linuxilla), muussa tapauksessa työtä ei tarkasteta ja menetät viikon/loppupalautuksen pisteet.
- Pääset testaamaan ohjelmaasi laitoksen koneella myös kotoa käsin käyttämällä etätyöpöytää, valitse valitse Cubbli Linux
Aikataulu
Viikko 1
Palautuksen deadline tiistai 18.3. klo 23:59
- Kurssin aloitustilaisuus. Aloitustilaisuudessa käytettävät kalvot löytyvät täältä. Aloitustilaisuudesta julkaistaan myöhemmin tallenne, joka on katsottavissa täältä
- Tehtävät: Komentorivi- ja Git-harjoittelu (1p)
- Tehtävien palautus tapahtuu tekemällä repositorio GitHubiin ja rekisteröitymällä Labtooliin
- Lähtötasotesti
Viikko 2
Palautuksen deadline tiistai 25.3. klo 23:59
- Harjoitustyö ja tehtävät: Aiheen alustava määrittelydokumentti, testaaminen ja unittest (3p)
- Oman harjoitustyön toteutus alkaa
Viikko 3
Palautuksen deadline tiistai 1.4. klo 23:59
- Harjoitustyö ja tehtävät: Koodin runko valmiina, luokka- ja sekvenssikaaviot (3p)
Viikko 4
Palautuksen deadline tiistai 8.4. klo 23:59
- Harjoitustyö (3p)
- Ohjelman perustoiminnallisuus
- Testien aloitus
- Alustava rakenne luokkakaaviona
- Pylint otettu käyttöön
Viikko 5
Palautuksen deadline tiistai 15.4. klo 23:59
- Harjoitustyö (3p)
- Release 1
- Testikattavuus nousee
- Jotain päätoiminnallisuutta kuvaava sekvenssikaavio
Viikko 6
Palautuksen deadline tiistai 29.4. klo 23:59
- Harjoitustyö (3p)
- Release 2
- Testikattavuus nousee
- Docstring-dokumentaatio aloitettu
- Alustava versio arkkitehtuuridokumentista
- Koodikatselmointi (2p)
Viikko 7
Lopullisen palautuksen deadline sunnuntai 11.5. klo 23:59