Helsingin yliopisto Tietojenkäsittelytieteen laitos
 

Tietojenkäsittelytieteen laitos

Tietoa laitoksesta:

 

58127 C-ohjelmointi (4 op /2 ov) Kevät 2006

In english Kevään 2006 C-kurssi käsittää luennot, harjoitukset, verkkokurssiosion, harjoitustyön ja kurssikokeen. Kurssi on kahden periodin mittainen.

Ajankohtaista

Luennot

17.01.-21.02. TI 16-18 CK112
14.03.-25.04. TI 16-18 CK112
Ass. Liisa Marttinen, Leht. Tiina Niklander

Harjoitukset

Tuntiop. Risto Saarelma
Ryhmä 1: 08.02.-22.02. KE 12-14 B222, 15.03.-29.03. KE 12-14 C221
Ryhmä 2: 08.02.-22.02. KE 14-16 CK107, 15.03. KE 14-16 C221, 22.03. KE 14-16 B221, 29.03. KE 14-16 B119

Verkkokurssiosuus

Kurssilla on mahdollisuus käytää Viope Solutions Oy:n opetusmateriaalia ja verkko-oppimisympäristoä. Kyseessä on siis kaupallinen materiaali, josta maksetaan ihan oikeasti käytön mukaan.

Mikäli haluat käyttää verkkokurssia, niin rekisteröidy verkkokurssille osoitteessa helsinki.viope.fi. Ilmoittautuessasi syötä järjestelmään nimi, s-postiosoite ja haluamasi tunnus ja salasana. HUOM: Älä käytä minkään olemassaolevan järjestelmän salasanaa, tunnuksen voit myös valita vapaasti.

Kukin verkkomateriaalia käyttävä opiskelija kuluttaa yhden maksullisen lisenssin ja siksi kurssia aloittaessaan jokaisen on sitouduttava suorittamaan kurssi loppuun asti.

Verkkokurssiosuus kattaa vain osan kurssin aineistosta. Sen tarkoituksena on helpottaa C-kielen oppimista ja rohkaista ohjelmoimaan C-kielellä. Viopen verkkomateriaali on suunnattu aloitteleville ohjelmoijille, joten ensimmäisiin lukuihin ei ole tarkoitus käyttää kovinkaan paljoa aikaa.

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ä.

Verkkomateriaalina on Viope Solutions Oy:n kehittämä C-kurssi.

Muuta C-kirjallisuutta

Muita C-kielen oppikirjoja on runsaasti. Ehkä tärkein näistä on C-kielen klassikko
Kernighan 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).

Kirjaan liittyy myös suhteellisen hyvä kommenttisivusto ja kirjan tehtävien ratkaisuja.

Kurssin aikataulu

Tämä aikataulu tarkentuu kurssin edetessä.

Kurssilla on 9 luentokertaa ja 6 harjoituskertaa. Lisäksi 3 kurssin harjoitustyön ohjauskertaa.

Periodi/viikko Luentojen sisältö Harjoitukset
Periodi I/1
(17.1.)
Kurssin aloitus
Kalvot 2p, 6p
Verkkokurssin harjoituksia
Periodi I/2
(24.1.)
Tyypit, rakenteet ja makrot
Kalvot 2p, 6p
Verkkokurssin harjoituksia
Periodi I/3
(31.1.)
Tekstitiedostot
Kalvot 2p, 6p
Verkkokurssin harjoituksia
Periodi I/4
(7.-8.2.)
Funktiot
Kalvot 2p, 6p
1. harjoitus: tekstitiedostot
12-14: B222; 14-16: CK107
Periodi I/5
(14.-15.2.)
Osoittimet
Kalvot 2p, 6p
2. harjoitus: funktiot
12-14: B222; 14-16: CK107
Periodi I/6
(21.-22.2.)
Tietueet ja joukot sekä linkitetty lista
Kalvot 2p, 6p
3. harjoitus: osoittimet
12-14: B222; 14-16: CK107
Periodi II/1
(14.-15.3)
Merkkijonot ja komentoriviparametrit
Kalvot 2p, 6p
4. harjoitus:tietueet ja joukot
12-14: C221; 14-16: C221
17.3. Sovi harjoitustyön aiheesi viimeistään pe 17.3.
Periodi II/2
(21.-22.3.)
Taulukot ja binääritiedostot
Kalvot 2p, 6p
5. harjoitus: merkkijonot ja komentoriviparametrit
12-14: C221; 14-16: B221
Periodi II/3
(28.-29.3.)
Modulaarinen ohjelmointi
Kalvot 2p, 6p
6. harjoitus: taulukot
12-14: C221; 14-16: B119
Periodi II/4
(5.4.)
--------- Harjoitustöiden ohjausta ja neuvontaa
keskiviikkona 12-16 salissa A319
Periodi II/5
(12.4.)
--------- Harjoitustöiden ohjausta ja neuvontaa
keskiviikkona 12-16 salissa A319
Periodi II/6
(19.4.)
--------- Harjoitustöiden ohjausta ja neuvontaa
keskiviikkona 12-16 salissa A319
24.4. Harjoitustyön palautus 24.4.
2.5. Kurssikoe 2.5. klo 16-19

