Newsgroup: it.comp.programmare
Titolo: Un linguaggio di programmazione... da insegnare.

Salve a tutto il newsgroup.
    C'è qualcuno tra di voi che insegna informatica (ed in particolare fa
"programmazione" in qualche modo, magari in ausilio alla matematica o alla
fisica...)  elle scuole superiori? Mi farebbe molto piacere poter scambiare
pareri ed opinioni sull'argomento...
Quali linguaggi insegnate e perchè?
Ci sono direttive ministeriali, particolari programmmi da rispettare in
materia?
Dove è possibile reperire informazioni in tal senso? ho spulciato il sito
della Pubblica Istruzione ma senza venire a di capo di nulla...
Ogni illuminazione o reindirizzamento sarà ben gradito. Grazie e scusate se
la cosa è un po' OT.

 ha scritto nel messaggio
news:VRIT7.16425$OP2.6...@news2.tin.it...


Va bene anche Turbo C++.
Perché Turbo C++ che non supporta il C++ standard? Piuttosto č meglio
insegnare il C o ancora meglio il C++ con un compilatore piů moderno
(ad es. g++).
Comunque il linguaggio da insegnare dipende anche dalle conoscenze del
professore, meglio insegnare il C piuttosto che il C++ male.
Potresti quotare meglio?
-- 
                    Marco Barisione (ICQ 84277092)
Se sei interessato alla creazione di un newsgroup generico in cui si
possa parlare di quei linguaggi di programmazione senza un gruppo
apposito vota per it.comp.lang su it.news.votazioni.

Ma non sono un po' datati (soprattutto turbo Pascal)?
Mi piacerebbe coniugare qualcosa di rigoroso formalmente, valido
didatticamente ma anche al passo con le "nuove" tendenze, oop, supporto ai
threads...
e poi ribadisco la domanda: ci sono direttive, programmi a livello nazionale
per l'insegnamento dell'informatica? Dov'è che si possono reperire?
Grazie
"Massimiliano" <a...@a.aa> ha scritto nel messaggio
news:4gQT7.332343$sq5.16...@news.infostrada.it...


per l'insegnamento dell'informatica? Dov'č che si possono reperire?
Questo non lo so ma i linguaggi che vedo piů spesso insegnati sono C,
C++, Pascal, Java, Matlab, VB.
Comunque continuo a chiedermi che linguaggi conosci?
Potresti quotare meglio riportando solo le parti del messaggio a cui
rispondi e la risposta sotto come ho fatto io? Rende il ng molto piů
facile da leggere. Grazie


 threads...
Spero per i tuoi alunni che tu non vada ad insegnare
nello stesso modo con cui quoti. Invece che chiedere cosa
insegnare chiediti:  "cosa sono in gradodi insegnare?"
-- 
Posted from 
nts-03.mm.eutelsat.org
 [194.214.173.15] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG


praticamente stai descrivendo Java..non vedo molte alternative...
cmq insegnare la filosofia OO in un liceo mi pare azzardato...se almeno
prima
non hai spiegato la programmazione strutturata...quindi per programmazione
strutturata si intende il pascal, cioč il linguaggio migliore a scopo
didattico, perchč č semplice e ti permette di sbagliare poco...
ciao

Scegli tra:
1. Pascal
2. Java
3. Python
Il 1° è un classico, e se i tuoi allievi sono a digiuno, credo sia
d'obbliglo. Potresti anche provare con il 2° che è OOP, moderno e richiesto,
ma sempre meglio conoscere la programmazione procedurale prima di passare
alla OOP. Il 3° è così moderno che in Italia nemmeno lo conoscono e secondo
me non è adatto per "imparare" a programmare perché "ti vizia", fai troppe
cose troppo facilmente, quando invece un programmatore deve sapere cosa
accade veramente.
Ciao
--
Luigi
http://web.tiscali.it/luigi_web
byte...@hotmail.com
ICQ 46240443

 puň essere molto meglio di dire "conosco Python".
Sperando che la risposta non sia: "Cos'č Python?"



Io credo sia meglio partire con il C, eppoi passare a Java.
-
Max Janot
University of Sannio - Informatic Engineering in progress ...

