Newsgroup: it.comp.lang.c++
Titolo: AIUTO ESAMI 4 CHIARIMENTI PER GLI INTERESSATI (lungo)

Allora prima di tutto vorrei ringraziare tutti quelli che mi hanno risposto
sia spiegandomi sia "prendendomi un pò in giro".
Innanzitutto io vengo da un liceo scientifico con sperimentazione
informatica dove ho imparato a usare i comandi fondamentali del Turbo Pasca.
Detto questo volevo dire che indipendentemente dalla preparazione precedente
si può scegliere di fare ing. informatica perchè tanto ricominciano tutto da
zero ... almeno in teoria.
Forse non tutti sanno che da quest'anno almeno la mia università è entrata
in riforma per cui il tempo di ogni corso è diventato 2 mesi anzichè 6. Per
cui ci hanno spiegato cicli FOR WHILE SWITCH, ARRAY FUNZIONI PUNTATORI E
CLASSI in 8 settimane esatte ... facendovi un rapido calcolo potete capire
che non si ha assolutamente tempo di digerire una struttura e poi impararne
un'altra ... per fare un esempio hanno insegnato le FUNZIONI in 2 lezioni (4
ore !!!!!).
Ma il bello è che poichè siamo circa 300 iscritti al corso di ing.
Informatica hanno deciso di dividere in 2 il corso in modo che ci fossero
150 alunni per professore. Del mio professore già sapete. Quelli dell'altro
corso però hanno inizialmente programmato in ASSEMBLER e da poco usano il
c++, sono agli array e lì si fermano visto che è finito il corso.
Probabilmente su 150 dei miei compagni ne passeranno 30 (anzi dipende dal
test visto che è a risposta multipla con 4 minuti a domanda possono
sbagliarlo tutti, anche i ragazzi con 10 anni di programmazione alle spalle)
mentre nell'altro corso almeno 100 ce la faranno.
Senza contare che gli studenti di Ing Medica hanno seguito informatica col
nostro stesso professore ..... poveri loro!!!!!
Ciao

zero ... almeno in teoria.
<MEGA-CUT>
W l'Università italiana!!!
Luc.

ore !!!!!).
non che ci sia bisogno di dire granchè sulle funzioni... tipo di
ritorno, parametri, ricorsione. Direi 4 ore sufficienti, a livello
base.
Anto
--
Antonio Cuni, 18 anni, studente
Brainbench Certification: 
Master C++: 4.44, higher than 97% of all previous test takers.
Visual Basic 5: 3.06, higher than 77% of all previous test takers.
http://www.brainbench.com/transcript.jsp?pid=1301688

base.
Per enunciare forse. Per insegnare non credo proprio.
Io per lo meno ho avuto una partenza moooooolto piu' morbida
(programmi per la calcolatrice programmabile TI47, quindi
assembler 6502, basic, pascal, clipper, C e il resto a seguire).
Proprio non riesco ad immaginare qualcuno che sentite 4 ore
su cosa sia una funzione, parametri per valore o per indirizzo,
ricorsione e void mi riesca a scrivere codice sensato.
Forse ho pero' poca fiducia nelle nuove generazioni.
Diverso ovviamente se a queste quattro ore seguono notti e
notti su un computer a fare esperimenti...
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff

Direi 4 ore sufficienti, a livello base.
Siamo seri ;)
--
Andrea Laforgia (ICQ 87230455)
http://www.geocities.com/AndreaLaforgia
"ci sono tre tipi di persone nel mondo : quelli che
 sono bravi in matematica e quelli che non lo sono."

 notti su un computer a fare esperimenti...
Appunto. Ma questo non tocca al professore (salvo che forse a molti professori
farebbe bene!).
La programmazione non e' come la storia. Non si "studia". E' piu' come la
scultura o il disegno. Bisogna battere la testa contro lo schermo.
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

