[POLL] Chi fa il corso di functional programming di coursera?

182 views
Skip to first unread message

gabriele renzi

unread,
Sep 24, 2012, 4:48:24 AM9/24/12
to sug...@googlegroups.com
eilà, come da subject, chi è che ha deciso di fare il corso tenuto da
odersky su coursera?

Io ho iniziato settimana scorsa e devo ammettere che uno degli
esercizietti del primo assigment è stato più tosto del previsto :)

--
twitter: @riffraff
blog (en, it): www.riffraff.info riffraff.blogsome.com
work: circleme.com

Giovanni

unread,
Sep 24, 2012, 5:41:34 AM9/24/12
to sug...@googlegroups.com
io lo sto seguendo

ho problemi sull'esercizio di bilanciamento parentesi



2012/9/24 gabriele renzi <rff...@gmail.com>
--
You received this message because you are subscribed to the Google Groups "sug-it" group.
To post to this group, send email to sug...@googlegroups.com.
To unsubscribe from this group, send email to sug-it+un...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/sug-it?hl=en.


Alberto Quario

unread,
Sep 24, 2012, 5:44:01 AM9/24/12
to sug...@googlegroups.com
Presente! Ho dovuto faticare un po' sul terzo.

Ciao
  --Alberto

2012/9/24 gabriele renzi <rff...@gmail.com>

daniele coccia

unread,
Sep 24, 2012, 5:57:52 AM9/24/12
to sug...@googlegroups.com
Ciao,

anche io lo sto seguendo.

0 problemi sul primo esercizio ma grossi problemi con il secondo e il terzo :(

Lorenzo Bolzani

unread,
Sep 24, 2012, 6:47:39 AM9/24/12
to sug...@googlegroups.com
Il giorno 24 settembre 2012 10:48, gabriele renzi <rff...@gmail.com> ha scritto:

Io ho iniziato settimana scorsa e devo ammettere che uno degli
esercizietti del primo assigment è stato più tosto del previsto :)


Il terzo con la lista non sortata mi ha fatto soffrire, l'ho fatto, ma oggi non saprei spiegare perche' funziona :)


Ma una FPPS Beer come la vedete? Ufficialmente un gruppo di studio sul corso, piu' o meno regolare, non ufficialmente un incontro sug semi-ufficiale: 3 parti corso scala, 1 parte birra, 1 parte tutto il resto. Aperto anche ai non iscritti ovviamente. La zona che posso proporre io e' Milano e dintorni.


Ciao

Lorenzo

Raoul Buzziol

unread,
Sep 24, 2012, 9:39:20 AM9/24/12
to sug...@googlegroups.com
Ciao,

anche io sto tribolando col 3° esercizio. Se riuscirò a finirlo
probabilmente anche io non saprò perché funziona. :-)
A volte con l'approccio TDD in CountChangeSuite finisco per procedere
per tentativi :-|

Raoul

Emiliano Anichini

unread,
Sep 24, 2012, 9:49:13 AM9/24/12
to sug...@googlegroups.com
Salve.

Il primo e il secondo li ho fatti in un paio d'ore ciascuno, ma il terzo mi fa penare. Su internet ho trovato cose sulla memoization ma sto battendo un'altra strada.
Con il primo test non ho problemi ma quando si entra nei test con migliaia di risultati.... 

Comunque il fatto che non ci sia un debug serio sullo scalaide, sega le gambe...

ciaociao


P.S.
Io sono di firenze e sarei disponibile per degli incontri ma non so quanti siano delle mie parti (purtroppo venire a Milano e' un casino ma ci potrei fare un pensierino)

Raoul Buzziol

unread,
Sep 24, 2012, 10:11:26 AM9/24/12
to sug...@googlegroups.com
Il 24 settembre 2012 15:49, Emiliano Anichini
<emiliano...@gmail.com> ha scritto:
> Salve.
>
> Il primo e il secondo li ho fatti in un paio d'ore ciascuno, ma il terzo mi
> fa penare. Su internet ho trovato cose sulla memoization ma sto battendo
> un'altra strada.
> Con il primo test non ho problemi ma quando si entra nei test con migliaia
> di risultati....
>
> Comunque il fatto che non ci sia un debug serio sullo scalaide, sega le
> gambe...

Però ha i suoi lati positivi. Ti costringe a essere in po' più test
oriented invece che debugger oriented. :-) ma questo è un argomento
non legato a scala ne alla programmazione funzionale.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/sug-it/-/LZ9r7LJ8rdUJ.

TheViki

unread,
Sep 24, 2012, 10:13:20 AM9/24/12
to sug...@googlegroups.com
Io sto seguendo il corso.

Ho fatto i primi due esercizi ieri sera. Non ho ancora affrontato il terzo. 
In realtà anch' io tendo ad operare in TDD, quindi ho i test in barra verde...ma non saprei spiegare bene perchè funziona...dovrei mettermi ad analizzare gli algoritmi che ho scritto. Ma perché farlo?

Vittorio

Ivano Pagano

unread,
Sep 24, 2012, 10:54:57 AM9/24/12
to sug...@googlegroups.com
Ciao a tutti,
Ivano da Roma

Il terzo esercizio mi ha fatto penare parecchio, pensavo che mi mancassero le necessarie conoscenze algoritmiche (non ho studiato informatica...) e gia' credevo che non avrei finito il corso...!
Dopo aver speso mezza mattinata per trovare soluzioni che non prevedessero il for, ho fatto altre cose per tutto il giorno, ma continuando a pensare a che cavolo di algoritmo servisse... alla fine sono arrivato ad una soluzione a notte fonda mentre mi preparavo ad andare a dormire, l'ho messa per iscritto e alla fine saranno state si e no 8 righe di codice... glom...

Per me Milano e' un po' fuori tiro per un incontro casuale...

A presto e in bocca al lupo a tutti per il corso!

Ivano

Emiliano Anichini

unread,
Sep 24, 2012, 10:55:55 AM9/24/12
to sug...@googlegroups.com
A me del corso in realta' non interessa molto (voglio dire il punteggio e il documento di fine corso), la cosa che veramente mi interessa e' sapere perche' funziona; anzi a dire il vero avrei il sospetto che sia proprio l'obiettivo del corso ;)

Per quel che riguarda il debug-oriented di solito facilita le cose quando si deve imparare un linguaggio (e, come in questo caso, la ricorsivita'), per il resto TDD e' la regola.

Ivano Pagano

unread,
Sep 24, 2012, 10:56:02 AM9/24/12
to sug...@googlegroups.com
Scusate ma non riesco a capire, come avete fatto a scrivere una soluzione senza capire come funziona?

Ivano

Emiliano Anichini

unread,
Sep 24, 2012, 11:45:43 AM9/24/12
to sug...@googlegroups.com
Beh, un modo puo' essere tradurre la grammatica di un programma gia' fatto da java a scala  :P
Poi ci sono i modi meno puliti...

Lorenzo Bolzani

unread,
Sep 24, 2012, 12:53:18 PM9/24/12
to sug...@googlegroups.com

Il giorno 24 settembre 2012 16:56, Ivano Pagano <ivano....@gmail.com> ha scritto:
Scusate ma non riesco a capire, come avete fatto a scrivere una soluzione senza capire come funziona?


Io l'ho scritta come mi sembrava giusta, algoritmo piccolo, semplice basandomi sul caso di esempio 4 con (1,2) e un foglio di carta.

Ho lanciato i test i passavano tutti tranne quello della lista non sortata. A quel punto in qualche modo ho intuito che mancasse un'altra ricorsione ma aggiungendola dove mi sembrava sensato non ha funzionato. Allora l'ho aggiunta "a caso" nell'unico altro posto possibile e...tada': barra verde.

Ho poi perso una buona mezz'ora tentando di seguire mentalmente tutto il flusso ma non ci sono riuscito e per me dovrebbe trovare un numero superiore di combinazioni. Pero' non sono riuscito ne' a trovare alternative per me piu' chiare ne' a romperlo. Quindi sono andato a dormire e la mattina dopo ho "committato".


Lorenzo

Mario Fusco

unread,
Sep 24, 2012, 12:58:14 PM9/24/12
to sug...@googlegroups.com
Anche io sono a Milano e disponibile per un incontro.
Per ora non ho avuto grossi problemi con i 3 esercizietti proposti.

Per quelli di Milano, ho in programma di fare al JUG un mini-corso su Scala suddiviso in 3 incontri. Il primo dovrebbe essere settimana prossima (non so ancora se Giovedì o Venerdì, appena fissiamo la data vi informo). E' un crash course, per cui per chi già conosce Scala non moltissimo interessante, però potrebbe comunque essere l'occasione per iniziare ad incontrarci e parlare di Scala. Per quanto mi riguarda è il mio (ulteriore) tentativo di far conoscere e diffondere un po' Scala fra gli Javisti.

Mario

P.S.: I commenti di alcuni di voi su come usate il TDD sono uno scherzo vero? Per favore ditemi che state scherzando.

Ivano Pagano

unread,
Sep 24, 2012, 1:00:06 PM9/24/12
to sug...@googlegroups.com
Io sto facendo il corso prevalentemente per fare pratica con Scala e soprattutto per ottenere una maggiore familiarita' e dimestichezza con il modo di pensare e strutturare i programmi in modo "funzionale".
Lo dico perche' la mia esperienza (come molti) viene da anni di Java e programmazione imperativa, quindi faccio fatica a pensare come comporre un programma intero secondo i principi "funzionali", come ad esempio sei costretto a fare in haskell.
Riguardo all'esercizio, ho trovato che la difficolta' maggiore era pensare una possibile soluzione ricorsiva al problema, che quindi era in linea con i miei obbiettivi per il corso, dunque non avevo proprio pensato a riproporre un programma scritto per un altro linguaggio.

Ciao

Ivano Pagano

unread,
Sep 24, 2012, 1:02:46 PM9/24/12
to sug...@googlegroups.com
Ok, grazie per il chiarimento, comincio a capire.


On Monday, September 24, 2012 6:53:18 PM UTC+2, lorenzo wrote:
Io l'ho scritta come mi sembrava giusta, algoritmo piccolo, semplice basandomi sul caso di esempio 4 con (1,2) e un foglio di carta.

Ho lanciato i test i passavano tutti tranne quello della lista non sortata. A quel punto in qualche modo ho intuito che mancasse un'altra ricorsione ma aggiungendola dove mi sembrava sensato non ha funzionato. Allora l'ho aggiunta "a caso" nell'unico altro posto possibile e...tada': barra verde.


Lorenzo

Ivano Pagano

unread,
Sep 24, 2012, 1:04:06 PM9/24/12
to sug...@googlegroups.com
Ma gli incontri del JUG sono sempre infrasettimanali?
Come gia' ci eravamo detti mi farebbe piacere venire qualche volta, ma durante la settimana e' piu' complicato.

Comunque teneteci aggiornati

Ciao, Ivano

Mario Fusco

unread,
Sep 24, 2012, 1:07:17 PM9/24/12
to sug...@googlegroups.com

Sì comincio a capre anche io e quello che ho capito non mi piace affatto.

Quindi per voi TDD vuol dire scrivere il test e poi permutare randomicamente gli statements della vostra soluzione di partenza finche il test non passa? Senza poi nemmeno preoccuparsi di capire perchè sta funzionando?

E se c'è qualche corner case che i vostri test non coprono? E non dite che li coprono tutti, perchè se non sapete come funziona le vostra soluzione non sapete nemmeno quali sono i possibili corner case.
 

--
You received this message because you are subscribed to the Google Groups "sug-it" group.
To view this discussion on the web visit https://groups.google.com/d/msg/sug-it/-/pXIPM--2uuoJ.

Mario Fusco

unread,
Sep 24, 2012, 1:09:25 PM9/24/12
to sug...@googlegroups.com
Io sto facendo il corso prevalentemente per fare pratica con Scala e soprattutto per ottenere una maggiore familiarita' e dimestichezza con il modo di pensare e strutturare i programmi in modo "funzionale".
Lo dico perche' la mia esperienza (come molti) viene da anni di Java e programmazione imperativa, quindi faccio fatica a pensare come comporre un programma intero secondo i principi "funzionali", come ad esempio sei costretto a fare in haskell.

D'accordo al 100%.
 
Riguardo all'esercizio, ho trovato che la difficolta' maggiore era pensare una possibile soluzione ricorsiva al problema, che quindi era in linea con i miei obbiettivi per il corso, dunque non avevo proprio pensato a riproporre un programma scritto per un altro linguaggio.

Questa non l'ho capita. Visto che ancora non stiamo usando higher-order functions non potevi implementare esattamente la stesso algoritmo ricorsivo anche in Java?

Lorenzo Bolzani

unread,
Sep 24, 2012, 1:49:06 PM9/24/12
to sug...@googlegroups.com

Il giorno 24 settembre 2012 19:07, Mario Fusco <mario...@gmail.com> ha scritto:

Quindi per voi TDD vuol dire scrivere il test e poi permutare randomicamente gli statements della vostra soluzione di partenza finche il test non passa? Senza poi nemmeno preoccuparsi di capire perchè sta funzionando?


Mi sa che stai estrapolando un po' troppo da una singola mail, se non da piu' mail di persone diverse.

Io non ho fatto TDD: l'ho scritto, ho messo un breakpoint e ho controllato che le cose fossero come mi aspettavo*. Dopo aver fatto i due esercizi precedenti mi sembrava abbastanza innocuo e infatti tutto tornava.

Ho poi lanciato i test precotti e, stupore, l'ultimo mi ha fregato. Ho conservato la mia soluzione proprio perche' mi incuriosiva sbogliarne la matassa piuttosto che mettere un sort sulla lista oppure implementarlo in un modo piu' semplice ma piu' noioso. Poi ieri non ho avuto tempo di indagare oltre.

Di sicuro allo scadere dei termini la posto qui.

Il "blind TDD", alla jester, a volte mi ha fatto scoprire cose che non mi aspettavo, quindi non e' sempre una brutta strategia quella di "esplorare" per andare/restare in barra verde e poi capire perche'. A patto ovviamente di capirlo e di avere una suite di test molto stretta.


Ciao

Lorenzo

* Da me il "new debugger" funziona bene, ma ogni tanto si incastra e devo riavviare eclipse

Mario Fusco

unread,
Sep 24, 2012, 1:59:24 PM9/24/12
to sug...@googlegroups.com
Il "blind TDD", alla jester, a volte mi ha fatto scoprire cose che non mi aspettavo, quindi non e' sempre una brutta strategia quella di "esplorare" per andare/restare in barra verde e poi capire perche'. A patto ovviamente di capirlo e di avere una suite di test molto stretta.

Forse hai ragione, avendo letto le mail tutte insieme ne ho fatto mentalmente il collage.

Ad ogni modo non sono d'accordo con quanto dici. Non riesco ad immaginare NESSUN caso in cui scrivere (spostare/cancellare/modificare) una riga di codice senza avere la totale consapevolezza del perchè lo si sta facendo ma solo nella speranza di veder apparire la tanto sospirata barra verde potrebbe essere una buona idea.

Lorenzo Bolzani

unread,
Sep 24, 2012, 3:21:42 PM9/24/12
to sug...@googlegroups.com

Il giorno 24 settembre 2012 19:59, Mario Fusco <mario...@gmail.com> ha scritto:

Ad ogni modo non sono d'accordo con quanto dici. Non riesco ad immaginare NESSUN caso in cui scrivere (spostare/cancellare/modificare) una riga di codice senza avere la totale consapevolezza del perchè lo si sta facendo ma solo nella speranza di veder apparire la tanto sospirata barra verde potrebbe essere una buona idea.


Dopo la mezzanotte, a un passo dalla meta a me appare spesso come un'_ottima_ idea :)

Piu' seriamente, se si hanno le idee confuse puo' essere una buona strategia per sbloccarsi. Aggiungo una chiamata "a caso" e vedo cosa succede, chiamiamolo brainstorming o landscape sampling per farlo sembrare una cosa quasi seria. Se anche non ottengo la barra verde o non mi avvicino alla meta mi costringo comunque a valutare un'alternativa o anche solo escludere definitivamente quell'opzione.
E quando si ottiene una barra verde senza capirne immediatamente il motivo la cosa e' ancora piu' interessante.

Non voglio difendere a oltranza questa "tecnica", ma ho in mente un caso, un parserino di spool di stampa, scritto TDD, dove a posteriori ho iniziato a commentare righe, invertire if, ecc. scoprendo diverse cose che non mi aspettavo, sia sul codice che sui test. Lo si potrebbe certo attributire al fatto che il mio codice fosse scritto male, ma sarebbe poco cortese :)

In fondo l'idea di aver realmente ben compreso il nostro codice e' spesso solo una nostra convinzione.


Ciao

Lorenzo

Mario Fusco

unread,
Sep 24, 2012, 4:12:58 PM9/24/12
to sug...@googlegroups.com
Preferirei non continuare questa discussione, ma ti consiglio di rileggere quello che hai scritto: fa sembrare la programmazione una specie di caccia al tesoro.

2012/9/24 Lorenzo Bolzani <l.bo...@gmail.com>

--
You received this message because you are subscribed to the Google Groups "sug-it" group.

Lorenzo Bolzani

unread,
Sep 24, 2012, 5:24:34 PM9/24/12
to sug...@googlegroups.com

Il giorno 24 settembre 2012 22:12, Mario Fusco <mario...@gmail.com> ha scritto:
Preferirei non continuare questa discussione, ma ti consiglio di rileggere quello che hai scritto: fa sembrare la programmazione una specie di caccia al tesoro.


Come preferisci.

Ciao

Lorenzo

Message has been deleted

Emiliano Anichini

unread,
Sep 25, 2012, 3:59:34 AM9/25/12
to sug...@googlegroups.com
Si, vero, alcune volte lo faccio anche io ma quando sono in uno stato preciso: DISPERAZIONE
Alcune volte non capisci proprio perche' non funziona e allora, non avendo piu' banane, metti chiamate "a caso" o meglio, sposti pezzetti di codice. Ovviamente non e' una cosa seria e io non arrivo quasi mai ad avere la barra verde, pero' almeno "ti sfoghi" :)

Su questo: "In fondo l'idea di aver realmente ben compreso il nostro codice e' spesso solo una nostra convinzione." invece, non sono d'accordo,
Se ti riferisci al fatto che non sapresti spiegarlo a parole allora posso anche concordare, ma alla fine scrivi quello che scrivi non perche' te lo detta lo spirito santo ma perche' dietro c'e' un ragionamento logico (che ogni volta che devi riaffrontare comporta molta fatica), se cosi' non e', beh, o sei fortunato o hai la parte del cervello che lavora in background particolarmente sviluppata  :)

ciao

On Monday, September 24, 2012 6:53:18 PM UTC+2, lorenzo wrote:

Lorenzo Bolzani

unread,
Sep 25, 2012, 5:15:51 AM9/25/12
to sug...@googlegroups.com
Il giorno 25 settembre 2012 09:58, Emiliano Anichini <emiliano...@gmail.com> ha scritto:
Su questo: "In fondo l'idea di aver realmente ben compreso il nostro codice e' spesso solo una nostra convinzione." invece, non sono d'accordo,
Se ti riferisci al fatto che non sapresti spiegarlo a parole allora posso anche concordare, ma alla fine scrivi quello che scrivi non perche' te lo detta lo spirito santo ma perche' dietro c'e' un ragionamento logico (che ogni volta che devi riaffrontare comporta molta fatica), se cosi' non e', beh, o sei fortunato o hai la parte del cervello che lavora in background particolarmente sviluppata  :)


Chiarisco meglio cosa intendo: anche quando siamo _convinti_ al 100% che il nostro codice sia corretto e siamo anche in grado di spiegarlo facilmente a parole non abbiamo la _certezza_ che il nostro codice, o anche solo il nostro ragionamento, sia relamente corretto.
Possiamo essere certi che lo sia, ma non possiamo essere certi che la nostra certezza non sia un errore :)
Se cosi' non fosse i bug sarebbero estremamente rari.

In altre parole, estremizzando, una barra verde non e' piu' verde se l'ho raggiunta attraverso un procedimento "presunto razionale" piuttosto che tramite uno "pseudo casuale". Dovrebbero essere trattate entrambe con la stessa cautela.


Ciao

Lorenzo





Mario Fusco

unread,
Sep 25, 2012, 5:17:22 AM9/25/12
to sug...@googlegroups.com
Preferirei non continuare questa discussione, ma ti consiglio di rileggere quello che hai scritto: fa sembrare la programmazione una specie di caccia al tesoro.


Come preferisci.

Ciao

Premetto che non voglio fare gare, ma se è possibile dimostrarti che fermarsi un attimo a ragionare invece di provare roba a caso aiuta molto di più e soprattutto produce un risultato finale di gran lunga migliore.

Mi sembra di aver capito che hai perso più tempo sul terzo problema. Ho anche letto da qualcuno in una precedente email (non ricordo se scritto da te o altri) che occorre ordinare la lista delle monete prima di usarla, cosa in realtà totalmente non necessaria.

Facciamo così, visto che hai già postato la tua soluzione, io ti mando privatamente la mia e tu mi mandi la tua e poi ci giochiamo una birra a TUO insidacabile giudizio su quale sia la migliore, la più comprensibile e la più pulita.

Mario

Mario Fusco

unread,
Sep 25, 2012, 5:25:25 AM9/25/12
to sug...@googlegroups.com
In altre parole, estremizzando, una barra verde non e' piu' verde se l'ho raggiunta attraverso un procedimento "presunto razionale" piuttosto che tramite uno "pseudo casuale". Dovrebbero essere trattate entrambe con la stessa cautela.

Continuo a non essere d'accordo, almeno per problemi che richiedono 3 righe di codice come quelli proposti negli esercizi (se li hai risolti con più di 3 righe c'è qualcosa che non va). Sono sicuro al di là di ogni ragionevole dubbio che le mie soluzioni sono corrette proprio perchè prima di iniziare a scrievere codice ho pensato a come volevo risolvere il problema e quindi ho la piena comprensione del perchè funziona.

Raoul Buzziol

unread,
Sep 25, 2012, 6:27:10 AM9/25/12
to sug...@googlegroups.com
Il fatto è che se quelle 3 righe di codice (come nel mio caso
dell'ultimo esercizio) non escono si entra in modalità DISPERAZIONE e
inizio a fare anche io come Emiliano... e generalmente vengo castigato
perché non vado da nessuna parte.

In questo caso (almeno per me) i "problemi" maggiori sono dovuti al
salto di paradigma, da imperativo a funzionale. Bisogna imparare a
pensare in maniera diversa dopo anni di foreach.

>
> --
> You received this message because you are subscribed to the Google Groups
> "sug-it" group.

Mario Fusco

unread,
Sep 25, 2012, 6:39:45 AM9/25/12
to sug...@googlegroups.com
Il fatto è che se quelle 3 righe di codice (come nel mio caso
dell'ultimo esercizio) non escono si entra in modalità DISPERAZIONE e
inizio a fare anche io come Emiliano... e generalmente vengo castigato
perché non vado da nessuna parte.

Come hai detto tu, in "modalità disperazione" non si va da nessuna parte.
Allontanarsi dal pc e provare a ragionare con un pezzo di carta e una penna magari aiuta di più.
 
In questo caso (almeno per me) i "problemi" maggiori sono dovuti al
salto di paradigma, da imperativo a funzionale. Bisogna imparare a
pensare in maniera diversa dopo anni di foreach.

Probabile, però ti faccio notare che i tre problemi sfruttano semplicemente la ricorsione per cui non c'è niente che ti vieta di risolverli utilizzando lo stesso algoritmo (magari solo in maniera un po' più verbosa) anche in Java. Magari fai la prova a riscriverli in Java e vedrai che forse avrai bisogno di 5 righe di codice invece di 3, ma niente di più.

Emiliano Anichini

unread,
Sep 25, 2012, 7:07:31 AM9/25/12
to sug...@googlegroups.com

Continuo a non essere d'accordo, almeno per problemi che richiedono 3 righe di codice come quelli proposti negli esercizi (se li hai risolti con più di 3 righe c'è qualcosa che non va)

...Hem. Io forse direi che "se li hai risolti con piu di tre righe di codice il corso che stiamo facendo fa al caso tuo", suona meglio solo a me?  Giusto per non demoralizzarmi  :(
Comunque a me interessa imparare, mi sforzo... e dove arrivo arrivo.
Per quel che riguarda postare le soluzioni io chiederei il permesso al docente perche' non e' detto che, qualora venga riproposto il corso, non abbia gli stessi esercizi; sicuramente una cosa e' fattibile, usare gli esercizi in un meeting (magari senza voti e premi :P )

ciaociao

Mario Fusco

unread,
Sep 25, 2012, 7:23:49 AM9/25/12
to sug...@googlegroups.com
...Hem. Io forse direi che "se li hai risolti con piu di tre righe di codice il corso che stiamo facendo fa al caso tuo", suona meglio solo a me?  Giusto per non demoralizzarmi  :(
 
Ho paura che non sia così. Nel caso di quei 3 problemini penso davvero che se li hai risolti con più di 3 righe ciascuno hai sbagliato qualcosa e ti consiglio di rivederli.

Comunque a me interessa imparare, mi sforzo... e dove arrivo arrivo.

D'accordo al 100%. Aggiungere e spostare righe di codice senza sapere perchè ti sembra il modo giusto di imparare?
 
Per quel che riguarda postare le soluzioni io chiederei il permesso al docente perche' non e' detto che, qualora venga riproposto il corso, non abbia gli stessi esercizi; sicuramente una cosa e' fattibile, usare gli esercizi in un meeting (magari senza voti e premi :P )

Infatti ho scritto a Lorenzo "ti mando privatamente", ma non per voti, premi o arroganza. Solo perchè sono quasi sicuro che il suo modo di procedere non l'ha condotto alla "giusta" soluzione.

Emiliano Anichini

unread,
Sep 25, 2012, 8:05:10 AM9/25/12
to sug...@googlegroups.com

On Tuesday, September 25, 2012 1:23:50 PM UTC+2, Mario Fusco wrote:
...Hem. Io forse direi che "se li hai risolti con piu di tre righe di codice il corso che stiamo facendo fa al caso tuo", suona meglio solo a me?  Giusto per non demoralizzarmi  :(
 
Ho paura che non sia così. Nel caso di quei 3 problemini penso davvero che se li hai risolti con più di 3 righe ciascuno hai sbagliato qualcosa e ti consiglio di rivederli.


Vabbe'. Probabilmente ho sbagliato il test del conteggio delle righe; comunque hai uno strano modo di "evangelizzare" il linguaggio, e se un programmatore mediocre (quale io sono) cerca di seguire un corso su un linguaggio nuovo cercando di capire un nuovo paradigma, beh, non fa male a nessuno (se non a se stesso :P )
Grazie del consiglio di rivedere i miei esercizi, mi e' molto utile.
 

Comunque a me interessa imparare, mi sforzo... e dove arrivo arrivo.

D'accordo al 100%. Aggiungere e spostare righe di codice senza sapere perchè ti sembra il modo giusto di imparare?

Mi spiace ma dovresti rileggere cio' che ho scritto (se ti riferivi al mio post), vedrai che la domanda retorica ti parra' inopportuna oltre che un po' "scomposta"
 

Per quel che riguarda postare le soluzioni io chiederei il permesso al docente perche' non e' detto che, qualora venga riproposto il corso, non abbia gli stessi esercizi; sicuramente una cosa e' fattibile, usare gli esercizi in un meeting (magari senza voti e premi :P )

Infatti ho scritto a Lorenzo "ti mando privatamente", ma non per voti, premi o arroganza. Solo perchè sono quasi sicuro che il suo modo di procedere non l'ha condotto alla "giusta" soluzione.

Mi riferivo a Lorenzo.


ciao

Lorenzo Bolzani

unread,
Sep 25, 2012, 8:39:44 AM9/25/12
to sug...@googlegroups.com
Il giorno 25 settembre 2012 11:17, Mario Fusco <mario...@gmail.com> ha scritto:
 
Premetto che non voglio fare gare, ma se è possibile dimostrarti che fermarsi un attimo a ragionare invece di provare roba a caso aiuta molto di più e soprattutto produce un risultato finale di gran lunga migliore.

Penso che la questione sia diventata un po' piu' grande di quello che e'. Tra tre giorni, alla scadenza definitiva, posto il codice e possiamo vederlo qui.


Emiliano, gli esempi presi fino ad ora mi sembrano quelli di SICP, sicuramente l'esercizio delle monete. Quindi se uno volesse dare un'occhio alla soluzione "canonica" con relativa di spiegazione dovrebbe trovarla li', visto che mi sembra di capire che il corso non fornisca la soluzione agli esercizi.
Quindi immagino li si possa usare senza problemi particolari.


Ciao

Lorenzo


Mario Fusco

unread,
Sep 25, 2012, 8:41:32 AM9/25/12
to sug...@googlegroups.com
Vabbe'. Probabilmente ho sbagliato il test del conteggio delle righe; comunque hai uno strano modo di "evangelizzare" il linguaggio, e se un programmatore mediocre (quale io sono) cerca di seguire un corso su un linguaggio nuovo cercando di capire un nuovo paradigma, beh, non fa male a nessuno (se non a se stesso :P )

Non ho mai detto di voler evangelizzare qualcosa (ne sono nella posizione per farlo).
 
Comunque a me interessa imparare, mi sforzo... e dove arrivo arrivo.

D'accordo al 100%. Aggiungere e spostare righe di codice senza sapere perchè ti sembra il modo giusto di imparare?

Mi spiace ma dovresti rileggere cio' che ho scritto (se ti riferivi al mio post), vedrai che la domanda retorica ti parra' inopportuna oltre che un po' "scomposta"

Infatti anche io mi riferivo a quanto scritto da Lorenzo.

Dale Wijnand

unread,
Sep 25, 2012, 8:44:04 AM9/25/12
to sug...@googlegroups.com
Attenzione, la scadenza "definitiva" (hard due date), e' stata spostata a
martedi' 2 ottobre.

Dale

2012/9/25 Lorenzo Bolzani <l.bo...@gmail.com>

Mario Fusco

unread,
Sep 25, 2012, 8:46:08 AM9/25/12
to sug...@googlegroups.com
Premetto che non voglio fare gare, ma se è possibile dimostrarti che fermarsi un attimo a ragionare invece di provare roba a caso aiuta molto di più e soprattutto produce un risultato finale di gran lunga migliore.

Penso che la questione sia diventata un po' piu' grande di quello che e'. Tra tre giorni, alla scadenza definitiva, posto il codice e possiamo vederlo qui.

Hai ragione, mi sa che la discussione è sfuggita di mano. Forse abbiamo solo 2 modi diversi di approcciare i problemi, ma sono ancora dell'idea che in questi casi allontanarsi per qualche minuto dal pc e provare a ragionare con carta e penna sia l'approccio migliore.

mfirry

unread,
Sep 25, 2012, 8:47:31 AM9/25/12
to sug...@googlegroups.com
(mi permetto di rispondere in maniera più letterale all'oggetto della mail)

Sì, anche io sto seguendo il corso. la prima settimana ho faticato non poco soprattutto per gli esercizi 2 e 3. Un po' me l'aspettavo.

Vedremo come va con le altre lezioni.

Se rispondiamo usando i nomi/nickname che di solito usiamo in questo gruppo, magari si tiene meglio traccia di chi sta facendo il corso.

Dale Wijnand

unread,
Sep 25, 2012, 8:48:43 AM9/25/12
to sug...@googlegroups.com
Confermo, ma per me con l'esercizio. Ho risolto piu' in testa in un ora e
mezza di palestra che _non_ sono riuscito a capire in 4 ore sulla scrivania
davanti a REPL e IDE..

2012/9/25 Mario Fusco <mario...@gmail.com>

Premetto che non voglio fare gare, ma se è possibile dimostrarti che fermarsi un attimo a ragionare invece di provare roba a caso aiuta molto di più e soprattutto produce un risultato finale di gran lunga migliore.

Penso che la questione sia diventata un po' piu' grande di quello che e'. Tra tre giorni, alla scadenza definitiva, posto il codice e possiamo vederlo qui.

Hai ragione, mi sa che la discussione è sfuggita di mano. Forse abbiamo solo 2 modi diversi di approcciare i problemi, ma sono ancora dell'idea che in questi casi allontanarsi per qualche minuto dal pc e provare a ragionare con carta e penna sia l'approccio migliore.

--

Emiliano Anichini

unread,
Sep 25, 2012, 8:52:30 AM9/25/12
to sug...@googlegroups.com
Vabbe'. Probabilmente ho sbagliato il test del conteggio delle righe; comunque hai uno strano modo di "evangelizzare" il linguaggio, e se un programmatore mediocre (quale io sono) cerca di seguire un corso su un linguaggio nuovo cercando di capire un nuovo paradigma, beh, non fa male a nessuno (se non a se stesso :P )

Non ho mai detto di voler evangelizzare qualcosa (ne sono nella posizione per farlo).

 
Ah, allora ho male interpretato la frase: "Per quanto mi riguarda è il mio (ulteriore) tentativo di far conoscere e diffondere un po' Scala fra gli Javisti." del tuo primo post.


Grazie Lorenzo del link (che conoscevo), ma mi diverto (sisi mi diverto) a spaccarmici la testa da solo e poi veramente, di finirlo in tempo non ho proprio alcun interesse.

Comunque se c'e' una cosa che proprio detesto e': "Non parliamone senno' mi incazzo". Il Forum serve soprattutto a questo e piu' mi si dice di star zitto (cose che non e' avvenuta qui eh) e piu' che mi va di dire la mia.
Quindi nessuna questione e' troppo grande per non essere discussa.

Mario Fusco

unread,
Sep 25, 2012, 8:54:07 AM9/25/12
to sug...@googlegroups.com
Confermo, ma per me con l'esercizio. Ho risolto piu' in testa in un ora e
mezza di palestra che _non_ sono riuscito a capire in 4 ore sulla scrivania
davanti a REPL e IDE..

Più o meno quello che è successo a me. L'altra sera non avevo ben chiaro come risolvere il terzo problema, ma ho solo provato a ragionarci su senza scrivere niente. La mattina dopo mi son svegliato ed avevo la soluzione. Poi per tradurla in codice ci son voluti non più di 10 minuti ed ha funzionato al primo colpo :)

Mario Fusco

unread,
Sep 25, 2012, 9:01:46 AM9/25/12
to sug...@googlegroups.com
Ah, allora ho male interpretato la frase: "Per quanto mi riguarda è il mio (ulteriore) tentativo di far conoscere e diffondere un po' Scala fra gli Javisti." del tuo primo post.

No non hai intrepretato male. E' che ho lavorato in Scala per l'anno scorso quando ero a Berlino ed ora che son tornato a Milano e lavoro in Java mi manca un po'.
Non direi che la parola giusta sia "evangelizzare" (anche perchè proprio non mi piace). E' solo che mi farebbe piacere se Scala iniziasse a diffondersi in ambito lavorativo e non solo dal punto di vista amatoriale anche in Italia.
 
Comunque se c'e' una cosa che proprio detesto e': "Non parliamone senno' mi incazzo". Il Forum serve soprattutto a questo e piu' mi si dice di star zitto (cose che non e' avvenuta qui eh) e piu' che mi va di dire la mia.
Quindi nessuna questione e' troppo grande per non essere discussa.

Meglio così, sono d'accordo. Allora ho fatto bene a sollevare i miei "dubbi" sull'uso del TDD espresso in qualcuna delle mail precedenti ;)

Giovanni

unread,
Sep 25, 2012, 8:14:33 PM9/25/12
to sug...@googlegroups.com
Io sto seguendo il corso e ho trovato molto difficili gli esercizi 2 e 3 della prima settimana.

Per quanto riguarda la diffusione di Scala, sto cercando di introdurlo dove lavoro in Cina. Sono fortunato perche' mi hanno messo a capo di un team, dove posso decidere io le tecnologie da usare per lo sviluppo software. La mia decisione e' caduta su Scala/Akka/Play in ambiente GNU/Linux.

Vi terro' aggiornati sugli sviluppi.



2012/9/25 Mario Fusco <mario...@gmail.com>

--
You received this message because you are subscribed to the Google Groups "sug-it" group.

Ivano Pagano

unread,
Sep 27, 2012, 3:11:36 AM9/27/12
to sug...@googlegroups.com
Forse mi sono espresso male.
Essendo il mio obiettivo fare pratica con un approccio "puramente funzionale" e mettendo a frutto quanto presentato nel corso, mi sono concentrato con quello che era disponibile dalle lezioni, cioe' if/else, ricorsione, e un bel po' di olio per ungere i miei ingranaggi cerebrali.
Quindi intendevo dire che non avevo pensato minimamente di cercare una soluzione in un altro linguaggio per poi fare una trasposizione in scala... =D


p.s. considerando che ho una discreta dimestichezza con il linguaggio (scala), credo proprio che non avrei mai cercato l'algoritmo in Java... sarebbe stato semplicemente piu' prolisso e appesantito dalla sintassi.
 
Ciao
Ivano

 
Riguardo all'esercizio, ho trovato che la difficolta' maggiore era pensare una possibile soluzione ricorsiva al problema, che quindi era in linea con i miei obbiettivi per il corso, dunque non avevo proprio pensato a riproporre un programma scritto per un altro linguaggio.

Questa non l'ho capita. Visto che ancora non stiamo usando higher-order functions non potevi implementare esattamente la stesso algoritmo ricorsivo anche in Java?

TheViki

unread,
Sep 27, 2012, 5:36:39 PM9/27/12
to sug...@googlegroups.com
Io paradossalmente ho trovato meno difficoltà sul terzo (il mio passato di liceale barman mi avrà aiutato con i resti)  che sul secondo.

Per ora tengo i 10.0...ti sto alle calcagna!

Vittorio 

On Monday, September 24, 2012 11:44:22 AM UTC+2, Alberto Quario wrote:
Presente! Ho dovuto faticare un po' sul terzo.

Ciao
  --Alberto

2012/9/24 gabriele renzi <rff...@gmail.com>
eilà, come da subject, chi è che ha deciso di fare il corso tenuto da
odersky su coursera?

Io ho iniziato settimana scorsa e devo ammettere che uno degli
esercizietti del primo assigment è stato più tosto del previsto :)

--
twitter: @riffraff
blog (en, it): www.riffraff.info riffraff.blogsome.com
work: circleme.com
Reply all
Reply to author
Forward
0 new messages