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 (syksyllä 2020), 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.
- Pajaohjaus on keskeytetty toistaiseksi
- Jos tarvitset kurssiin liittyvää ohjausta:
- Jos kyseessä ei ole kiireinen ongelma niin omaan ohjaajaan saa yhteyden labtoolin viikkopalautuksen kommenttiosiossa
- Jos haluat apua nopeammin, on Telegram on paras paikka, 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
- Kurssin ainoa luento ti 10.3. klo 12-14 Chemicum, sali A110
- Sovellus tehdään käyttämällä Javan versiota 11. Asennusohjeet
- Kurssin Telegram-kanava: https://t.me/tktlotm
- Telegram on whatsappin/messengerin tyylinen keskustelufoorumisovellus jota on mahdollista käyttää selaimella, mobiililaitteilla ja Windows/Linux/OSX-clienteillä
- Telegram-kanava on sillattu IRC-kanavaan #otm
- Huom: kaikki epäasialliset, halventavat ja jotain ihmisryhmää syrjivät kommentit kanavalla ovat kiellettyjä ja tälläisten kommenttien esittäjät poistetaan kanavalta
-
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 17.03. klo 23:59
- Tiistaina 10.03. klo 12-14 kurssin aloitustilaisuus Chemicumissa salissa A110
- 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 24.03. 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 31.03. klo 23:59
- Harjoitustyön koodin runko valmiina (2p)
- katso tarkemmin täältä
- Pajassa tehtävät tai omatoimiset tehtävät Luokka- ja sekvenssikaaviosta (1p)
Palautuksen deadline ti 07.04. klo 23:59
- Harjoitustyö (3p)
- Ohjelman perustoiminnallisuus
- Testien aloitus
- Alustava rakenne luokkakaaviona
- Checkstyle otettu käyttöön
- Tarkemmat ohjeet täältä
Palautuksen deadline ti 21.04. klo 23:59
- Harjoitustyö (3p)
- Release 1
- Testikattavuus nousee
- Jotain päätoiminnallisuutta kuvaava sekvenssikaavio
- Tarkemmat ohjeet täältä
- Koodikatselmointi (2p)
Palautuksen deadline ti 28.04. klo 23:59
- Harjoitustyö (3p)
- Release 2
- Testikattavuus nousee
- JavaDoc aloitettu
- Alustava versio arkkitehtuuridokumentista
- Tarkemmat ohjeet täältä
Lopullisen palautuksen deadline su 10.05. klo 23:59