Anche a me tocca passere un'esame strutturato come il tuo: Fondamenti di
informatica 1 (ing. delle telecomunicazioni).
Ho fatto anche io un progetto in C++ Standard ANSI che consisteva in un
calcolatore a virgola mobile ed operante in qualsiasi base numerica: più di
2500 righe di codice, 1 mese e mezzo di lavoro, valutato dal docente a
punteggio pieno più una lode.
Dopo un lavoro così sono andato allo scritto più che tranquillo. Ma mi sono
ritrovato domande in ciascuna delle quali c'erano 5 spezzoni di codice tra i
quali dovevo indicare quello che svolgeva la funzione voluta e non generava
errori di compilazione.
Il bello è che ogni spezzone di codice era programmato in una maniera
assurda, contorta, quasi inaccettabile, apposta per rendere la cosa
difficile. Insomma capire cosa faceva quel codice era veramente dura.
Inoltre si avevano 4 minuti per ciascun spezzone di codice (5-10 righe
ciascuno, ma nelle quali con la gestione dinamica della memoria si possono
fare cose assurde) e la somma degli
spezzoni azzeccati dava il voto.
Morale della favola: conoscevo benissimo il C++ in standard ANSI, ma non
sono riuscito a passare lo scritto, mentre può averlo passato benissimo chi
ha azzeccato gli spezzoni giusti (è + facile tentare la sorte che decifrare
i loro codici assurdi) senza conoscere il C++ come lo conosco io!
Ed il bello è che se avessi portato il mio progetto programmato come i loro
codici negli scritti, mi avrebbero dato dei bei calci nel sedere (meritati)!
Per fortuna che non tutti gli esami sono così, se no si laurea solo chi
nella vita è fortunato! :-(


Direi che 4 ore è pure troppo per spiegare le funzioni soprattutto a chi,
come gli "asporanti" ingegneri, fisici o matematici, dovrebbe già averne
chiara la definizione (vedi corsi di analisi matematica etc.)
Ciao

 ha scritto nel messaggio
news:96i6tn$8ae$1...@nreadB.inwind.it...


 base.
Mi ricordo a 13/14 anni quando iniziai a programmare sul C64 in BASIC e non
riuscivo a capire a cosa servissero le variabili :)
L'esempio era se a = 5 e b = 3 allora a + b = 8 ed io non riuscivo assolutamente
a capire perchč non si potesse semplicemente stampare 8!
Ci misi ben piů di 4 ore per risolvere l'emblema e senza l'aiuto di un amico con
piů esperienza non ce l'avrei fatta!
Ciao Fbf.

scultura o il disegno. Bisogna battere la testa contro lo schermo.
Condivido sulla *necessita'* della pratica. Lo studio pero'
offre cose a cui raramente si potrebbe arrivare per conto
proprio... puo' essere qualcosa che realmente mostra nuovi
orizzonti e offre nuovi punti di approfondimento.
Con studio non mi riferisco ovviamente solo a testi
universitari (anzi) ma a (buone) pubblicazioni e (buoni)
libri sull'argomento.


chiara la definizione (vedi corsi di analisi matematica etc.)
Le definizioni delle funzioni nei corsi di analisi matematica non
hanno nulla a che vedere con le funzioni dei linguaggi di
programmazione.  E poi, trovami una funzione template in analisi
matematica ;)


 libri sull'argomento.
Certissimamente. Per questo sostengo che il ruolo dell'insegnante di informatica
non sia quello di "far imparare" ma quello di fornire definizioni e concetti di
base, "puntatori" a ulteriori informazioni (libri e riviste, fondamentalmente),
alcuni esempi e, infine, la disponibilita' a correggere, rispondere, discutere,
chiarire, criticare etc.


 matematica ;)
Le equazioni differenziali.
Ciao,
Nicola

base.
Uhm... teoricamente potrebbe essere anche cosi' , ma nella pratica
purtroppo bisogna anche fare i conti con le capacità e soprattutto con
la volontà che hanno gli studenti di apprendere.
Quando a scuola ci spiegarono il concetto di funzione con passaggio di
parametri per valore e per indirizzo(allora il linguaggio era il
Pascal, ma il concetto non cambia) il tempo impiegato fu all'incirca
un paio di ore, che secondo ma bastavano ed avanzavano.
Nonostante tutto in fondo all'anno c'era ancora un sacco di gente che
non aveva ancora capito la differenza fra passare un parametro per
valore e passarlo per indirizzo.
Il Ghenio
-----
James: Adesso so finalmente cosa provano i panni messi in lavatrice!
Jesse: Avremo bisogno di un candeggio!!
(Team Rocket)
-----

Le equazioni differenziali.
eh eh ... non ci avevo pensato ...


conosce bene tutto il C++ e io ti trovo un povero illuso.
Bjarne Stroustup 
Stanley Lippman
Josee Lajoie
Herb Sutter
Scott Meyers 
Bruce Eckel
Don Box
Carlo Pescio
Alex Martelli
;)


 Alex Martelli
Non li conosco tutti. Ma, almeno per piu' della meta', dubito che direbbero di
conoscere tutto il C++.


conoscere tutto il C++.
Vabbe', passami almento Bjarne, lui l'ha inventato il linguaggio !!!