accade veramente.
Si ma non puoi pretendere che una persona che inizia a programmare
capisca perfettamente cosa succede sotto, mentre può capire tutto più
facilmente quando sa già programmare.


Io credo sia meglio partire con il C
Il C però è un po' difficile per un newbie.


didattico, perchè è semplice e ti permette di sbagliare poco...
Io personalmente non sono daccordo...credo che non per forza si debba
passare dalla programmazione strutturata per imparare quella a
oggetti..
----
Lawrence "Rhymes" Oluyede
rhy...@myself.com

 Va bene anche Turbo C++.
non sono linguaggi di programmazione, ma ambienti si sviluppo.
Inoltre il turbo C++, a dispetto del nome, *non* e' un compilatore C++; 
e' sostanzialmente un compilatore C, con in piu' il supporto al C++ 
prestandard, che oggi non esiste piu'.
E, IMHO, il C e' uno dei linguaggi peggiori per imparare a programmare.
ciao Anto
-- 
Antonio Cuni, 19 anni, studente
Brainbench C++ Master: 4.6, higher than 98% of all previous test takers.
C Language: 3.32, higher than 79% of all previous test takers.
Guida C/C++ di Programmazione.it: 
http://cpp.programmazione.it

 fisica...)  elle scuole superiori?
Io non sono un professore, ma in compenso insegno programmazione 
privatamente. Personalmente sono ultra-convinto che il Pascal sia senza 
dubbio il linguaggio piu' adatto per un principiante (perlomeno tra i 
linguaggi che conosco io; ad esempio, non conosco ancora Python, quindi 
non posso dare giudizi su di esso).


Primo: chiedo scusa per il quoting "selvaggio". Sono abbastaza nuovo al ng e
non credevo di infastidire tanto cliccando semplicemente su [rispondi] per
partecipare alla discussione. Starò più attento :-P
Secondo: non sono un professore. A mesi (spero) mi laureo in ing.
informatica e se avrò tempo dopo la laurea collaborerò ad una specie di
corso (fuori dall'orario scolastico) di programmazione per un gruppo di
ragazzi che frequenta un liceo scientifico (terza-quinta)
Personalmente "conosco" C, C++, Java ed ho buoni ricordi del Pascal, ma le
mie conoscenze non sono un limite al corso (c'è gente più brava di me e poi
è tutto ancora in progress...).
Quello che cercavo soprattutto erano pareri ed opinioni sulla valenza
didattica dei vari linguaggi, magari da parte di qualcuno che insegna
programmazione alle scuole superiori, esperienze personali, com'è la
risposta dei ragazzi in termini di "appassionamento" e apprendimento...
tutto qui.
E poi sto sempre cercando qualche indicazione di tipi "istituzionale" sui
programmi di informatica per le scuole superiori (ed in particolare per i
licei scientifici). C'è un linguaggio preferenziale? E' ancora il Pascal?
Personamente sono anch'io convinto che prima della OOP bisogna insegnare i
fondamenti della prog strutturata, ma credo che questo lo si possa fare
anche utilizzando direttamente un unico linguaggio OO senza passare per
forza per il Pascal o il C.
Sul sito del Ministero della Pubblica Istruzione non sono riuscito a trovare
nulla...
Forse il ng non è proprio di quelli più specifici, ma, vi ripeto, sono ben
graditi anche reindirizzamenti a ng, ml e siti più indicati.
Grazie a tutti per la discussione ed i pareri sin qui letti. Siete stati
molto preziosi. Grazie.

 E, IMHO, il C e' uno dei linguaggi peggiori per imparare a programmare.
come sei pessimista... :-)
Maurizio
-- 
Maurizio Sambati
Skice Software
E-mail: 
gsm...@inwind.it
--------------------------

...

