Kurssikokeen arvosteluperusteet

Yleistä:

Arvostelussa pyrittiin olemaan reiluja sekä kokeneille että vasta-aloittaneille ohjelmoijille. Tehtäviä tarkistettiin periaattella ”Toimiiko ohjelma tehtävänannon mukaisesti?”. Koodin ulkoasulla ei siis tämän periaatteen puitteissa ollut merkitystä. Myöskään virheitä, jotka eivät merkittävästi muuttaneet ohjelman toimintaa, ei huomioitu. Kaikkia virhetapauksia on lähes mahdoton eritellä, mutta alla on kuitenkin nähtävillä arvosteluperusteet pääpiirteittäin sekä yleisimmät havaitut virheet. Tarkempia arvosteluperusteita voit tiedustella tehtävän tarkastajilta sähköpostitse.

  1. Tehtävä: Ville Tenhunen (ville.p.tenhunen@helsinki.fi)
  2. Tehtävä: Lauri Pulkkinen (lauri.pulkkinen@helsinki.fi)
  3. Tehtävä: Jarmo Isotalo (jarmo.isotalo@cs.helsinki.fi)

1. Tehtävä:

Tehtävässä jaettiin pisteitä 1p / käsite. Vastauksia verrattiin kurssimateriaalin tarjoamiin esityksiin vastaavista käsitteistä. Arvostelussa annettiin puuttellisista vastauksista 0-½ pistettä. Yhteispisteet pyöristettiin lopuksi normaalien pyöristyssääntöjen mukaan. Esimerkeillä havainnollistaminen luettiin eduksi, varsinkin osittain puutteellississa vastauksissa.

2. Tehtävä:

2a

2b

2c

3. Tehtävä:


Tehtävä 3 arvosteltiin siten, että a:n ja b:n 6 pistettä jakautuivat seuraavasti:

3a

3b

3. Yleisimmät virheet:

3A meni lähes kaikilla oikein ja siinä ei virheitä juuri esiintynyt. 3B:ssä puolestaan oli muutamia usein toistuneita virheitä:

  //Allaolevaa käytettiin luokan konstruktorina tai 'alustamassa' ArrayListiä
  public ArrayList<Henkilo>() {
  }
  
  //Ja lisäksi
  public String haeNumero(String nimi) {
    for (Henkilo h : Henkilot) {
        if (h.getNimi.contains(nimi)) {  // *1
            return h; //*2
        }else { //*3
            return "numero ei tiedossa";
    }
  }
  
 
  public String haeNumero(String nimi) {
    for (Henkilo h : Henkilot) {
        if (h.contains(nimi)) {  // *4
            return this.muistio.getNumero;
        }
     }
    return "numero ei tiedossa";
 }