Come utilizzo un progetto open source come strumento educativo?

1

Al fine di fornire una formazione più completa per gli studenti di informatica della mia vecchia università, sto cercando di sviluppare un gruppo open source a cui possono contribuire.

Cosa dovrei cercare nelle idee di progetto in modo che forniscano il massimo valore educativo per gli studenti che non hanno molta esperienza in progetti reali? Cosa dovrei evitare quando decido cosa fare?

    
posta Leonardo 08.07.2011 - 02:17
fonte

2 risposte

2

Forse parlare con un vecchio professore e vedere se hanno un progetto che potrebbe essere open source che potrebbe diventare un progetto di comunità. Da quello che posso dire, la maggior parte degli sviluppatori junior ha bisogno di sapere come mantenere il codice degli altri. Per quanto riguarda la pratica con i concetti di informatica? Forse implementando un compilatore o un interprete per un linguaggio di programmazione? Ciò coprirebbe molto terreno per il calcolo formale.

    
risposta data 08.07.2011 - 03:46
fonte
2

IMO le cose che sono più difficili da imparare per gli studenti di informatica durante la loro formazione riguardano direttamente il processo di sviluppo in sé, specialmente cose come lo sviluppo del team e il lavoro con i clienti. Il mio suggerimento alla luce di ciò è trovare progetti reali su cui possano lavorare. Con questo intendo che dovresti cercare un "cliente" (potrebbe essere un amico, una famiglia, un gruppo nel campus, l'università stessa, le imprese locali, ecc.) Che hanno bisogno di un software. Per me le migliori esperienze di apprendimento sono sempre state quelle reali.

Gestione dei clienti
Una parte cruciale dei progetti sarebbe quella di far comunicare effettivamente gli studenti con il "cliente" per assicurarsi che il processo di sviluppo sia diretto nella direzione di cui hanno bisogno. Ciò aiuterebbe gli studenti a imparare a comunicare con i clienti. Il mio primo lavoro di sviluppo web è stato con una piccola azienda in cui occasionalmente ho dovuto imparare questo processo di comunicazione. Ho scoperto che, dopo aver lavorato direttamente con il cliente in queste occasioni, la mia capacità di sviluppare con le esigenze del cliente sempre in mente migliorava notevolmente anche quando non ero in comunicazione diretta con loro in seguito. Inoltre a volte è difficile comunicare con precisione quando una persona è altamente tecnica e l'altra no. Questa è un'abilità importante da avere ed è spesso qualcosa che può essere ottenuto solo in situazioni di vita reale.

Imparare a sviluppare con un team
Questa è un'abilità che può essere appresa solo dall'esperienza. I programmatori avranno quasi sempre bisogno di adattare i loro normali modelli di sviluppo quando lavorano con altri sullo stesso progetto. Avranno bisogno di imparare come comunicare con gli altri membri della loro squadra e coordinare i loro sforzi. Consiglio vivamente di utilizzare una sorta di sistema di controllo della versione in questo processo.

Ci sono molti altri aspetti del processo che potrebbero essere esplorati nel modo in cui stai guardando, ma questi sarebbero i più importanti ai miei occhi. Sono sicuro che stavi pensando più alle linee tecniche, ma la realtà è che la maggior parte dei programmatori, se sono anche leggermente bravi in quello che fanno, possono insegnare loro le cose più tecniche di cui hanno bisogno. Mi concentrerei su cose che non sono facilmente autodidatte.

    
risposta data 08.07.2011 - 19:38
fonte

Leggi altre domande sui tag