Keskustelussa sanottiin tällaisia:
Tsuriga kirjoitti:
Harjoitustehtävien puute uusia kieliä opetellassa kyllä vaivaa itseäkin, mietin joskus moisen kirjaston ehdottamista Putkaan.
Blaze kirjoitti:
Antti, hear hear! Mainio idea.
Mikroz kirjoitti:
Enemmän kuin mainio :) kannatan \o/
Alkup. keskustelu: https://www.ohjelmointiputka.net/keskustelu/
Tässähän olisi hyvä idea, johon moni putkalainen voisi osallistua. Keskustelua voinee jatkaa tässä mm. seuraavista aiheista:
Miten harjoitustehtävät kerätään ja ryhmitellään?
Tehdäänkö niistä kieliriippumattomia vai kielikohtaisia?
Julkaistaanko mallivastauksia eri kielillä tai pseudokoodilla?
Kuka organisoi homman ja miten?
Ehkäpä nykyistä opassysteemiä voi melko suoraan soveltaa asiaan. Jää vain jonkun ahkeran vastuulle tehdä hyviä oppaita (kuten aina)...
-Kielikohtaisia
-Kera malliratkaisujen (samalla kielellä, kommentoiden) / -ideoiden (pseudoa ja kirjallisia selityksiä)
-Syntaksi kielen yleisintä konventiota noudattaen
-Tehtävien laatijat kielen / alan pidempiaikaisia tuttavia
-Tehtäviin aina käytetty kielen versio
Minkälaista materiaalia on valmiina käytettävissä? Vieraasta kielestä voi aina kääntää, mutta materiaali ei saa olla copyrightattua tietenkään.
Tässä aluksi 99 Prolog-ongelmaa.
https://prof.ti.bfh.ch/hew1/informatik3/prolog/p-99/
Niitä voi toki Pythonillakin tehdä, kuten täällä on:
http://wiki.python.org/moin/ProblemSets/
Tunteeko joku muita hyviä kokoelmia? Erityisesti sellainen, jossa on käytännön ongelmia voisi olla hieno.
Jonkun tuollaisen voisi ottaa käännettäväksi ja tehdä hiljalleen mallivastauksia jollakin sopivalla kielellä. Ei Prologilla kuitenkaan...
Kopeekka kirjoitti:
Tunteeko joku muita hyviä kokoelmia? Erityisesti sellainen, jossa on käytännön ongelmia voisi olla hieno.
Putkapostit ovat sen tyyppisiä, että ainakaan minulle niistä ei ole juurikaan hyötyä uusia kieliä opetellessa. Aikaa kuluu niin paljon miettimiseen ja koodia tarvitsee yleensä niin vähän, että kielellä ei ole paljoa merkitystä.
Project Euler on aika suosittu ja esimerkkiratkaisuja löytyy monella eri kielellä, mutta senkään ongelmat eivät ole kovin käytännöllisiä.
Kannatetaan. Monilla muillakin opas-sivuilla on aina ollut tehtäviä.
funktio kirjoitti:
Project Euler on aika suosittu ja esimerkkiratkaisuja löytyy monella eri kielellä, mutta senkään ongelmat eivät ole kovin käytännöllisiä.
Koen kuitenkin oppineeni Rubya ja JavaScriptia melko hyvin parissa päivässä, kun tein juuri noita tehtäviä — jokaisen tehtävän aina uudestaan alusta asti ilman aiemman koodin käyttöä. Ei sekään siis huono vaihtoehto ole, tosin malliratkaisuja ei ole saatavilla, ei ainakaan ennen tehtävän ratkaisua, eli jos ei onnistu, ei myöskään voi luntata.
Kielikohtaiset tehtävät voisi ehkä liittää opassarjan liitteeksi. Toisaalta en kyllä tiedä, millaisia tehtävien pitäisi olla, jotta niistä olisi hyötyä; minusta tekemisen keksiminen itsekin on suhteellisen helppoa, kun tietää, millaista ominaisuutta pitäisi kokeilla. Vai onko tarkoitus tehdä tehtäviä, joista käyvät ilmi mahdolliset sudenkuopat ja tarvittavat kiertotiet?
Hyvien tehtävien julkaisuun ei ole estettä, enää tarvitaan niiden laatijat.
Tässä keskustelussa voi toivoa, millaisia tehtäviä haluaisi ratkoa, sekä voi myös antaa näytteitä mahdollisista tehtävistä.
Useimmat tehtävät varmaan soveltuvat kaikille ohjelmointikielille, vaikka niiden vaikeudessa voikin olla eroa kielestä riippuen.
Putkapostin tehtävät opettavat tosiaan enemmänkin ohjelmoinnissa tarvittavaa ajattelua kuin käytännön koodin kirjoitusta.
Putkaposti on todella loistava harjoittaa taitojaan. Itse olen niitä innostunut yrittämään ja yhden ole jopa saanut ratkaistuksi. Toisen olen melkein. Aloitin myös tekemään väripeli kilpailuun tekoälyä vaikka ei enää ole voimassakaan ja myös ohjelman joka peluuttaa ai:ta vuorotellen. Suosittelen kaikkia kokeilemaan minun tapaani olen todennut sen toimivaksi.
Ystävällisin terveisin
Kari Argillander
FooBat kirjoitti:
Kopeekka kirjoitti:
Tunteeko joku muita hyviä kokoelmia? Erityisesti sellainen, jossa on käytännön ongelmia voisi olla hieno.
Aikanaan tosiaan lähetin Antille omia ratkaisujani noihin. Käsitykseni oli, että ne joskus julkaistaisiin, ja joku voisi vaikka niihin tutustua.
No, olen nyt viisastunut :)
EDIT:
Metabolix kirjoitti:
Toisaalta en kyllä tiedä, millaisia tehtävien pitäisi olla, jotta niistä olisi hyötyä
Se on tosiaan pulma. Tiedän paljon hyviä tehtäviä erinäisistä kirjoista, mutta niitä ei saa varastaa.
Eipä minulla ole lisää ajatuksia. Palaan vaikka Eulerin pariin itse, jos sen tylsän pokeritehtävän vaikka viimeinkin jaksaisi tehdä :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.