1.1. Kurssin esittely
Tästä sivusta:
Pääkysymyksiä: Mihin tällä kurssilla pyritään? Miten kurssilla toimitaan?
Mitä käsitellään? Kurssin tavoitteita, osasuorituksia, toimintatapoja, arviointia ja tiedotus- ja neuvontakanavia.
Mitä sinun oletetaan tekevän? Lue teksti, ilmoittaudu Oodissa.
Suuntaa antava vaativuusarvio: Helppo.
Suuntaa antava työläysarvio:? Puolisen tuntia.
Course in English
All lectures, including this, are in Finnish. You can take this course in English too. Send email to the lecturer Esko Nuutila <esko.nuutila@aalto.fi>.
Kurssille ilmoittautuminen Oodissa
Ilmoittaudu kurssille Oodissa!
Kurssille ilmoittaudutaan Oodissa. Jos et ole vielä ilmoittautunut, tee se heti! Kurssille ilmoittautuminen on pakollista, mutta harjoitusryhmiin ei tarvi ilmoittautua. Ilmoittaudu myös Piazzaan (ks. Uutiset ja keskustelufoorumit: Piazza ja IRC)
Pythonista
Käytettävä Pythonin versio on 3
Kurssilla käytetään oletusarvoisesti Pythonin versiota 3.4 tai uudempaa. Koulun koneissa on tällä hetkellä asennettuna versio 3.4.
Älä käytä Pythonin versiota 2.
Python2 sisältää joitain harmillisia ja osittain vaikeasti havaittavia eroja python3:een.
Python-dokumentaatio ja asennustohjeet
Pythonin dokumentaatiota on koottu erilliseen dokumenttiin Python-tietoa. Samasta paikasta löytyvät myös asennusohjeet Pythonille, PyQt:lle ja Eclipselle.
Mikä Y2?
Kurssi jatkaa siitä, mihin kurssi CSE-A1111 Ohjelmoinnin peruskurssi Y1 päättyi. Tämän kurssin keskeisinä tavoitteina on opetella oman ohjelman kehitykseen tarvittavia tietoja ja taitoja, sekä harjoitella niitä toteuttamalla henkilökohtainen ohjelmointiprojekti. Tavoitteena on myös, että opiskelija saa riittävät valmiudet opiskella tietotekniikkaa sivuaineena.
Jos olet suorittanut kurssin, jossa oli henkilökohtainen projekti (T-76.020, T-106.1240, T-106.1243, T-106.1215, tms.) voi olla että sinun ei tarvise suorittaa tätä kurssia. Voit tarkistaa nykyiset kurssikorvaavuudet tietotekniikan laitoksen sivulta. Jos epäröit, ota yhteyttä henkilökuntaan.
Tässä materiaalissa yhdistyvät lukemisto ja harjoitustehtävät. Tehtävineen ja liitteineen materiaali kattaa koko kurssisisällön. Kurssilla ei ole virallista oppikirjaa.
Kurssin tavoitteet
Hyvin laveasti sanottuna kurssin tavoitteet ovat seuraavat.
Kurssin jälkeen toivottavasti...
... osaat suunnitella tarvittaessa pienehkön ohjelman
... ja käyttää erilaisia ohjelmoinnin työvälineitä ohjelmointiprosessin tukemiseen
... pystyt halutessasi jatkamaan tietotekniikan sivuaineopiskelijana
Kurssin tavoitteena on siis, että oppisit suunnittelemaan, laatimaan ja muokkaamaan pienehköjä sovellusohjelmia kuten pelejä, kirjanpito-ohjelmia tai pieniä simulaatioitakin. Lisäksi toivomme, että huomaat, että moinen voi olla sekä hauskaa että hyödyllistä! Tarkoitus on myös tutustua erilaisiin ohjelmoinnin apuvälineisiin: versionhallintaan, testaukseen ja kääntämistyökaluihin
Tämä kurssi laajentaa ja syventää sitä, mitä opittiin Ohjelmoinnin peruskurssi Y1:llä ja avaa mahdollisuuksia osallistua taas uusille kursseille, joilla voidaan syventyä tarkemmin johonkin tiettyyn aihealueeseen, tai osallistua suurempaan ryhmäprojektiin.
Esitiedot
Kurssin esitietona on jokin kursseista CSE-A1111,T-106.1200/1203/1206/1207/1208/1210 tai T.93.211(Java) Jos aiempi ohjelmointikokemus on jollain muulla kielellä kuin Pythonilla, ota yhteyttä luenoijaan (esko.nuutila@aalto.fi).
Vaikka kurssin ensisijainen opetuskieli on suomi, niin jonkinmoinen englannin kielen taito on myös tarpeen. Moniin esimerkkeihin ja tehtäviin liittyy englanninkielisiä dokumentteja. Tämä heijastaa sitä, että ohjelmointi on kansainvälinen ala, ja monet aiheeseen liittyvät web-sivustot ja työkalut ovat englanniksi. Yritysten ohjelmointiprojekteissa myös hyvin usein käytetään englantia.
Kurssin oppimateriaali ja palautukset: A+ ja Rubyric
Kurssin oppimateriaali ja tehtävät julkaistaan A+-järjestelmässä. Yhtä lukuunottamatta harjoitustehtävät palautetaan A+:aan; UML-suunnittelutehtävä palautetaan Rubyric-järjestelmään.
Linkit
Uutiset ja keskustelufoorumit: Piazza ja IRC
Kurssiin liittyvät uutiset tulevat Piazzaan, jonne rekisteröidytään osoitteessa https://piazza.com/aalto.fi/spring2016/csea1121. Piazzaan voi laitella myös kysymyksiä esimerkiksi harjoitustehtäviin liittyen.
![../_images/piazza.png](../_images/piazza.png)
Toinen keskustelufoorumi on IRC-kanava nimeltä #ope-y2, jolla käydään reaaliaikaista keskustelua kurssiin liittyen. Kanavalla ei ole virallista henkilökuntapäivystystä, mutta osa kurssihenkilökunnasta ja opiskelijoista hengailee siellä muutenkin ja vastauksia kysymyksiin on mahdollista (takeettomasti) saada erittäinkin nopeasti.
Ohjeita "irkin" käyttöön löydät irkkioppaastamme.
![../_images/irssi.png](../_images/irssi.png)
Kurssin IRC-kanava Irssi-ohjelmassa. IRC voi näyttää vanhalta, mutta on hyvä systeemi.
Sähköpostista
Ethän pyydä assistenteilta apua ohjelmointitehtäviin sähköpostitse. Valtaosa assareista on opiskelijoita, jotka ovat töissä pienellä viikkotuntimäärällä, ja heillä on omat opintonsa suoritettavina. Kysy neuvoa harjoitusryhmissä tai mainituilla sähköisillä foorumeilla. Kurssilla on paljon kanavia ohjelmointikysymysten esittämiseen, mutta sähköposti ei kuulu niihin.
Luennot
Kurssilla on yksi luento viikossa. Luentokalvot ja muu luentomateriaali julkaistaan A+:ssa.
- Pe 8.1.2016 on avausluento, joka esittelee kurssin käytäntöjä, aikataulua, yms. Käsitellyksi tulee myös osa ensimmäisestä kierroksesta.
- Periodin III lopulla pidetään erillinen projektia käsittelevä luento, jossa esitellään aiheita, aikataulua, vaatimuksia jne.
Kurssin luennot pidetään perjantaisin klo 12–14 Tietotekniikan talon salissa T1.
Osasuoritukset
Kurssiin kuuluu kaksi osasuoritusta:
Harjoitustehtävät liittyvät opiskeltavaan sisältöön ja niissä pääsee kokeilemaan projektissa tarvittavia taitoja jo ennalta. Tarkoitus on sekä parantaa koodausrutiinia ennen projektin aloittamista ja harjoitella kurssin uusia asioita. Kurssin läpäiseminen edellyttää hyväksyttyä arvosanaa harjoitustehtävistä eli vähintään ykköstä.
Henkilökohtainen ohjelmointiprojekti.
Projektissa laaditaan itsenäisesti kokonainen pienehkö ohjelma.
Aiemmin tehdyt osasuoritukset
Vuosina 2014 ja 2015 hyväksytysti tehdyt osasuoritukset kelpaavat vuoden 2016 osasuorituksiksi. Jos siis esim. 2015 teit harjoitustehtävät hyväksytysti, ei sinun tarvitse tehdä niitä uudestaan.
Harjoitustehtävät
Kurssin harjoitustehtävät kuvataan kokonaisuudessaan tässä materiaalissa. Tehtävät jakautuvat kierroksiin ja osatehtäviin.
Lue oppimateriaali
Tehtävissä tarvittava tieto löytyy tästä oppimateriaalista. Lue kuhunkin tehtävään liittyvä materiaali ennen kuin teet tehtävän.
Harjoitusryhmät
Kurssin assistentit päivystävät harjoitusryhmissä, joista on lisää sivulla Harjoitusryhmät.
Harjoituskierrokset
Tehtävät jakautuvat ajallisesti kierroksiin 1-6.
Jokaisella kierroksella on määräaika (DL eli deadline), johon mennessä kierroksen suoritukset on palautettava. Ensimmäisen kierroksen DL 22.1.2016 kello 23:59. Seuraavien kierrosten määräajat ovat yleensä viikon välein edellisestä. Jokainen kierros, viimeistä lukuunottamatta, kestää siis suunnilleen 10 päivää ja kierrokset ovat osittain päälekkäin.
Ei kierroskohtaista minimiä
Edellisestä vuodesta poiketen tehtäväkierroksilla ei ole minimipistemäärää.
DL:t ja pisteet
Täydennä.
Alla on taulukko eri kierroksilla tarjolla olevista pisteistä ja deadlineista.
Kierros | Maksimi | DL |
---|---|---|
1 | 250 | 22.1.2016 kello 23:59 |
2 | 190 | 29.1.2016 kello 23:59 |
3 | 320 | 7.2.2016 kello 23:59 |
4 | 400 | 19.2.2016 kello 23:59 |
Deadline!
Ensimmäinen DL on 22.1.2016 kello 23:59 Huomaa, että jo ensimmäisen kierrokseen tehtäviin menee aikaa. Kannattaa varautua!
Ei bonusta aikaisesta palauttamisesta!
Emme valitettavasti tänä vuonna voi antaa bonusta aikaisesta palautuksesta, koska A+-järjestelmä ei sisällä tätä ominaisuutta.
Harjoitusten arvosanarajat
Pisteitä saa kunkin kierroksen tehtävistä. Lisäksi pisteitä voi saada vastaamalla palautekyselyihin sekä mahdollisista lisätehtävistä,
jotka on merkitty erikseen. Opiskelijan arvosanaa laskettaessa lisätään hänen kaikkien kierrosten tehtävistä saamiinsa pisteisiin
palautepisteet ja mahdollisista lisätehtävistä saadut pisteet. Tätä pistemäärää verrataan kaikkien kierrosten tehtävistä saatavien
maksimipistemäärien summaan max_sum
(ei siis sisällä palautepisteiden tai lisätehtävien maksimipistemääriä) ja arvosana määräytyy
seuraavan taulukon mukaan:
Arvosanarajat
Arvosana | Opiskelijan kokonaispisteet / max_sum |
---|---|
1 | 50% |
2 | 60% |
3 | 70% |
4 | 80% |
5 | 90% |
Yksilötyötä, ei kopiointia
Harjoitustehtävien ratkaisujen kopiointi toisilta opiskelijoilta tai muualta ei ole sallittua. Samoin kiellettyä on pisteiden hankkiminen yrittämällä harhauttaa automaattista tarkastusjärjestelmää.
Kopioimisella ja muilla väärinkäytöksillä on seuraamuksia, ja opiskelijoiden kirjoittamia ohjelmia tutkitaan myös tässä mielessä.
Projekti
Henkilökunta
Vastaava opettaja Esko Nuutila
Esko vastaa kurssin suunnittelusta, oppimateriaalista, tiedotuksesta, ja luennoista.
Esko on tavattavissa luentojen yhteydessä sekä erikseen sähköpostitse sopimalla Tietotekniikan talon huoneessa B218.
Sähköposti: <esko.nuutila@aalto.fi>
Assistentit
- Anton Debner anton.debner@aalto.fi
- Klaus Helenius klaus.helenius@aalto.fi
- Jani Hyytiäinen jani.hyytiainen@aalto.fi
- Henri Immonen henri.immonen@aalto.fi
- Alireza Kahaei ali.kahaei@gmail.com
- Ville Kolehmainen ville.kolehmainen@aalto.fi
- Matias Lindgren matias.lindgren@aalto.fi
- Niklas Nevalainen niklas.p.nevalainen@aalto.fi
- Mikko Närjänen mikko.narjanen@aalto.fi
- Aleksi Pesonen aleksi.r.pesonen@aalto.fi
- Jesse Simonsson jesse.simonsson@aalto.fi
Assarit auttavat opiskelijoita harjoitusryhmissä, ohjaavat projekteja sekä arvioivat joitain harjoitustehtäviä.
Yhteenvetoa
- Kurssin pakolliset osasuoritukset ovat: harjoitustehtävät ja projektin kaikki vaiheet
- Kurssimateriaaliin perehtyminen kannattaa, sillä tarvitset tietoja sekä materiaaliin upotettujen harjoitusten tekemiseen, että kurssiprojektiin. Kurssin kokonaisarvosana lasketaan painotettuna keskiarvona harjoitusten ja projektin arvosanoista.
- 30% kurssiarvosanasta tulee harjoitustehtävien perusteella.
- 70% arvosanasta tulee projektityöstä. Projektin pakollisia osia ovat suunnitelma, suunnitelmademo, versionhallinnan käyttö, checkpointit, toimiva projekti dokumentteineen, sekä loppudemo.
- Harjoitusryhmät, keskustelufoorumit, luennot ja viikkokoosteet tukevat tehtävien tekemistä.
- Ensimmäinen deadline on pian!