Aineopintojen harjoitustyö: ohjelmistotekniikka, syksy 2024
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 (keväällä 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
- Kurssin aloitustilaisuus keskiviikko 30.10. klo 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 4.11. - 20.12.:
- Maanantaisin klo 14-16 kampuksella BK107-luokassa
- Perjantaisin klo 10-12 kampuksella BK107-luokassa
- 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.8.
- 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 5.11. 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
Viikko 2
Palautuksen deadline tiistai 12.11. 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 19.11. klo 23:59
- Harjoitustyö ja tehtävät: Koodin runko valmiina, luokka- ja sekvenssikaaviot (3p)
Viikko 4
Palautuksen deadline tiistai 26.11. klo 23:59
- Harjoitustyö (3p)
- Ohjelman perustoiminnallisuus
- Testien aloitus
- Alustava rakenne luokkakaaviona
- Pylint otettu käyttöön
Viikko 5
Palautuksen deadline tiistai 3.12. klo 23:59
- Harjoitustyö (3p)
- Release 1
- Testikattavuus nousee
- Jotain päätoiminnallisuutta kuvaava sekvenssikaavio
Viikko 6
Palautuksen deadline tiistai 10.12. klo 23:59
- Harjoitustyö (3p)
- Release 2
- Testikattavuus nousee
- Docstring-dokumentaatio aloitettu
- Alustava versio arkkitehtuuridokumentista
- Koodikatselmointi (2p)
Viikko 7
Lopullisen palautuksen deadline sunnuntai 22.12. klo 23:59