582732 Ammattimainen ohjelmistokehitys (4-8 op) - Kevät 2015
582732 Professional Software Development (4-8 cr) - Spring 2015
1. Yleistä / General
Kurssilla käsitellään nykyaikaisen ohjelmistokehityksen käytäntöjä ja suuntia. Kurssi ei koostu varsinaisista jonkun opettajan pitämistä luennoista, vaan siinä ovat pääosassa pikemminkin ohjelmistokehitystehtävissä ammatikseen työskentelevät opiskelijat: he kuvaavat erikseen sovittavalla tavalla, mitä ovat tehneet, miten ovat sen tehneet ja mitä ovat saaneet aikaiseksi sekä analysoivat tekemisensä ja siinä käytetyn prosessin taikka menetelmän laatua esittäen niihin myös perusteltuja parannusehdotuksia. Kurssin yleisenä tavoitteena on tätä kautta saada yleiskuva siitä, kuinka ohjelmistoja nykyaikana ja lähitulevaisuudessa kehitetään.
Kurssi on tietojenkäsittelytieteen maisteriopintojen (syventävien opintojen) valinnainen kurssi, joka soveltuu erityisesti ohjelmistojärjestelmien erikoistumislinjalle. Kurssilla edellytetään, että kandidaatintutkinto (LuK) on suoritettu.
The course addresses practices and trends of modern software development. The course does not consist of actual lectures by some teacher, but students working as software developers are rather in the main role: they describe in an applicable way their work, how it has been conducted, and what they have achieved, as well as analyze their achievements and the involved process or method also proposing well-founded improvements. The general objective of the course is in this way to get an overview on how software is currently and in the near future developed.
The course is optional in the advanced studies for Master's degree, and relevant especially in the Software Systems subprogramme. The students of the course shall have a Bachelor's degree.
2. Ilmoitusasioita / Information
Kurssi on alkanut keskiviikkona 14.1.2015 klo 16.15 salissa D122. Sen jälkeen ei opiskelijoiden pitämien esitelmien, demonstraatioiden yms. lisäksi ole muita yhteisiä tapaamisia.
The course has started on Wednesday, January 14, 2015, at 16.15 in D122. After that there will be no common gatherings, except for the student presentations, demonstrations etc.
3. Aikataulu (periodit III-IV) / Schedule (periods III-IV)
- Tilaisuudet: 14.1.-25.2.2015 & 11.3.-29.4.2015, ke 16-18, sali D122.
Sessions: January 14 - February 25 & March 11 - April 29, 2015, Wednesdays 16-18, D122. - Organisoija / Organizer:
Jukka Paakki
- Huone / Room: D240b
- Sähköposti / E-mail: Jukka.Paakki@cs.Helsinki.FI
- Keskiviikko 11.3. klo 16-18, D122
Riku Rytkönen: SAP ERP:n automatisoitu regressiotestaus - Keskiviikko 18.3. klo 16-18, D122
Tero Niemistö: Digian PaaS-ratkaisu - Keskiviikko 25.3. klo 16-18, D122
Miikka Niemelä: Tiimin ketteryydestä organisaatiotason ketteryyteen
ESITELMÄ PERUTTU!!! - Keskiviikko 1.4. klo 16-18, D122 Jukka Koskelin: Ketterän kehityksen ja vesiputousmallin kohtaaminen
- Keskiviikko 15.4. klo 16-18, D122
Tommi Karttaavi: Kuntasektorin kokonaisarkkitehtuurit - Keskiviikko 22.4. klo 16-18, D122
Jaana Diakite: Vaatimusmäärittely todellisessa elämässä - Torstai 23.4. klo 16-18, B120
Anu Savolainen: Paperimaailmasta sähköiseen asiointipalveluun: case YTJSA - Maanantai 27.4. klo 16-18, C222
Mikko Itävuo: Tietoturvan huomioiminen ohjelmistoprojekteissa
HUOM! AIKA JA PAIKKA MUUTTUNEET!
4. Kurssin suorittamistapa / How to pass the course
Opiskelijat voivat suorittaa kurssin (1) kirjoittamalla työstään laajan raportin ja (2) esittelemällä työtään kaikille avoimessa tilaisuudessa. Esittelyn voi toteuttaa usealla tavalla, esimerkiksi esitelmänä, ohjelmistotuotteen demonstraationa tai lyhyenä koulutustilaisuutena. Kuvattava työ voi olla mitä tahansa vaativaan ohjelmistokehitykseen oleellisesti liittyvää, esimerkiksi uuden tuotteen innovatiivista määrittelyä, suunnittelua tai toteutusta, kovan laatutason testausta, arkkitehtuurisuunnittelua, ohjelmistoprosessien kehittämistä tai start up -toimintaa.
Työn esittelytapa sovitaan jokaiselle opiskelijalle erikseen. Kirjallisen raportin voi kirjoittaa ja suullisen esittelyn antaa joko suomeksi tai englanniksi.
Kirjallisen raportin on noudatettava rakenteeltaan ja sisällöltään tieteellisen kirjoittamisen yleisiä sääntöjä ja käytäntöjä. Siinä on kuvattava (1) esiteltävän työn yleispiirteet ja merkitys ohjelmistokehityksen näkökulmasta, (2) työn toteutustapa perusteluineen, (3) toteutustavan analyysi ja (4) perusteltuja parannusehdotuksia. Raportin suositeltava pituus on 10-30 sivua. Se on toimitettava viimeistään 30.4. Jukka Paakille joko paperilla tai sähköpostin liitetiedostona (pdf). Raportteja ei panna julkisesti näkyviin.
Suullisen esitelmän, demonstraation tms. on noudatettava sisällöltään kirjallista raporttia, mutta siinä on keskityttävä olennaisimpaan. Kuulijakunnan oletetaan koostuvan ohjelmistojärjestelmien linjan maisteritason opiskelijoista. Tilaisuudelle varataan kokonaisuudessaan aikaa kaksi luentotuntia (1,5 tuntia reaaliajassa). Varsinainen esitys on näin ollen suunniteltava reilun tunnin pituiseksi, jotta aikaa jää myös kysymyksille ja keskustelulle. Myöskään esitelmiä tms. ei panna julkisesti näkyviin, joten niitä ei tarvitse toimittaa etukäteen.
The students can take the course by (1) writing a comprehensive report on their work and (2) presenting the work in an event open to everybody. The presentation can be arranged in several ways, for instance as a lecture, demonstration of a software product, or a short training event. The work to be described can be anything inherently associated with demanding software development, such as innovative specification, design or implementation of a new product, hard-core testing, architecture design, development of software processes, or start-up activities.
The way of presenting the work is agreed separately with each student. The report can be written and the oral presentation given either in Finnish or in English.
The report has to follow, both in structure and content, the general rules and practices of scientific writing. The report shall describe (1) general characteristics of the reported work and its role in software development, (2) the implementation and rationale of the work, (3) an analysis of the implementation, and (4) proposed improvements with arguments. The suggested length of the report is 10 to 30 pages. It has to be delivered to Jukka Paakki either on paper or by e-mail (pdf) by April 30. The reports will not be published.
The oral presentation shall follow the written report, with emphasis on the most relevant points. It is assumed that the audience consists of Master's students in the software systems subprogramme. The presentation is scheduled to take two lecture hours (1,5 hours in real time). The actual presentation should consequently be designed to take a bit over one hour, so as to leave room for questions and discussion. The presentations will not be published either, so it is not required to send them in advance.
5. Arvostelu / Grading
Kurssista saatavat opintopisteet (4-8) riippuvat kuvattavan ohjelmistokehitystehtävän tai -projektin laajuudesta ja vaativuudesta. Kurssin arvosana (1-5) perustuu työtä kuvaavan kirjallisen raportin ja työn julkisen esittelyn laatuun.
The credit points (4-8) given for the course depend on how extensive and demanding the described software development task or project is. The grade (1-5) is based on the quality of the written report and the quality of the public presentation.
6. Kurssin opiskelijat / Students of the course
Kurssille otetaan ainoastaan rajoitettu määrä vaativaa ja ammattimaista ohjelmistokehitystä pitkään tehneitä opiskelijoita. Heidät valitaan kurssille opintomenestyksen sekä ilmoittautumisjärjestelmään (Ilmo) kirjattavan työhistorian ja kurssilla kuvattavaksi tarjottavan ohjelmistokehitystyön vaativuuden perusteella.
Pääsääntöisesti kurssille valittavilla opiskelijoilla on oltava vähintään kahden vuoden mittainen työkokemus vaativasta ohjelmistokehityksestä; rutiinihommelit eivät kelpaa.
Just a limited amount of students with lengthy working experience in demanding and professional software development are selected for the course. The selection is based on the quality of studies, together with work experience and level of the software development work which is proposed to be described in the course. The latter two are to be described when signing up for the course using the course registration system (Ilmo).
As a rule, the students selected for the course shall have at least two years of experience in demanding software development; routine work won't do.
Jukka Paakki (Jukka.Paakki@cs.Helsinki.FI)