Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Opi säännölliset lausekkeet!

Sivun loppuun

Antti Laaksonen [25.08.2007 20:13:11]

#

Olen tehnyt yliopiston tietokantaohjelmoinnin harjoitustyönä järjestelmää, jossa voi harjoitella säännöllisiä lausekkeita. Järjestelmään kuuluu eritasoisia tehtäviä: helpoimmat osaa ratkaista kuka tahansa säännöllisiin lausekkeisiin tutustunut, vaikeimmat lähestyvät tasoltaan uusinta putkapostitehtävää.

Järjestelmää voi tällä hetkellä käyttää osoitteessa:
http://db.cs.helsinki.fi/tomcat/ahslaaks/sl/index.html

Järjestelmä on viimeistelyä vaille valmis, ja sitä saa mielellään kokeilla. Palautetta voi lähettää tähän keskusteluun tai minulle sähköpostilla (antti.laaksonen@mbnet.fi). Myös ehdotuksia uusiksi tehtäviksi kannattaa lähettää.

jlaire [25.08.2007 22:04:09]

#

Ihan hauskoja tehtäviä. Sivuilla näyttää tosin olevan pari typoa, input-tageja ei ole suljettu:

<input type="hidden" name="tehtava"
 value="11"
<input type="hidden" name="otsikko"
 value="Viikonpäivät"

Antti Laaksonen [25.08.2007 22:33:08]

#

Millä sivulla tuollaista näkyy?

Tehtäväsivun lähdekoodissa pitäisi lukea näin:

<input type="hidden" name="tehtava"
 value="11"
><input type="hidden" name="otsikko"
 value="Viikonpäivät"
></form>

Jaska [25.08.2007 23:01:31]

#

Aika moni HTML-sivu sisältää virheitä. Esim. osoitteen http://validator.w3.org/check?verbose=1&uri­=http://www.ohjelmointiputka.net/keskustelu/aihe.php?id=15634 mukaan tällä sivulla on 229 virhettä.

Jaska [26.08.2007 11:17:44]

#

Hmm. Nyt niitä virheitä ei ole enää yhtään.

kayttaja-2791 [26.08.2007 13:06:53]

#

Hyvältähän tuo vaikuttaa. Tosin käytettävyydestä voisin vähän antaa sitä palautetta. Ensinnäkin mietityttää että miksi tuohon edes tarvitsee kirjautua? Okei, se voi olla osa harjoitusta.

Sitten itse harjoituksiin. Ensinnäkin kun harjoituksen ratkaisee, olisi hyvä jos olisi linkki suoraan seuraavaan harjoitukseen, tai ainakin pääsivulle. Lisäksi käyttäjä ei voi mitenkään tietää missä muodossa vastaus pitää antaa. [a-zA-Z]* vai käykö kenties /[a-z]*/i (nähtävästi vain ensimmäinen kelpaa).

No, eiköhän siinä tärkeimmät..

Antti Laaksonen [26.08.2007 13:54:57]

#

Kirjautuminen on tarpeen, koska ratkaistuista tehtävistä pidetään kirjaa, minkä pitäisi kannustaa harjoitteluun. Lisäksi järjestelmään voi kirjautua myös opettajana, jolloin voi seurata oppilaiden edistymistä.

Järjestelmässä saisi kieltämättä olla kunnon ohjeet, millaisia säännöllisiä lausekkeita pitää kirjoittaa. Säännölliset lausekkeet tarkistetaan Oraclen tietokannan keinoin, joten tuolta voi ensi hätään tutkia, mitä merkintöjä voi käyttää:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/ap_posix001.htm#i690819

jlaire [26.08.2007 13:56:05]

#

Kun klikkaan Firefoxilla "View Page Source" tehtäväsivulla, niin siitä puuttuvat nuo >-merkit. Mutta kun nyt kokeilin "View Generated Source" niin siinä on ihan oikein, eli ei siinä taidakaan olla mitään ongelmaa.

JTS kirjoitti:

Ensinnäkin kun harjoituksen ratkaisee, olisi hyvä jos olisi linkki suoraan seuraavaan harjoitukseen, tai ainakin pääsivulle.

Tätä ajattelin itsekin ehdottaa, välttäisi turhaa klikkailua. Muuten ei tule mitään erityistä mieleen, toimii hyvin ja tehtävätkin ovat hyviä.