Harjoitustyö

Kurssiin liittyy harjoitustyö, jonka tekeminen aloitetaan 1. periodin lopulla. Harjoitustyön on valmistuttava ennen kurssin kuulustelua, alustavasti 24.4. Harjoitustöiden aiheet on nyt julkaistu.

Tämän kurssin omat täsmälliset ohjeet ilmoitetaan myöhemmin. Nopeimmat harjoitustyön tekijät voivat käyttää viime kevään kurssin ohjeita. Arvostelun osalta noita viime kerran ohjeita ei kannata lukea. Arvostelu muuttuu, koska pisteytyskin on muuttunut.

Kurssikoe

Osallistumisoikeus kokeeseen on kaikilla harjoitustyön ennen koetta palauttaneilla.

Kokeeseen saa ottaa yhden A4-arkin kokoisen 'lunttilapun'.. Tästä on JAVA-kurssilla saatu hyviä kokemuksia, joten jatkamme käytäntöä myös tällä ohjelmointi-kurssilla. Lunttilapun käytön tarkoituksena on

Kokeessa edellytetään osattavaksi kielen perusrakenteiden lisäksi:

Näistä muodostetaan sitten kokeessa erilaisia yhdistelmiä eri tehtävissä.

Kurssikoe on alustavan suunnitelman mukaan ti 2.5. klo 16-19. Aika kannattaa varmistaa laitoksen koeaikataulusta. Siellä myös ilmoitetaan kokeen sali.

Jos tähän ajankohtaan osuu paljon päällekkäisiä kokeita, niin ota välittömästi yhteyttä kurssin vetäjiin. Voimme yrittää tehtä asialle jotain.

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ä.

Viope-verkkokurssin tehtävien tekemisestä saa 5 pistettä, samoin kurssin harjoitustehtävistä toiset 5 pistettä. Pisteitä saa tehdyistä tehtävistä seuraavasti:

  tehtyjä tehtäviä     pisteitä
    80%                  5
    60%                  4
    40%                  3
    20%                  2
   vähintään 1           1
 

Harjoitustyöstä saa maksimissaan 10 pistettä. Kurssi läpäisemiseen tarvitaan vähintään 3 pistettä harjoitustyöstä. Harjoitustyön pisteet jakautuvat myöhemmin keväällä ilmoitettavalla (sovittavalla) tavalla tehtävän laajuuden, ohjelmointityylin, dokumentoinnin, testikuvauksen ja ohjelman toimivuuden kesken.

Viope-harjoitusten pisteytys

Viope-verkkokurssin tehtävistä saa 1-5 pistettä, jos niistä on tehnyt edes yhden.

Kurssissa on 36 ohjelmointi ja 66 monivalintatehtävää. Puhdas yhteenlasku suosii liikaa pelkkiä monivalintatehtäviä tehneitä ja siksi pisteet lasketaan seuraavasti:

(a + b/2)/(36+66/2)

eli prosenttiosuutta laskettaessa ohjelmointitehtävien painoarvo on yksi ja monivalintatehtävien puolikas. Täydet 5 pistettä saa siis esimerkiksi tekemällä joko (kaikki ohjelmointitehtävät ja 39 monivalintatehtävää) tai (kaikki monivalintatehtävät ja 23 ohjelmointitehtävää)

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.

English version in English

The Spring 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 lecturers (Liisa or Tiina). We can negotiate about an individual way of taking the course.


Sivu luotu 3.1.2006, Liisa Marttinen
Muokattu 19.1.2006 Tiina Niklander