Kurssin nimi on muuttunut syksyllä 2018, tätä aiemmin kurssi tunnettiin nimellä Ohjelmistotekniikan menetelmät
Kurssilla tutustutaan ohjelmistokehityksen periaatteisiin sekä menetelmiin ja sovelletaan niitä toteuttamalla pienehkö harjoitustyö.
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.
Kurssilla ei ole koetta. Harjoitustyö tulee tehdä kurssin aikataulujen puitteissa. Kesken jäänyttä harjoitustyötä ei voi jatkaa seuraavalla kurssilla (keväällä 2021), joten muista varata riittävästi aikaa (10-15h viikossa) koko periodin ajaksi!
Tarkemmat arvosteluperusteet täällä.
Jos huomaat tehtävissä tai muussa materiaalissa kirjoitusvirheitä, kirjaudu GitHubiin ja toimi täällä olevan ohjeen mukaan.
- Kurssin ainoa luento ma 26.10. klo 14-16 etänä zoomissa
- Sovellus tehdään käyttämällä Javan versiota 11. Asennusohjeet
- Kurssista on nyt myös olemassa betatestausvaiheessa oleva Python-versio
- Python-version suortittaminen omalla vastuulla. Ohjelmoinnin perusteiden suorittaminen Pythonilla ei riitä esitiedoksi! Olio-ohjelmointi on syytä hallita
- Kurssin Telegram-kanava: https://t.me/tktlotm
- 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 zoom-pajaan:
- ti 14-16 (3.11. alkaen) zoom
- to 16-18 zoom
- pe 12-14 zoom
- Myös Telegramissa voi kysellä erityisesti arkisin klo 9-16
- Jos kysymys koskee koodia tai siinä esiintyviä virhetilanteita, kannattaa laittaa kysymyksen yhteyteen linkki omaan repositorioosi. Ilman koodin näkemistä ongelman selvittäminen on hankalaa tai jopa mahdotonta.
- Jos et halua kysyä kysymystä suoraan kurssin kanavalla, voit ottaa yhteyttä suoraan "telegram-vastaavaan" Kalle Ilvekseen. Pääasiassa kysymykset kannattaa kuitenkin esittää kanavalla, sillä samat ongelmat koskevat usein useampaakin opiskelijaa
- Jos olet jo toteuttaunut isohkoja ohjelmistoja, on kurssi tietyissä tapauksissa mahdollista hyväksilukea
-
Harjoitustyö on tehtävä Javan versiolla 11
-
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ää https://helpdesk.it.helsinki.fi/ohjeet/tietokone-ja-tulostaminen/tyoasemapalvelu/etakaytettavat-tyopoydat-vdi-ja-vmware tai kirjautumalla ssh:lla palvelimelle melkki.cs.helsinki.fi
-
Viikoittaiset palautukset
- viikko 1 laskarit
- viikko 2 laskarit ja harjoitustyö
- viikko 3 laskarit ja harjoitustyö
- viikko 4 harjoitustyö
- viikko 5 harjoitustyö
- viikko 6 harjoitustyö
- viikko 7 harjoitustyö
-
Kurssin referenssisovellus OtmTodoApp
- Sovelluksen tarkoituksena on demonstroida erästä tapaa tehdä suurin piirtein täysiin pisteisiin riittävä dokumentaatio ja testaus projektillesi. Itse ohjelma on sen verran suppea, että saadaksesi kurssilta arvosanan 5 joudut tekemään hieman laajemman sovelluksen.
-
Ohjeita
- Kaikki ohjeista eivät ole kurssin alussa vielä ajankohtaisia. Kaikkeen tärkeään tulee aikanaan linkki laskareihin tai harjoitustöiden viikkotavoitteisiin
- Aiheideoita ja ohjeita työn harjoitustyön aloittamiseen
- JUnit-ohje
- Käyttöliittymän ja tietojen tallettamisen toteuttamiseen sekä sovelluksen konfigurointiin liittyviä vihjeitä
- Maven
- Checkstyle
- JavaDoc
- koodin laatu
-
Työkaluja kaavioiden piirtoon
- http://yuml.me/ luokkakaaviot
- https://www.websequencediagrams.com/ sekvenssikaavioihin
- https://draw.io/ kaikki kaaviot
Palautuksen deadline ti 03.11. klo 23:59
- Maanantaina 26.10. klo 14-16 aloitustilaisuus tallenne
- Komentorivi- ja Git-harjoittelu (2p)
- Pajassa tehtävät tai omatoimiset tehtävät
- Tehtävien palautus tapahtuu tekemällä repositorio githubiin ja rekisteröitymällä labtooliin
Palautuksen deadline ti 10.11. klo 23:59
- Harjoitustyön aiheen alustava määrittelydokumentti (1p)
- katso tarkemmin täältä
- JUnit-harjoittelu (2p)
- Pajassa tehtävät tai omatoimiset tehtävät
- Oman projektin koodaus alkaa
Palautuksen deadline ti 17.11. klo 23:59
- Harjoitustyön koodin runko valmiina (2p)
- katso tarkemmin täältä
- Pajassa tehtävät tai omatoimiset [tehtävät]/tehtavat/viikko3.md) Luokka- ja sekvenssikaaviosta (1p)
Palautuksen deadline ti 24.11. klo 23:59
- Harjoitustyö (3p)
- Ohjelman perustoiminnallisuus
- Testien aloitus
- Alustava rakenne luokkakaaviona
- Checkstyle otettu käyttöön
- Tarkemmat ohjeet täältä
Palautuksen deadline ti 01.12. klo 23:59
- Harjoitustyö (3p)
- Release 1
- Testikattavuus nousee
- Jotain päätoiminnallisuutta kuvaava sekvenssikaavio
- Tarkemmat ohjeet täältä
- Koodikatselmointi (2p)
Palautuksen deadline ti 08.12. klo 23:59
- Harjoitustyö (3p)
- Release 2
- Testikattavuus nousee
- JavaDoc aloitettu
- Alustava versio arkkitehtuuridokumentista
- Tarkemmat ohjeet täältä
Lopullisen palautuksen deadline su 20.12. klo 23:59