Antti Laaksonen [26.08.2007 14:05:47]

#

Olipa siinä HTML:ssä sittenkin virhe, oma selaimeni vain näytti lisäävän auliisti puuttuvat kulmasulut lähdekoodiin. Mutta nyt korjasin virheen.

Tosiaankin linkkejä eri paikkoihin saisi olla runsaammin, tähänkin tulee vielä parannus.

Sami [27.08.2007 19:49:20]

#

Tulipahan testattua ja hyvältä vaikuttaa. Tässä kuitenkin muutamia parannus- ja korjausehdotuksia:
1) Suurimmalla osalla tehtävistä ei ole kovinkaan paljoa yhteistä käytännön käyttötilanteiden kanssa vaan enimmäkseen ne ovat vain hankalempia tapoja tehdä asiat. Säännöllisten lausekkeiden opettelun ja hyötykäytön oppimisen kannalta voisi olla hyödyllistä lisätä käytännönläheisempiä tehtäviä, kuten ota koko tekstinpätkä muuttujaan tai etsi html-muotoiselta sivulta sivun otsikko title-elementtien välistä.

2) Myös merkkijonon tai merkkijonojen korvausta toisella voisi pistää mukaan. Esim. korvaa tekstistä kaikki vokaalit e-kirjaimella tai vaihda kahden ensimmäisen sanan ensimmäisten kirjainten paikat keskenään.

3) Syötteelle ei ilmeisesti lähetys- tai tulostusvaiheessa tehdä mitään tarkistuksia, joka voi aiheuttaa osan lausekkeesta katoamisen tai muuttumisen (ainakin jos syöte sisältää merkin <, joka aloittaa html-elementin). Esim <img src="https://www.ohjelmointiputka.net/img/putka.jpg">.

4) Ainakin tehtävän 1 (kokonaisluvut) tehtävänantoon kannattaisi tarkentaa, että -0 ei ole hyväksyttävä luku (kesti hetki tajuta, että miksi tuo nyt käsitellään väärin... :))

Antti Laaksonen [27.08.2007 22:10:38]

#

Sami kirjoitti:

Suurimmalla osalla tehtävistä ei ole kovinkaan paljoa yhteistä käytännön käyttötilanteiden kanssa vaan enimmäkseen ne ovat vain hankalempia tapoja tehdä asiat.

Ihan hyvä näkökohta. Täytyy tunnustaa, että minua säännöllisissä lausekkeissa kiinnostavat käytännön sovelluksia enemmän niiden teoreettiset mahdollisuudet. Kun tehtävät sattuvat olemaan minun laatimiani, tämä näkyy myös tehtävissä. Toisaalta jos nämä tehtävät sujuvat, osaa varmaan laatia myös arkisempia säännöllisiä lausekkeita.

Sami kirjoitti:

Syötteelle ei ilmeisesti lähetys- tai tulostusvaiheessa tehdä mitään tarkistuksia, joka voi aiheuttaa osan lausekkeesta katoamisen tai muuttumisen - -

Tosiaan järjestelmä hyväksyy minkä tahansa merkkijonon säännölliseksi lausekkeeksi, ja ongelmia voi tulla siinä vaiheessa, kun säännöllinen lauseke näytetään myöhemmin HTML-sivulla. Tähän asiaan tulee kuitenkin korjaus.

Sami kirjoitti:

Ainakin tehtävän 1 (kokonaisluvut) tehtävänantoon kannattaisi tarkentaa, että -0 ei ole hyväksyttävä luku - -

- - ja tehtävänantoa voisi ehkä muutenkin selkeyttää, koska järjestelmän tilastoista paljastuu, että aika moni on joutunut taistelemaan tämän tehtävän kanssa, vaikka tehtävän pitäisi olla tasoltaan helppo.

ajv [28.08.2007 09:10:59]

#

Samin kanssa samoilla linjoilla, jäin kaipaamaan enemmän käytännönläheisyyttä. Käyttöliittymään myös voisi vähän panostaa, tosin se nyt ei tuossa sivustossa ehkä oleellisinta ole. Muuten kuitenkin loistava idea.

TsaTsaTsaa [31.08.2007 17:12:26]

#

Hämäävä otsikko, eihän tuolla mitään opi kun pitää jo valmiiksi osata :(


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta