Progetto collaborativo per aspiranti programmatori

Messaggioda apatriarca » 24/04/2014, 09:01

Sono ormai parecchi anni che frequento e modero forum di programmazione. Negli anni ho visto una miriade di esercizi dati nei vari corsi universitari. Molti di questi esercizi sono molto lontani dalla realtà del mondo del lavoro e in alcuni casi tendono ad insegnare cattive abitudini. Il principale problema è che viene data troppa attenzione all'implementazione e poca al problema da risolvere. Si insegna ad usare l'ereditarietà, ad esempio, chiedendo allo studente di creare una gerarchia ben definita. Ma non viene effettivamente spiegato quando è bene usare l'ereditarietà e quando altre soluzioni siano preferibili. Viene spesso fornito un metodo per risolvere un particolare problema senza offrire una panoramica delle alternative (spesso migliori da molti punti di vista). Si valutano cose soggettive come lo stile (che viene invece spesso insegnato come parametro oggettivo) ma vengono ignorati altri parametri ben più importanti in ambiente lavorativo. Non viene insegnato a cercare errori nel codice, ad usare il debugger, nonostante sia una delle cose più importanti quando si lavora. Quando si programma professionalmente si passa probabilmente lo stesso a fare il debugging che a scrivere effettivamente il codice. Viene raramente insegnato a lavorare in gruppo, ad usare strumenti come git o mercurial, a gestire progetti più grossi di un singolo file.

È difficile trovare dei singoli esercizi che spiegano tutte queste abilità. Vorrei quindi proporre di dare vita ad uno o più progetti di collaborazione all'interno del forum. L'obiettivo è principalmente quello di imparare a lavorare in un team e ad usare strumenti più avanzati, ma questo non significa che non si possa puntare a creare qualcosa di utile :D . Il mio ruolo sarebbe tendenzialmente quello di supervisore/assistente/insegnante. Sarei insomma qui per aiutare e dare suggerimenti/critiche.

Se siete interessati rispondete in questa discussione dicendo i linguaggi che conoscete e vorreste usare, insieme a qualche suggerimento su quale dovrà essere l'obiettivo del progetto. Potete ovviamente anche rispondere dando i vostri commenti o le vostre critiche o suggerimenti.
apatriarca
Moderatore
Moderatore
 
Messaggio: 3398 di 10436
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: Progetto collaborativo per aspiranti programmatori

Messaggioda Luc@s » 24/04/2014, 09:41

Ciao apatriarca, ottima idea che hai avuto.
Io e' da un po che penso di lanciarmi nello sviluppo Android e cercavo un incipit con magari altro persone.
Cosa ne pensi?

Ovviamente io lavorerei principalmente la sera e i we, essendo il mio lavoro non proprio ottimale per programmare di giorno (Service Engineer in produzione non permette molto dev durante le businness hours).

Cmq do la mia disponibilita' in ogni caso.
----
Luca Francesca <[email protected]>
System Engineer Lead @ Salesforce

Info: https://www.linkedin.com/in/lucafrancesca/
Luc@s
Senior Member
Senior Member
 
Messaggio: 1290 di 1955
Iscritto il: 01/05/2006, 17:21
Località: Irlanda

Re: Progetto collaborativo per aspiranti programmatori

Messaggioda anonymous_be1147 » 25/04/2014, 01:41

Pieno appoggio all'iniziativa anche da parte mia. :)
Magari si potrebbe organizzare qualcosa sul tipo del The Odin Project, ma sulla programmazione in generale e in italiano?
anonymous_be1147
Cannot live without
Cannot live without
 
Messaggio: 1164 di 3226
Iscritto il: 02/03/2006, 20:20

Re: Progetto collaborativo per aspiranti programmatori

Messaggioda Luc@s » 25/04/2014, 09:07

Sito interessante, come il suggerimento.
----
Luca Francesca <[email protected]>
System Engineer Lead @ Salesforce

Info: https://www.linkedin.com/in/lucafrancesca/
Luc@s
Senior Member
Senior Member
 
Messaggio: 1294 di 1955
Iscritto il: 01/05/2006, 17:21
Località: Irlanda

Re: Progetto collaborativo per aspiranti programmatori

Messaggioda claudio86 » 25/04/2014, 14:31

Anni fa c'era un progetto simile su un altro forum (non penso sia un problema citarlo qui, anche perché quel progetto ormai è bello che morto e sepolto).

È un'idea molto interessante, io parteciperei volentieri.

Sicuramente sarebbe meglio lavorare su un progetto non fine a se stesso, e non eccessivamente lungo, altrimenti la motivazione potrebbe calare dopo l'entusiasmo iniziale. Magari nell'ambito della matematica, ma non necessariamente.

Quanta autonomia vogliamo dare ai partecipanti? Gestirebbero il progetto per conto loro, e noi daremmo solo commenti? Noi gestiremmo un repository centrale, definendo i task necessari, accettando o rifiutando i vari merge request? Una via di mezzo?

Il linguaggio probabilmente è meglio sceglierlo dopo aver inquadrato il problema. Io starei comunque su linguaggi abbastanza moderni ed espressivi, ma se ne può discutere.

Altri argomenti che sarebbe utile trattare:
- unit test
- coding convention
- build tools (make, ant, rake, cabal, scons... a seconda del linguaggio)
"This theorem, as many others, is proven by writing zero in a creative way…"
claudio86
Senior Member
Senior Member
 
Messaggio: 379 di 1130
Iscritto il: 09/01/2011, 15:12

Re: Progetto collaborativo per aspiranti programmatori

Messaggioda Luc@s » 25/04/2014, 14:51

App Android per Matematicamente?
----
Luca Francesca <[email protected]>
System Engineer Lead @ Salesforce

Info: https://www.linkedin.com/in/lucafrancesca/
Luc@s
Senior Member
Senior Member
 
Messaggio: 1297 di 1955
Iscritto il: 01/05/2006, 17:21
Località: Irlanda

Re: Progetto collaborativo per aspiranti programmatori

Messaggioda minomic » 25/04/2014, 16:37

E' una bella idea, sia quella del progetto in generale che quella di Luc@s sull'app android.
Con gli impegni all'università non so se avrei il tempo di contribuire attivamente ma di sicuro seguirei volentieri le discussioni.

:smt039
Avatar utente
minomic
Cannot live without
Cannot live without
 
Messaggio: 2918 di 7860
Iscritto il: 22/01/2011, 18:32

Re: Progetto collaborativo per aspiranti programmatori

Messaggioda apatriarca » 25/04/2014, 16:49

A quanto pare finora l'idea ha attratto più esperti che principianti.. :-D Per quanto riguarda il linguaggio di programmazione da usare, ho dato libertà perché non penso abbia senso imporlo. Ma una volta scelto il progetto, ha ovviamente senso rimanere legati ad un particolare linguaggio. C++ e Java sono probabilmente i linguaggi più insegnati nei primi corsi di informatica e quindi quelli che penso siano più probabili come scelte. Per semplificare la creazione di documentazione per iniziare a lavorare al progetto, anche gli strumenti di sviluppo dovranno essere scelti e in qualche modo imposti.

Sono perfettamente d'accordo sulla necessità di scegliere un progetto non troppo lungo e non fine a se stesso. Ci sono cose che si possono imparare solo su progetti di grandi dimensioni, ma sarebbe probabilmente più semplice lavorare ad un progetto open source esistente a questo punto.

Una volta iniziato il progetto pensavo di creare un repository centrale su github o bitbucket e di gestire i merge "centralmente". La versione nel repository centrale sarà quella stabile e quindi ogni aggiunta dovrà prima essere stata valutata accuratamente. Ogni partecipante avrà poi un suo repository in cui ha piena libertà. Riguardo alla scelta delle task direi di dare invece abbastanza libertà (con un minimo di organizzazione per impedire che più persone lavorino alla stessa cosa).
apatriarca
Moderatore
Moderatore
 
Messaggio: 3402 di 10436
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: Progetto collaborativo per aspiranti programmatori

Messaggioda minomic » 25/04/2014, 16:55

My two cents on Java + Eclipse per lo sviluppo di un'app Android.
Altrimenti un'idea che mi viene ora (quindi non molto ponderata) è quella di dedicarci quasi "amatorialmente" alla crittografia: numeri primi, chiavi pubbliche e private (tipo RSA), cifrature varie, tentativi di crittanalisi, ecc.
Dai nomi sembrano probabilmente cose più complicate di quanto non siano in realtà (almeno inizialmente): dopotutto è solo tanta matematica! Però ripeto: è un'idea molto "buttata lì così"...
Avatar utente
minomic
Cannot live without
Cannot live without
 
Messaggio: 2919 di 7860
Iscritto il: 22/01/2011, 18:32

Re: Progetto collaborativo per aspiranti programmatori

Messaggioda apatriarca » 25/04/2014, 17:00

Sulla crittografia e sicurezza metterei una specie di veto. Per quanto possa essere interessante, non sono argomenti per principianti e una libreria crittografica scritta male fa potenzialmente più danni di non usare alcuna protezione. Credo che progetti meno "seri" come l'app Android siano in generale preferibili.
apatriarca
Moderatore
Moderatore
 
Messaggio: 3403 di 10436
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Prossimo

Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron