Osion kuvaus

  • Tämä kurssi jatkaa siitä, mihin kurssi CS-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.

    Kurssilla käytetään A+-järjestelmää, ja suora linkki kurssin sivulle tulee tähän.


    Henkilökunta ja yhteydenotot

    Kurssin vastuuopettaja on yliopistonlehtori Sanna Suoranta. Osan luennoista pitää TkT Timo Kiravuo (kaikki luennot englanniksi löytyvät kurssikoodilta CS-A1123 Timon pitäminä).

     Harjoituksissa neuvovat Bai-Bai Bairoh, Otso Brummer, Antero Eloranta, Jesse Hämäläinen, Jimmy Ihalainen, Touko Nurminen, Maria Pöllä, Eevi Rimmi ja Stas Tatun, ja projekteja ohjaavat lisäksi Matias Ahonen, Olivia Jaakkola, Aku Karhinen, Joel Laitila, Samath Lenaduwa Lokuge, Olaus Lintinen, Tuomas Rislakki, Tuuli Savolainen, Markus Säynevirta ja Joel Tiitinen, 

    Apua voi kysyä käyttäen Gitin issue trackeriä  (esimerkki ja ohje:  https://version.aalto.fi/gitlab/sos/y2-2021qa/issues/1). (Emme enää saa käyttää Piazzaa). Henkilökohtaisissa ongelmissa (tyyliin pitkä sairausloma) lähetä sähköpostia cs-a1121@aalto.fi (Sannalle ja Timolle).

    Ilmoittautuminen, suorittaminen ja arvosana

    Kurssille pitää ilmoittautua Oodissa.

    Kurssi koostuu kahdesta pakollisesta osasuorituksesta:
    • Harjoitustehtävät, jotka tehdään yksilötyönä. Harjoitustehtäviä on kuusi kierrosta, joiden palautusajat ovat noin kerran viikossa, III periodin ja IV periodin alkupuolella. Harjoitustehtävistä pitää saada vähintään puolet jaossa olevista pisteistä, jotta harjoitustehtävät on suoritettu hyväksytysti (yksityiskohdat tulevat A+-järjestelmään).
    • Henkilökohtainen ohjelmointiprojekti, johon ei liity yhteistilaisuuksia, mutta joka sisältää henkilökohtaisia assistenttitapaamisia online-yhteydellä tiettyä aikataulua noudattaen (tapaamiset selitetty tarkemmin A+:ssa). Projektin aiheiden valinta on periodin III keskivaiheella, suunnitelma palautetaan III lopussa ja itse projekti dokumentteineen toukokuun alussa (V periodilla). Projektin koodit ja dokumentti palautetaan Git-versionhallintajärjestelmään, ja se demotaan assistentille.

    Kumpikin osa tehdään itsenäisesti. Apua saa kysyä (myös kavereilta), mutta koodit ja dokumentit on kirjoitettava itse (eikä esim. toisen sanelusta). Jos/kun kaverisi kysyy apua, älä siis anna vastaustasi hänelle suoraan, vaan anna kaverille tilaa oppia itse. Kurssilla käytetään automaattista harjoitustehtävien korjausta ja automaattista kopioinnin havaitsemista. Lisätietoja yhteistyöstä MyCoursen sivulta.

    Kummankin osan tarkemmat tiedot tulevat A+-järjestelmään. Kurssin loppuarvosana on painotettu keskiarvo yllä olevista: round(0.4*harjoitusarvosana + 0.6*projektiarvosana), joissa molempien osien tulee olla hyväksytysti suoritettu.

    Kurssilla ei ole tenttiä.


    Materiaali ja tiedottaminen

    Kurssin ohjeistus ja materiaali on pääosin A+-järjestelmässä, jossa ovat erityisesti kurssiin liittyvä lukemisto ja kurssin harjoitustehtävät. Tehtävät liitteineen kattaa kurssin koko perussisällön, mutta tietoa pitää hakea myös itse erityisesti, jos kohtaa ongelmia tehtäviä tai projektia tehdessään. Ohjelmointikielenä kurssilla käytetään Pythonia.

    MyCoursesin kautta lähetetään kaikkia koskevia tiedotteita ja yhteistä palautetta viikkotehtävien palaute-osiossa esiin nousseista asioista (eli jos jokin jää ohjelmoinnissa askarruttamaan, kirjoittakaa kysymyksiä ja ihmettelyitä A+-järjestelmän kunkin tehtävän jälkeen olevaan palautekyselykenttään).

    Kurssilla on käytössä jokin myöhemmin ilmoitettava tapa kysyä apua harjoitustehtävissä kohdatuista ongelmista. (Piazzaa emme kuulemma saa enää käyttää.)

    Luennot ja harjoitukset

    Kurssin luennot toimitetaan videoina, joita voi katsoa omaan tahtiin. Kaikkia videoita ei julkaista kerralla, vaan harjoitusten ja projektin aikataulun luoman rungon mukaan. Videot tulevat MyCourse-sivulle, samoin kuin luentokalvot. Luennoilla käydään ohjelmoinnin lisäksi läpi ohjelmien toimintaympäristöä (tietokonetta ja tietoverkon tarjoamia ohjelmontialustoja) sekä ohjelmointiprojektin hallintaan liittyviä asioita.

    Luentoja ei ole pakko katsoa, sillä ohjelmointia oppii paljon ihan vain tekemällä, mutta koska kurssin materiaali on pitkälti harjoituksien ja projektin tekemiseen tarkoitettuja linkkejä ohjelmointityökalujen dokumentaatioon, voi kokonaiskuvan saaminen olla hankalaa ilman luentoja. 

    Jos esitietokurssin suorittamisesta on pitkä aika, voi olla hyvä kerrata asioita mm. katsomalla Ohjelmoinnin peruskurssi Y1:n luentovideoita, erityisesti virheiden etsiminen eli debuggaus on hyvä kerrata.

    Kurssilla on online-harjoituksia, joihin voi tulla kysymään assareilta apua harjoitustehtävissä oleviin ongelmiinsa. Harjoituksiin ei ole pakko osallistua. Linkki harjoitusten jonoon löytyy A+:n sivupalkista.

    Harjoitukset 11.1.-29.3.2021
    Päivä ja aika "Paikka" Assarit
    ma 14:15-16:00 online Bai-Bai Bairoh, Jimmy Ihalainen, Stas Tatun
    ma 16:15-18:00 online Jesse Hämäläinen, Stas Tatun
    ti 10:15-12:00 online Bai-Bai Bairoh, Touko Nurminen
    ke 16:15-18:00 online Antero Eloranta, Jesse Hämäläinen, Jimmy Ihalainen 
    to 8:15-10:00 online Maria Pöllä, Eevi Rimmi
    to 14:15-16:00 online Otso Brummer, Antero Eloranta, Touko Nurminen
    to 16:15-18:00 online Otso Brummer, Maria Pöllä, Eevi Rimmi


    Osasuoritusten voimassaolo

    Kurssin osasuoritukset ovat voimassa vain kyseisen kurssikerran ajan, eli sekä kaikki harjoitustehtävät että projekti on tehtävä saman kevään kuluessa.

    Vanhoja osasuorituksia ei enää hyväksytä.

    Alustava aikataulu

    Alustava aikataulu, muutokset ovat mahdollisia - virallinen aikataulu tulee A+-järjestelmään. Suunnitelman ja harjoitustyön demotilaisuudet riippuvat assarin kanssa sovittavasta ajanhetkestä, mutta palautuksille on sama, yhteinen määräaika kaikilla.

    Alustava aikataulu
    päivä tehtävä muuta
    22.1.2021 klo 14:00 harjoitustehtävät 1 kertaus + GIT
    29.1.2021 klo 14:00 harjoitustehtävät 2 oliot
    5.2.2021 klo 14:00 harjoitustehtävät 3 UML
    12.2.2021 klo 14:00 projektiaiheen valinta
    19.2.2021 klo 14:00 harjoitustehtävät 4 testaus
    26.2.2021 klo 14:00 projektin suunnitelma
    1.3.-5.3.2021 projektisuunnitelman demot riippuvat assarin aikataulusta
    5.3.2021 klo 14:00
    harjoitustehtävät 5 lohkopohjainen tiedostoformaatti
    8.3.-12.3. (projektisuunnitelman demot) (jos kaikkia ei assari ehdi pitämään edellisellä viikolla)
    19.3.2021 klo 14:00 harjoitustehtävät 6 käyttöliittymä
    26.3.2021 klo 14:00 harjoitustehtävien lisätehtävä,
    projektin checkpoint
    7.5.2021 klo 14:00 projektin kooodit,
    projektin loppuraportti ja
    demoajan varaaminen
    ohjelman ja dokumentin pitää olla valmis, palautukseen ei saa enää koskea.
    10.5.-21.5.2021 demot ajat riippuvat assistentin aikataulusta
    14.5.2021 viimeiden demomahdollisuus ajat riippuvat assistentin aikataulusta



    In English

    If you want to take this course in English, please choose CS-A1123 Basics in programming Y2 (despite the claim in Oodi saying it is only for a certain CHEM program). However, the material in A+ is both in Finnish and English and we use the same "course" instance in A+, but only part of the programming assignment topics are translated to English.