Tulevien luentojen aiheet voivat hieman muuttua.
Huom1. Kurssien T-106.230 Ohjelmoinnin peruskurssi T2 tai T-106.231 Lausekielisen ohjelmoinnin perusteet suorituksilla ei voi korvata tämän kurssin osasuorituksia.
Huom2. Kurssi on siinä määrin päällekkäinen kurssin AS-0.1101 C-ohjelmoinnin peruskurssi kanssa, että molempia ei voi sisällyttää tutkintoon (ainakaan samaan moduuliin). AS-0.1101 ja AS-0.1102 yhdessä korvaavat tämän kurssin.
Kurssille tulee ilmoittautua Topin kautta. Kurssi-ilmoittautuminen on välttämätöntä, koska ohjelmointiharjoituksissa tarvittavat Goblin-tunnukset lähetetään vain ilmoittautuneille.
Kurssilla on kaksi pakollista osasuoritusta, jotka ovat voimassa vuoden:
Harjoitusten ja projektityön tekemiseen tarvitset Niksulan käyttäjätunnuksen.
Kurssilla ei ole tenttiä. Kurssin arvosana lasketaan seuraavalla kaavalla, jossa O tarkoittaa ohjelmointiharjoituksista saatuja pisteitä (maksimi on 3000 pistettä) ja P projektityöstä saatuja pisteitä (maksimi on 5000 pist):
(O >= 1500 && P>=2500) ? min( 5, trunc(( O + P - 4000) / 750 ) + 1 ) : 0
Kurssilla käytetään kirjaa B. Kernighan, D. Ritchie, The C Programming Language. 2nd edition. Myös muut vastaavat C-käsikirjat soveltuvat, mutta suosittelemme edellä mainittua. Kurssista ei toimiteta opetusmonisteita.
Learning C from Java -artikkeli vertailee C:n ja Javan eroja ja täydentää luennoilla esillä olleita asioita.
Työn aihe on www-palvelimena toimiva risti-nolla-peli. Peliä pelataan toruksen muotoisella pinnalla. Merkittävä osa ohjelmakoodista on valmiina.
Ohjelmaan on tarkoitus tehdä joukko lisäyksiä. Jokainen ryhmän jäsen on henkilökohtaisesti vastuussa kahden asian toteuttamisesta, joista yksi on yksinkertainen (ensimmäisen iteraation palautus) ja toinen vaativa (toisen iteraation palautus). Ryhmä saa itse sopia, miten tehtävät jaetaan jäsenten kesken. Lisäksi harjoitukseen kuuluu osia, joista opiskelijat vastaavat yhdessä.
Projektissa on käytettävä kurssin tarjoamaa SVN-versionhallintajärjestelmää. Saat ohjeet järjestelmän käyttämisestä ilmoittauduttuasi noin viikon kuluessa. Ilmoittautuminen tapahtuu tällä lomakkeella. Ryhmän tulee täyttää lomake yhdessä palauttaa se vain kertaalleen.
Palautukset hoidetaan SVN-versionhallinnan kautta. Käytännössä reposta haetaan deadlinen päätösajankohtaa vastaava tilanne, joten erillistä "palautusta" ei ryhmän tarvitse tehdä. Ainoastaan on huolehdittava, että repossa on palautusajankohtana toimiva versio. Lisäksi olisi hyvä, jos palautettava versio olisi erillisessä kansiossa kuin missä varsinainen koodi, esimerkiksi "iteration1". Myös dokumentit laitetaan repoon muiden tiedostojen joukkoon.
Kurssin luennot ovat kolmannella periodilla tiistaisin klo 14-16 salissa T1 ja torstaisin klo 12-14 salissa T1.
Vapaaehtoiset viikkoharjoitukset (3. periodilla), joissa voi käydä tekemässä tehtäviä ja kysymässä neuvoa assistenteilta ovat:
Neljännessä periodissa järjestetään vain yksi laskuharjoitus: Keskiviikkoisin 16-18 luokassa A136. Siellä voi käydä kysymässä neuvoa assistenteiltä tehtävistä tai projektityöstä.
Harjoitusten ja projektitöiden määräajat (alustava aikataulu):