La mia esperienza di docenza non ha nulla a che fare con le scuole
superiori. Inoltre non conosco nessuna direttiva ministeriale.
Quindi posso dare il mio contributo solo riguardo al linguaggio.
Io sviluppo (e simpatizzo :) con Java (attualmente la mia attività di
insegnamento è "ritagliata" dallo sviluppo).
Quindi ti devo avvisare non sono imparziale :)
Secondo me Java, oltre a tutti gli indubbi risvolti positivi in
termini ad esempio di utilizzo "reale" futuro in contesto lavorativo,
che ora non ci devono interessare, è un ottimo linguaggio per
introdurre alla programmazione.
Penso che tutti noi siamo partiti dalla programmazione procedurale, ma
che non sia indispensabile iniziare con essa. Probabilmente un
decennio prima di insegnare a me il C qualcuno pensava che sarebbe
stato necessario partire dall'assembler e conoscere tutti i dettagli
della macchina...
Dai dettagli secondo la mia opinione si può invece sempre prescindere.
Java ha una sintassi chiara e lineare, consente di capire i fondamenti
della programmazione e volendo di addentrarsi in ogni tipo di
dettaglio, dato che è un linguaggio adatto praticamente ad ogni tipo
di applicazione e con una ricchissima libreria.
Usando Java saresti inoltre svincolato da ogni problema economico per
acquisto di software vari. Introdurresti opportunamente nella scuola
strumenti free se non open-source. Troveresti un ampio supporto sulla
rete (sempre più spesso anche in italiano). Utilizzeresti uno
strumento ormai stabile e consolidato.
Infine nessuno potrà mai avere il dubbio di fare una cosa "inutile",
visto l'ampio utilizzo di Java nella realtà informatica. Ma come detto
sopra questa considerazione è ultima per importanza.
Infine non dimentichiamo che Java sta sostituendo altri linguaggi
anche all'interno dell'università.
tityrus
PS
Io eviterei accuratamente di utilizzare ambienti visuali.

licei scientifici). C'è un linguaggio preferenziale? E' ancora il Pascal?
Non penso che ci sia un linguaggio preferenziale.


 apprendimento... tutto qui.
ecco le mie opinioni puramente personali sulla valenza *didattica* dei 
linguaggi che conosco (in maniera piu' o meno approfondita):
C: ha dalla sua il vantaggio dell'enorme diffusione, ma per un 
principiante non e' certo il piu' adatto: tantissime caratteristiche 
sono implementate troppo a basso livello per essere comprese appieno; 
in questo modo il programmatore non riesce a concentrarsi totalmente 
sulla logica del programma e rischia di perdersi in una marea di 
dettagli.
C++: come per il C e' molto diffuso; inoltre offre un'alternativa ad 
alto livello di quasi tutte le caratteristiche del C inadatte per un 
newbie; per contro e' un linguaggio troppo complesso e vasto per essere 
insegnato nella sua interezza e per di piu' i professori (anche 
universitari) che lo conoscono bene sono pochi.
Pascal: e' la mia scelta preferenziale: la sua struttura rigida aiuta 
il programmatore a non commettere troppi errori e a concentrarsi sulla 
logica che sta dietro ai programmi.
Java: sono convinto che il paradigma OO non sia la cosa migliore per 
iniziare; dato che il Java offre un supporto diretto solo ad esso, non 
lo prenderei neppure in considerazione.
C#: vale lo stesso discorso fatto per il Java; pero' C# ha anche alcune 
caratteristiche degne di nota per chi deve imparare (come il concetto 
di "definitely assigned" e i modificatori "out/ref").
ovviamente IMHO


 come sei pessimista... :-)
hai ragione, ho esagerato; cosi' suona meglio:
IMHO il C non e' uno dei linguaggi migliori per imparare a programmare.
In effetti ci sono molti linguaggi peggiori del C: Perl, Bash, Lisp, 
Assembler, *Java*... ;-)


Assembler
scherzi? in che senso peggiore? è il linguaggio + potente IMHO


scherzi? in che senso peggiore? è il linguaggio + potente IMHO
Per far imparare uno che non sa niente di computer?


Per far imparare uno che non sa niente di computer?
Ah allora si, avevo inteso male la frase :P


 Quali linguaggi insegnate e perchè?
io partirei con lo scheme perchè permette di concentrarsi sugli aspetti
concettuali e metodologici senza perdere tempo con la sintassi

 scherzi? in che senso peggiore? è il linguaggio + potente IMHO
parlavamo di insegnare ai principianti...
Cmq ci sarebbe da discutere anche sul fatto che l'assembler e' il 
linguaggio piu' potente (qualsiasi cosa significhi "potente" riferito 
ad un linguaggio di programmazione); perche' dici questo? Perche' ti 
permette di avere un "controllo totale sulla macchina"? Beh, allora 
forse potrei obiettare che la programmazione al livello ISA 
(Instruction Set Architecture) ti offre un controllo maggiore; a questo 
punto tu potresti dirmi: "Sbagli! Se programmo in microcodice (spesso 
chiamato anche "livello di trasferimento tra registri") riesco a 
gestire completamente i singoli registri della CPU in ogni ciclo (o 
subciclo) di clock". Ma non sarebbe finita qua: se scendiamo ancora un 
po' come livello di astrazione possiamo affermare che se programmiamo 
usando la "logica circuitale" riusciamo a controllare il valore logico 
di ogni singola porta in ogni istante; ma perche' fermarsi li? Possiamo 
anche programmare al livello della fisica dello stato solido, in modo 
da controllare perfettamente ogni singolo micro-componente del sistema. 
Oppure potremmo anche spostarci al livello della meccanica 
quantistica... [cut]
Ovviamente, il tutto e' (molto ;-) provocatorio, da non prendersi 
(troppo) sul serio...


(troppo) sul serio...
Il tuo discorso fila, ma ti sfido a trovare gente sana di mente :P che
andrebbe a programmare con la "logica circuitale"


Va be che la tua email è  provocatoria, ma è anche fuori luogo... Assembly
sarà non adatto per un newbie, ma volendo si può insegnare... e poi non mi
sembra poi così difficile, magari non è adatto perchè in commercio non si
usa, ma dal punto di vista della formazione mentale, potrebbe essere un buon
allenamento... mi dici come dovrebbe fare un professore a insegnare a
programmare con la meccanica quantistica o con la logica cirtuitale? Questo
è un'altro discorso, mentre assembly *potrebbe* rientrare tra i linguaggi da
insegnare...
ciao


insegnare...
Beh se ne sei convinto...scaricati The Art Of Assembly, leggila e poi
insegnala... :P


 insegnala... :P
Non dico che sia semplice, volevo solo far notare che dall'Assembly "in giù"
è un'altro mondo...
Cmq la ho già, aspetto solo di avere tempo e imparare l'inglese :P


>scaricati The Art Of Assembly...
dove?

e chi se lo ricorda :)
www.google.com
 e lo trovi sicuro :)


dove?
http://digilander.iol.it/itassembly/


 Per far imparare uno che non sa niente di computer?
Be si inizia dalle basi cosi no ?
Ciao
Gaetano
--
#exclude <windows>
printf("\t\t\b\b\b\b\b\b");.
printf("\t\t\b\b\b\b\b\b");
-- 
Posted from 
nts-03.mm.eutelsat.org
 [194.214.173.15] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Assembly sarà non adatto per un newbie, ma volendo si può insegnare...
non ho detto che non sia utile o che non si possa insegnare (anche se, 
secondo me, sarebbe bene insegnarlo verso la fine di un corso di studi, 
non certo all'inizio).
La mia e-mail era in risposta alla frase in cui si diceva che 
l'assembly era il linguaggio "piu' potente".


 l'assembly era il linguaggio "piu' potente".
E in effetti lo è. Basta aggiungere che è il più potente tra quelli che si
possono insegnare con un comune PC e compilatore (+ linker in questo caso
:-)
Ciao


compilatore 
il termine giusto in questo caso è assemblatore...


 insegnare...
Mi inserisco per dire che ... sono perfettamente d'accordo.
Lassembly dei processori moderni è certamente troppo complesso per
essere utilizzabile come linguaggio di programmazione (anche per un
esperto). Ma un assembly vecchia maniera, stile quello del mitico 6502 /
6510 o dell'immortale Z80 (che, udite udite, è ancora in uso e viene
ancora programmato in assembler anche oggi) o anche del vecchio 8080 /
8088 / 8086 tanto per restare "in famiglia" Intel, sono degli ottimi
linguaggi da newbie. IMO.
--
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556

 
http://digilander.iol.it/itassembly/
Molto meglio:
http://webster.cs.ucr.edu/