Siamo seri ;)
scusa, ma tu cosa diresti, in un corso base, sulle funzioni? O ci fai
sopra un discorso sugli algoritmi (e allora non è più un corso base)
oppure le introduci spiegando che servono per "spezzare" il codice in
più parti. Io non ho avuto troppi problemi a capire *cosa fosse* un
funzione leggendo l'help in linea del Quick Basic (a 12 anni). Un
altro discorso è imparare a *usarle* per bene, ma secondo me è più un
discorso di pratica personale che di teoria.


più parti.
E nessuno capira' realmente a cosa servono.
All'universita' seguono questa seconda strada, perche' chiaramente non
hanno tempo per spiegare il linguaggio nella sua completezza e cosi'
nei periodi di febbraio e di giugno il ng comincia a popolarsi di
richieste di soluzione ad esami, in vista della scadenza delle
sessioni semestrali.


 ;)
Non per deluderti, ma non sono assolutamente certo che Bjarne sarebbe d'accordo.
Lui ha posto le basi. Ha inventato un linguaggio chiamato C with classes che poi
ha evoluto e rinominato C++. Ma che non ha molto a che vedere con l'ISO C++. Il
quale e' MOLTO piu' complesso. Certo che lo conosce probabilmente meglio di
tutti noi. Ma da qui a sostenere di conoscere l'ISO C++ al 100% ce ne passa. E
non sono certo che lui stesso lo sosterrebbe. Naturalmente bisognerebbe
chiederlo a lui.


Alex Martelli
Come ho gia' detto in altri posto la mia frase in
realta' e' stata scritta male... in realta'
volevo scrivere
 "Trovami qualcuno che afferma di conoscere bene
  tutto il C++ e io ti trovero' un povero illuso"
Quali di questi nomi pensi di depennare ?
Ok... i restanti sono poveri illusi :DDDD
Sul C++ (dal punto di vista formale di standard)
ancora non sono sicuro che si siano trovate tutte
le domande e le incongruenze... figuriamoci che
siano state date tutte le risposte.
Che poi ci sia addirittura qualche singolo che
le conosca tutte...


chiarire, criticare etc.
Punto di vista interessante. Io istintivamente direi
che un insegnante dovrebbe dare qualcosa in piu'...
pero' forse in fondo hai ragione. E' impossibile sperare
di insegnare qualcosa a soggetti passivi... il motore
primo deve essere lo studente.
Sicuramente chi spera di imparare a programmare bene
senza farsi sanguinare le dita sulla tastiera pecca
quantomeno di ingenuita'.
Da questo punto di vista non e' lodevole l'indicazione
data da quel docente che avrebbe considerato come
punto a favore la presenza di una interfaccia grafica
per il gioco dell'oca ?


Le equazioni differenziali.
Non le trovo un esempio calzante. Nelle equazioni differenziali
non c'e' un granche' di generico. Soprattutto relativamente ai
"tipi" coinvolti. Trovo piu' calzante l'algebra astratta...
le equazioni differenziali classiche sono molto "concrete".


ha evoluto e rinominato C++. Ma che non ha molto a che vedere con l'ISO C++. 
Scusa, ma se non sbaglio, Bjarne e' a capo del comitato di
standardizzazione, quindi qualcosa ne sapra' anche di ISO C++ ;)


Alex Martelli
Schildt? :-))))))


valore e passarlo per indirizzo.
nella mia classe (5 liceo scientifico sperimentazione *informatica*)
la maggior parte non sa qual'è la differenza tra una function e una
procedure (in Pascal, ovviamente)...


procedure (in Pascal, ovviamente)...
Non mi sorprende affatto. Io facevo l'ITIS sezione
elettronica-informatica ed ho visto gente che in quinta non sarebbe
stata capace a scrivere il più stupido dei programmini senza
scopiazzare da qualcun altro.


E' l'idea di "corso base sulle funzioni" che e' sbagliata.
il corso base non era riferito alle funzioni ma alla programmazione in
generale. E in un tale corso, secondo me, non si può dilungarsi più di
tanto sui singoli aspetti.
Oppure facciamo un corso solo ed esclusivamente sulle funzioni e ci
andiamo avanti una vita.
Ma non possiamo mischiare le cose. Ovvio che questa è una valutazione
soggettiva (non sono un esperto di didattica, ovviamente), data da uno
che le funzioni le ha imparate da solo. E secondo me un universitario
*deve* essere in grado di imparare quello che ho imparato io quando
avevo 12 anni.


che le funzioni le ha imparate da solo.
Credo che quasi tutti qui dentro abbiano imparato a programmare da
soli (me compreso) e molti di noi hanno cominciato da ragazzini.
Molte cose, quando sei piccolo, ti entrano in testa per via naturale.
Questo ti porta, spesso, a sottovalutare l'importanza degli argomenti
che conosci e il tempo necessario per apprendeli, da parte di altre
persone.  Io ho una (piccolissima) esperienza didattica alle spalle e
ti posso assicurare quanto sia difficile insegnare e quanto bisogna
sforzarsi per vedere dei risultati.  E' facile cadere in situazioni in
cui il tuo pubblico ti guardi con gli occhi sgranati.
Da queste esperienze impari a trattare gli argomenti con semplicita',
sminuzzando ogni minima fonte di informazione e prendendoti tutto il
tempo che ci vuole.  Se una persona mi proponesse si fare un corso di
programmazione C (in C++ non ne sono ancora capace), a condizione di
spiegare le funzioni in 4 ore, onestamente, gli riderei in faccia.


 Ciao Fbf.
Mah... io da 3 anni a questa parte (ho 18 anni) ho cominciato a studiare
programmazione, studiando: QBasic, Pascal,  Delphi, HTML, parzialmente e
adesso sto iniziando il C++; e ho avuto sempre solo l'aiuto di manuali,
ma solo come autodidatta (perchč non frequento ne liceo ne ITIS) e
chiedendo ai vari it.comp.lang.* (da quando ho messo internet). 
E i concetti come puntatori, instanze, cicli, variabili, accensione
PC... eh questo no, li ho imparati tutti da solo... 
Ciao
-- 
Posted from 
smtp1.libero.it
 [193.70.192.51] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 standardizzazione, quindi qualcosa ne sapra' anche di ISO C++ ;)
A dire il vero l'ultima volta che ne ho letto (qualche mese fa) il
presidente del comitato di standardizzazione e' Steve Clamage, della
Sun.
Piu' sostenibile e' il punto di vista che A. Koenig conosca *tutto* il
C++: essendo l'editor del comitato "gestisce" il testo dello standard ed
e' quindi molto probabile che lo conosca "alla lettera" :-)
Ciao,
Nicola
P.S. Ma sono convinto che nessuno di questi personaggi affermerebbe di
conoscere il C++ fino in fondo.

 standardizzazione, quindi qualcosa ne sapra' anche di ISO C++ ;)
Nope. Che io sappia i N^1 globali sono Clamage e Koenig. Uno come "presidente",
quindi un numero 1 "politico", e l'altro come "editor", qunidi N^1 in senso
"amministrativo".
Poi ovviamente ogni sottogruppo ha il suo segretario.
Ma direi che sono questi i nomi di persone che probabilmente conoscono il C++ al
100%. E fra tutti direi Koenig, che al di la del gruppo di lavoro ... "vede"
tutto lo standard!


 conoscere il C++ fino in fondo.
Infatti. Ma se lo sostenessero ... credo che non obietterei (mentre forse forse
avrei qualche possibile obiezione per Stroustrup o peggio Eckel). Anche se
ammetto che tutti questi conoscono il C++ meglio di noi di parecchie spanne.
Anzi: di precchi piedi :-)


 per il gioco dell'oca ?
Non molto. Si stava parlando di C++. L'interfaccia grafica e' per definizione
system dependent. E da quello che ho capito il corso non prevedeva un gran che
di OO. Al massimo se il corso avesse avuto, oltre al C++, un fondamento di OO
avrebbe potuto considerare un punto a favore la realizzazione di un layer di I/O
system independent che prevedesse una successiva implementazione grafica.
Richiedendo per il momento una implementazione puramente portable-C++.


conoscere il C++ fino in fondo.
Perche' sono persone posate e non dei poveri illusi :) ... io ho
letto recentemente un articolo di P.J.Plaguer in cui lui si dice
convinto che ormai il C++ sia troppo grosso perche' qualcuno
possa sentirsi a suo agio in *ogni* parte del linguaggio.
Sicuramente ci sono un sacco di persone che si possono sentire
piu' a loro agio di me in ogni parte del C++ ... ma questo non
e' che voglia dire un granche'.
Se bastassero solo i master di brainbench.... ;)


portable-C++.
E in sede di esame valutare se e' roba buona oppure se ci
si e' dimenticati qualcosa ? Mi sembra molto piu' complicato.


cui il tuo pubblico ti guardi con gli occhi sgranati.
a questo punto mi arrendo. davvero, non avendo mai conosciuto nessuno
che sapesse programmare seriamente non riesco neanche a capire quali
siano le difficoltà oggettive della programmazione. A me viene come
qualcosa di naturale, ma forse non a tutti.
hai vinto ;-)
cmq se all'università mi tengono 4 ore a spiegarmi le funzioni credo
che quantomeno mi annoierò...
