58127 C-ohjelmointi (4 op /2 ov) Syksy 2006
Syksyn 2006 C-kurssi käsittää luennot, harjoitukset, harjoitustyön ja kurssikokeen. Luennot on ensimmäisellä periodilla ja toisen periodin alussa on viimeistään palautettava harjoitustyö.Ajankohtaista
- [5.12.2006]Tiedot kurssin tuloksista. Palautetilaisuus 13.12 klo 15:00 - 15:30 huoneessa D228. Osa harjoitustöistä on palautettu korjattavaksi ja tulokset näistä tulevat myöhemmin.
- [20.11.2006]Tiedot koepisteistä ja laskuharjoituspisteistä ja kokeen arvosteluperusteet Tulokset tulevan joulukuun alussa, kun kaikki harjoitustyöt on tarkistettu.
- [3.11.2006]Muutama opiskelija on pyytänyt vähän lisäaikaa harjoitustyöhön, joten tasapuolisuuden vuoksi tiedoksi kaikille: harjoitustyö on ajoissa palautettu, jos sen palauttaa viimeistään maanataiaamuuna 6.11 klo 9 mennessä. (Olen matkoilla viikonloppuna, joten silloin sähköposti ei tavoita minua.)
- [9.10.2006]Tarkista, että harjoitustyön aiheesi on kirjattu oikein. Harjoitustyökohdasta on linkki intranetissä olevaan tiedostoon.
Luentoajat
06.09.-13.10. KE, PE 10-12 CK112Ass. Päivi Kuuppelomäki
Harjoitusajat
Tuntiop. Timo Tuominen
Ryhmä 1: 04.09.-13.10. TO 12-14 B119
Ryhmä 2: 04.09.-13.10. PE 12-14 B119
Kurssimateriaali
Kurssikirjana käytetään Tomasz Müldnerin kirjaa C for Java programmers , Addison-Wesley 2000, ISBN 0-201-70279-7 Kirjaan liittyvällä sivustolla on mm. luettelo havaituista virheistä, kirjan ohjelmakoodit, kalvosarja yms. materiaalia.
Jan Lindströmin vuosina 2000 ja 2001 laatima verkkomoniste on myös kurssin opiskelijoiden käytettävissä.
Muuta C-kirjallisuutta
Muita C-kielen oppikirjoja on runsaasti. Ehkä tärkein näistä on C-kielen klassikkoKernighan B.W. & Ritchie D.M.: The C Programming Language, 2nd ed. , Prentice Hall 1988. (ANSI C edition)
Kirja on saatavilla myös suomenkielisenä IT Pressin julkaisemana pocket-kirjana: Kernighan B.W. & Ritchie D.M.: Kernighan B.W. & Ritchie D.M.: Ohjelmointi (Pocket).
Kurssin aikataulu
Tämä aikataulu tarkentuu kurssin edetessä.
Kurssilla on 12 luentokertaa ja 6 harjoituskertaa.
Luentomateriaali
- Kurssin aloitus
Kalvot 2p, 6p - Tyypit, rakenteet ja makrot
Kalvot 2p, 6p - Tekstitiedostot, esikääntäjä, makrot ja ehdollinen kääntäminen
Kalvot 2p, 6p - Funktiot
Kalvot 2p, 6p - Osoittimet
Kalvot 2p, 6p - Tietueet ja joukot sekä linkitetty lista
Kalvot 2p, 6p - Merkkijonot ja komentoriviparametrit
Kalvot 2p, 6p - Taulukot (ja binääritiedostot)
Kalvot 2p, 6p - Modulaarinen ohjelmointi
Kalvot2p, 6p - Kertaus
Kalvot2p, 6p
Harjoitukset
1. harjoitus2. harjoitus
3. harjoitus
4. harjoitus
5. harjoitus
6. harjoitus, esimerkkivastaukset tehtävään 1 ja 4
Harjoitustyö
Kurssiin liittyy harjoitustyö, jonka tekeminen aloitetaan 1. periodin lopulla. Harjoitustyön on valmistuttava pe 3.11 mennessä. Harjoitustöiden aiheet ja ohjeet on nyt julkaistu.
Sähköpostitse ja harjoituksissa sovitut aiheet ovat laitoksen intranetissä. Tarvitset laitoksen käyttäjätunnuksen ja salasanan päästäksesi lukemaan tuota tiedostoa. Tiedostossa voi olla virheitä ja puutteita, joten varmistathan oman aiheesi ja ilmoitat luennoijalle, jos nimesi puuttuu tai on väärän aiheen kohdalla.
Harjoitustyön ohjausta antaa Timo Tuominen ke 11.10 klo 12-16 salissa CK110 sekä ke 1.11 klo 12-16 salissa CK110.
Kurssikoe
Kokeeseen saa ottaa yhden A4-arkin kokoisen muistilapun.. Muistilapun käytön tarkoituksena on
- Vähentää huolimattomuusvirheitä.
- Mitata ohjelmointitaitoa edes hiukan oikeammanlaisessa tilanteessa. Normaalistihan ohjelmoidessa voi käyttää oheismateriaali apunaan.
- Yksinkertaistaa arvostelua, koska arvostelijan ei tarvitse sen jälkeen tulkita vastauksien puutteita mahdollisiksi unohduksiksi, vaan ne voidaan selkeästi käsitellä puutteellisina tai virheellisinä vastauksina.
Kokeessa edellytetään osattavaksi kielen perusrakenteiden lisäksi:
- Funktiot ja erityisesti niiden parametrien käyttö
- Taulukko
- Tekstitiedosto
- Linkitetty tietorakenne ja osoittimet
- Komentoriviparametrit
- Merkkijonot
Näistä muodostetaan sitten kokeessa erilaisia yhdistelmiä eri tehtävissä.
Kurssikoe on alustavan suunnitelman mukaan pe 20.10. klo 16-19. Aika kannattaa varmistaa laitoksen koeaikataulusta. Siellä myös ilmoitetaan kokeen sali.Kurssin arvostelu
Kurssin kokonaispistemäärä on 60, kuten yleensä laitoksen kursseilla. Arvosana määräytyy myös yleisen mallin mukaan, eli 30 pisteellä saa 1 ja siitä arvosana nousee viiden pisteen välein, kunnes 50 pisteellä saa arvosanan 5.
Kurssin kokeesta saa maksimissaan 40 pistettä. Kurssi läpäisemiseen kokeesta on saatava vähintään puolet pisteistä eli 20 pistettä.
Kurssin harjoitustehtävistä saa maksimissaan 10 pistettä.
tehtyjä tehtäviä pisteitä vähintään 24 10 vähintään 21 9 vähintään 19 8 vähintään 16 7 vähintään 14 6 vähintään 11 5 vähintään 9 4 vähintään 6 3 vähintään 4 2 vähintään 1 1Samoin harjoitustyöstä saa maksimissaan 10 pistettä. Kurssi läpäisemiseen tarvitaan vähintään 3 pistettä harjoitustyöstä. Harjoitustyön pisteet jakautuvat myöhemmin syksyllä ilmoitettavalla (sovittavalla) tavalla tehtävän laajuuden, ohjelmointityylin, dokumentoinnin, testikuvauksen ja ohjelman toimivuuden kesken.
Kiinnostavia linkkejä
Tähän listaan tulee linkkejä, joita löydämme tai joista kerrotte meille. Näiden linkkien tavoitteena on tukea itsenäistä C-kielen opiskelua.
- C-ohjelmoinnin perustyökalut Unixissa
- comp.lang.c Answers to Frequently Asked Questions (FAQ List)
- The Ten Commandments for C Programmers
- The Top 10 Ways to get screwed by the "C" programming language
- Jukka Korpelan linkkisivut C-kieleen liittyvistä sivustoista
- http://www.ohjelmointiputka.net/oppaat.php suomenkielisiä oppaita eri ohjelmointikielille myös C:lle.
- http://www.programmersheaven.com/ Erilaisia kehitystyökaluja ja koodin pätkiä useille eri kielille myös c:lle
- Oulun yliopiston C-ohjelmointi
English version
The Fall 2006 course will be given fully in Finnish. However, if you cannot follow Finnish lectures and need to do the course now, please contact the lecturer. We can negotiate about an individual way of taking the course.
Sivu luotu 23.8.2006, Päivi Kuuppelomäki