Luku 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, lisää kurssi Nopassa.
Suuntaa antava vaativuusarvio: Helppo.
Suuntaa antava työläysarvio:? Puolisen tuntia.
Tervetuloa Ohjelmoinnin peruskurssi Y2:lle!
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.
Kurssille ilmoittautuminen Oodissa
Kurssille ilmoittaudutaan Oodissa. Jos et ole vielä ilmoittautunut, tee se heti! Kurssille ilmoittautuminen on pakollista, mutta harjoitusryhmiin ei tarvi ilmoittautua.
Noppa-sivusto
Tämän kurssimateriaalin lisäksi käytämme Noppaa jonkin verran. Sieltä löydät
- tiiviin kurssiesitteen,
- kurssin uutispalstan,
- harjoitusryhmien ajat ja paikat
- tietoa luennoista.
On erittäin tärkeää, että seuraat Nopassa kurssin uutispalstaa. Siellä tiedotetaan kurssin mittaan ajankohtaisista asioista. Nämä voivat olla suunniteltuja kuten tehtävien määräajat tai suunnittelemattomia kuten poikkeusjärjestelyt henkilökunnan sairastuessa.
Jos et ole jo lisännyt tätä kurssia seuraamiisi kursseihin Nopassa, niin tee se välittömästi. Tämä onnistuu klikkaamalla Lisää seuraamiini kursseihin kurssin Noppa-sivulla. Lisäksi suosittelemme vahvasti, että tilaat uutispäivitykset itsellesi joko sähköpostitse ( ) tai RSS-syötteenä ( ). Näin sinun ei tarvitse rampata Nopassa etsimässä mahdollisia päivityksiä, ja pysyt ajan tasalla luotettavasti.
A+ ja Rubyric
Kurssin harjoitustehtävistä yksi (UML-tehtävä) palautetaan Rubyric-järjestelmään ja loput (ohjelmointitehtäviä) A+-järjestelmään. Projekti palautetaan myös Rubyriciin.
Python
Kurssilla käytetään oletusarvoisesti Pythonin versiota 3. Koulun koneissa on asennettuna versio 3.2.3. Tehtävät arvioidaan versiolla 3.4.2.
Älä käytä Pythonin versiota 2.
Python2 sisältää joitain harmillisia ja osittain vaikeasti havaittavia eroja python3:een.
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.
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.
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.
Kierrokset
Tehtävät jakautuvat ajallisesti kierroksiin 1-6. Alla olevaan taulukkoon kootaan tehtäväkierrokset.
Jokaisella kierroksella on määräaika (DL eli deadline), johon mennessä kierroksen suoritukset on palautettava. Ensimmäisen kierroksen DL ti 20.01.2015 klo 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.
Deadline!
Ensimmäinen DL on 20.01. Huomaa, että jo ensimmäisen kierrokseen tehtäviin menee aikaa. Kannattaa varautua!
Jokaisella tehtäväkierroksella on minimi- ja maksimipistemäärät. Minimipistemäärä on saatava joka kierrokselta harjoitustehtäväosuuden suorittamiseksi hyväksytysti.
Bonusta aikaisesta palauttamisesta!
Jos palautat tehtävät viimeistään kaksi vuorokautta ennen DL:ää, saat bonusta (5% pisteistä per tehtävä). Lisäksi pieniä määriä lisäpisteitä on tarjolla palautekyselyihin vastaamisesta.
Arvosana Taso Kuvaus 1 800 Vähimmäistavoitteet saavutettu. 2 975 3 1150 4 1325 5 1500 Tätä enempää pisteitä ei tarvitse viitoseen. Alla on taulukko eri kierroksilla tarjolla olevista pisteistä ja deadlineista.
Kierros Taso DL 1 250 20.1.2015 klo 23:59 2 460 31.1.2015 klo 23:59 3 450 10.2.2015 klo 23:59 4 400 28.2.2015 klo 23:59 5 300 6.4.2015 klo 23:59 Palautteet 65 Yhteensä 1925
Itsestäänselvyyksiä
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ä.
Opiskelun tueksi: harjoitusryhmät, keskustelufoorumit ym.
Oppimateriaaliin ja sen sisältämiin tehtäviin paneutumisessa kunkin opiskelijan oma panos on keskeinen. Tuemme kuitenkin opiskelua usealla eri tavalla.
Harjoitusryhmät
Kurssin assistentit eli assarit päivystävät harjoitusryhmissä
Tarkempi aikataulu ja paikat löytyvät Viikkoharjoitukset-sivulta Nopassa.
Harjoitusryhmiin ei ole erillistä ilmoittautumista, vaan voit käydä niissä vapaasti. Ryhmissä ei myöskään ole tiettyä asialistaa, jonka kaikki käyvät läpi samaan tahtiin. Voit tulla ryhmään lukemaan materiaalia ja tekemään tehtäviä omaan tahtiisi ja kysyä assarilta, kun et omin neuvoin pääse eteenpäin.
Projekti
Projektin julkaistaan piakkoin
Luennot
Kurssilla on yksi luento viikossa. Luentokalvot ja muu luentomateriaali julkaistaan Nopassa.
- Pe 9.1.2015 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. Kurssilla on myös vaihtoehtoinen aika Maanantaisin, jota voidaan käyttää tarvittaessa. Tästä tiedotetaan Nopassa. Tarkemmat tiedot ja julkaistu luentomateriaali löytyvät kurssin luentosivulta Nopassa.
Keskustelufoorumit: Piazza
Harjoitustehtäviin ym. liittyviä kysymyksiä voi laittaa Piazzaan. Sinne rekisteröidytään osoitteessa https://piazza.com/aalto.fi/spring2015/csea1121.
![../_images/piazza1.png](../_images/piazza1.png)
Keskustelufoorumit: IRC
Toinen foorumi 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/irssi1.png](../_images/irssi1.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.
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
- Petri Leskinen
- Viivi Livio
- Ville Piiparinen
- Elmeri Poikolainen (heikki.poikolainen)
- Aleksi Simell
- Jesse Simonsson
- Miki Tolonen
- Antti Vainio (antti.e.vainio)
Assarien sähköpostit: etunimi.sukunimi at aalto.fi (paitsi jos yllä suluissa on muu nimi). Assarit auttavat opiskelijoita harjoitusryhmissä. He myös arvostelevat osan harjoitustehtävistä sekä hoitavat sekalaisia muita tehtäviä. Kunkin assarin harjoitusryhmäajat löytyvät Viikkoharjoitukset-sivulta Nopassa.
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!
Palaute
Vastaa palautekyselyyn A+:ssa.