Inviato: 22 Gen 2009 16:56 Oggetto: Programmiamo a scuola
Nel Liceo PNI e negli istituti tecnici e professionali viene insegnata la programmazione.Il linguaggio è sempre lo stesso:Pascal.
Non voglio criticare nessuno ma imho nel 2009 non è il linguaggio adatto.
Fu creato nel 1964 oramai sono passati troppi anni.
Nella classifca TIOBE il pascal è 15 un po' indietro non vi pare?
Didatticamente non è confrontabile con C,C++,OBJ-C:infatti quasti ultimi sono linguaggi troppo complessi per un neofita.
Secondo è ora che le scuole si modernizzino e inizino ad usare linguaggi moderni come il python (o java,c#,ruby).Voi cosa ne pensate?
Per carità, teniamo comunque presente che lo scopo del PNI (il nome è un po' ingannevole in effetti) è fornire una solida preparazione in Matematica e Fisica, l' Informatica rimane (e "deve rimanere") un aspetto secondario...
L'ultima modifica di whitesquall il 05 Apr 2009 19:56, modificato 1 volta
Per carità, teniamo comunque presente che lo scopo del PNI (il nome è un po' ingannevole in effetti) è fornire una solida preparazione in Matematica e Fisica, l' Informatica rimane (e "deve rimanere") un aspetto secondario...
ok però con un linguaggio più moderno lo studio è più divertente
Registrato: 04/04/07 20:28 Messaggi: 4643 Residenza: Internet
Inviato: 22 Gen 2009 21:04 Oggetto:
Mah, non so...
è vero che un linguaggio perchè vecchio non vuol dire che non è buono.
Il problema però è la didattica.
Il pascal non è a oggetti ma il turbo pascal a partire dalla 5.5 (mi pare) sì.
Io con il turbo pascal mi son divertito un mondo però con il C e il C++ mi son divertito di più.
Se il C può risultare ostico ad uno che non è addetto ai lavori, il (turbo) pascal invece risulta più che adatto alla didattica. Questo linguaggio ha il pregio di essere molto rigoroso fino ad importi i punti del sorgente in cui puoi fare le cose. Per un applicativo dei giorni nostri è castrante ma per imparare potrebbe essere utile.
L'informatica però oggi non è fatta solo di algomatica e di implentazioni più o meno stupide di algoritmi: le applicazioni odierne sono un casino e i concetti in ballo sono moltissimi; bisognerebbe passare ad un linguaggio che permetta di sfruttare almeno alcune delle nuove tecniche...
Anche se lo leggiucchio solo un po' credo che python vada bene mentre c#,java e simili no, almeno all'inizio.
Registrato: 04/04/07 20:28 Messaggi: 4643 Residenza: Internet
Inviato: 23 Gen 2009 16:47 Oggetto:
Vero, però anche in quello dipende.
Ho degli amici che tengono su un server free per wow, l'engine che usano è scritto in c++ e loro devono scrivere in c++ qualunque modifica che fanno quindi per un gioco come wow ci vuole un motore scritto in c++ oppure qualche cosa di creato ad hoc per sviluppare motori grafici.
Io condivido che python sia un gran bel llinguaggio, ritengo anche che sia adattissimo per la didattica però i linguaggio moderni sono molto potenti e prevedono comunque di dover impare concetti complessi per poter sfruttare al meglio il linguaggio.
Poi uno a scuola indipendentemente dal linguaggio si ritrova sempre a dover imparare la programmazione imperativa, ci sono anche quella logica, funzionale e tante belle cose che ovviamente non vengono neppure sfiorate dai programmi di insegnamento, meglio far fare la ricerca su internet ai bimbi di 9 anni delle elementari.
ora devo riavviare il mac per un aggiornamento (maledetti reboot, con linux non riavvio maiiii [tranne che per il kernel ma quello non deve andar su subito {in realtà si potrebbe scambiare il kernel anche senza reboot ma mi pare un po' un casino} ] )
Io trovo che se si tratta di insegnare le basi della programmazione allora l'abbandonare la scelta "Pascal" per C/C++ o Java trovo che sia un errore.
Mi spiego meglio. Il Pascal è perfetto per muovere i primi passi, è molto più formale del C e si rischia meno di fare errori molto complicati da risolvere per un principiante. E una volta che si è imparato bene il Pascal è veramente semplice passare al C.
Per quanto riguarda la programmazione per oggetti, personalmente non la ritengo inclusa in "insegnare le basi della programmazione" quindi non fa testo. E non mi pronuncio su Pyton perchè non lo conosco.
Ho degli amici che tengono su un server free per wow, l'engine che usano è scritto in c++ e loro devono scrivere in c++ qualunque modifica che fanno quindi per un gioco come wow ci vuole un motore scritto in c++ oppure qualche cosa di creato ad hoc per sviluppare motori grafici.
Concordo ma per imparare a programmare/anche un gioco/ python va benissimo o anche Java
Registrato: 04/04/07 20:28 Messaggi: 4643 Residenza: Internet
Inviato: 24 Gen 2009 01:02 Oggetto:
Allora, distinguiamo due cose: la programmazione atta ad implementare l'algomatica in senso stretto e la programmazione più tecnica.
La prima è quella che si studia a scuola, ordinare un vettore, le besi dei files, calcolare un'area e quelle cose lì.
Per questa va bene qualunque linguaggio: il pascal e il turbo pascal vanno benissimo, sono semplici, rigorosissimi e a parte piccole cose il programmatore si limita a studiare il problema da risolvere.
Nel secondo caso il discorso cambia: il programma da scrivere va studiato, il linguaggio va appreso bene per sfruttare le sue caratteristiche etc..
Tutto dipende da quello che uno deve imparare.
In quest'ottica il pascal a scuola va bene.
Però è anche vero che se a scuola la gente vedesse anche cose un po' più carine sarebbe più incentivata.
Il discorso vale per ogni materia e ad ogni livello.
Perchè la matematica fa schifo a molta gente? Perchè fa fatica a trovare applicazioni pratiche nell'immediato.
Perchè a scuola non vengono mai illustrati problemi particolari con i numeri, per incentivare la gente a conoscerli meglio?
A me la storia a sempre fatto venire la diarrea in modalità: "mucca che defeca acido".
Oggi a volte mi capita di trovare su internet alcune cose che riguardano la storia nostra e straniera e resto attaccato al monitor per ore...
A scuola più che una serie di eventi in certe date non mi spiegavano e io mi rompevo le palle.
Quindi per tornare a noi nella didattica di base della programmazione bisognerebbe usare un linguaggio molto rigoroso ma ogni tanti un salto nella programmazione "moderna" farebbe bene!
Registrato: 01/04/05 17:59 Messaggi: 18597 Residenza: Milano
Inviato: 25 Gen 2009 13:47 Oggetto:
mdweb ha scritto:
Per ragazzi che vogliono lavorare nel mondo della programmazione oggi col pascal ci fai poco o niente
Questo però riguarda un problema/iscussione più vasto e generale.
La scuola insegna a fare ciò che si dovrà fare poi al lavoro (e anche non al lvoro)?
Insegna a scrivere articoli di giornale, libri, recensioni, lettere al/la fidanzato/a, curriculum vitae? No, insegna la grammatica (e pretende che si scrivano temi senza spiegare come si faccia -anzi senza neppure definire cosa sia un "tema"- )
Insegna a stimare quale investimento sia migliore o a quale mutuo sia più adatto? No, insegna a fare calcoli matematici (e in alcuni indirizzi di scuola alcuni fondamenti di economia).
Insegna a fare ricerche storiche? No, insegna alcune vicende soriche (e in alcuni livelli e indirizzi di scuola, le casue e i nessi con le altre vicende).
Eccetera.
Perché aspettarsi che per l'informatica sia diverso?
Per l'informatica e le altre specializzazioni deve essere diverso.
Quelle che hai preso tu sono delle materie di base.Un programmatore deve uscire da un ITI 'proiettato' nel mondo del lavoro.Deve saper scegliere quale linguaggio è meglio usare per... o per...
Registrato: 04/04/07 20:28 Messaggi: 4643 Residenza: Internet
Inviato: 25 Gen 2009 14:21 Oggetto:
Attento però,
un programmatore prima tutto deve saper elaborare algoritmi altrimenti non è un programmatore ma uno scribacchino.
Se io di chiedessi: "In un linguaggio a tua scelta, implementa un algoritmo per verificare se un numero è primo oppure no" tu che cosa scrivi?
Se mi rispondi:" Inserito il numero continuo a dividerlo per gli interi inferiori e se arrivo che nessuno lo divide dico che il numero è primo" io ti boccio perchè se il numero primo è a 800 bit il tempo che impiegheresti e spropositato.
Morale, la scuola dovrebbe dare le basi ad una persona per poter intraprendere percorsi complessi, dare un metodo di studio, la persona poi dovrà arrangiarsi.
Alle superiori non possono spiegarti l'oop estrema,, l'ingegneria del software e tante altre cose perchè oltre allo scrivere del codice c'è dietro tanta altra roba.
Sicuramente però potrebbe scegliere strumenti più consoni e moderni del pascal anche se alla fine per implementare un algoritmo va bene anche lui.
Questo discorso vale per ogni materia e a qualunque livello.
Oggi l'elettronica la si fa con i microcontrollori, c'è sempre meno "circuiteria" e sempre più firmware ma la programmazione nei corsi di elettronica è praticamente nulla; il fatto è che non puoi non spiegare come funziona un diodo o un transistor quindi è un gatto che si morde la coda: occorrerebbe trovare il modo di ampliare i programmi, magari aggiungendo al pomeriggio dei laboratori "seri" senza obbligare però la gente ad andarci perchè altrimenti diventerebbe un lavoro anche quello dello studente (e non è giusto visto che passiamo già la maggior parte della vita a lavorare).
Ovviamente i ragazzi dovrebbero aver voglia di andarci e se tu sei in una classe di 30 persone con 27 "cazzoni" questa idea resta un'utopia perchè i costi non giustificherebbero la cosa.
Quello che mi vien da dire è fregatene e per i fatti tuoi a casa studia quello che vuoi, il diploma, la laurea e tutto il resto sono solo pezzi di carta.
Molte aziende grandi si sono rotte le palle di cercare gente con annunci: "cercasi laureato in questo o in quello" e li hanno sostituiti con "cercasi laureato in questo o persona con conoscenze equivalenti".
In Italia la meritocrazia non esiste se non in rari casi ma se sei bravo lavoro lo trovi senza problemi (non teniamo conto della situazione economica attuale perchè questo è un caso particolare).
Ovviamente hai ragione quando affermi "Un programmatore deve uscire da un ITI 'proiettato' nel mondo del lavoro" ma purtroppo spesso sai anche tu che gli insegnanti sono fermi al pascal perchè conoscono solo quello...
Io questa cosa a scuola l'ho vissuta molto male, cerca di prendere la cosa più alla leggera perchè altrimenti le superiori ti peseranno troppo.
Ovviamente hai ragione quando affermi "Un programmatore deve uscire da un ITI 'proiettato' nel mondo del lavoro" ma purtroppo spesso sai anche tu che gli insegnanti sono fermi al pascal perchè conoscono solo quello...
Poi si chiedono perchè l'Italia è all'ultimo posto
Comunque hai ragione:anche io avrei implementato dividendo numero per numero però semplicemente perchè non conosco i numeri primi quindi non posso sfruttare le loro proprietà.
E come per l'equazione della retta anche li abbiamo diverse soluzioni.(li so quale implementare visto che le ho studiate)
Ti ricordi il contest del palindromi.Anche quello li attraversavo numero-numero quando però questi aumentato è un casino ci vuole troppo tempo.
Però riandiamo lì:tecniche innovative.Infatti ci sono delle tecniche per migliorare il proprio codice:la scuola se ne frega però
Registrato: 02/04/07 11:05 Messaggi: 14300 Residenza: 3° pianeta del sistema solare...
Inviato: 25 Gen 2009 16:55 Oggetto:
mdweb ha scritto:
...Per ragazzi che vogliono lavorare nel mondo della programmazione oggi col pascal ci fai poco o niente
uh?
Dovresti dirlo allo staff di VSO-Software, che utilizzano Delphi (Pascal) per creare gioiellini tipo ConvertXtoDVD (per convertire i filmati AVI in DVD) o BlindWrite (uno dei migliori copiatori di CD esistenti).
O agli autori di GlaryUtilities.
O, anche, alla Auslogics.
E, se ti guardi intorno, ci sono una miriade di altri esempi eccellenti (Kaspersky, se non vado errato).
Anders Hejlsberg, prima di creare il J++, il C# e le WFC, ha creato il TurboPascal e ha contribuito attivamente alla sua "trasformazione" in Delphi.
Migliorare il codice non significa necessariamente imparare un nuovo linguaggio di programmazione.
Non è la quantità di informazioni che hai che può fare di te un buon programmatore, ma la qualità di quello che conosci.
Se con un linguaggio fai programmi mediocri, non è detto che ti vengano meglio con un altro linguaggio... probabilmente è l'approccio mentale al problema da risolvere che ti frega.
edit
Con una piccola ricerca su YouTube, ho trovato questi filmatini:
Tutti i fusi orari sono GMT + 1 ora Vai a 1, 2Successivo
Pagina 1 di 2
Non puoi inserire nuovi argomenti Non puoi rispondere a nessun argomento Non puoi modificare i tuoi messaggi Non puoi cancellare i tuoi messaggi Non puoi votare nei sondaggi