|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Bannato
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2682
|
[JAVA] Programma svolto all'uni...mi servirà? =)
Ciao,
allora questo semestre dovrò dare un secondo esame di programmazione orientata agli oggetti...oddio ho appena iniziato a studiarlo seriamente e l'esame si avvicina... Al terzo anno avrò altri corsi per approfondire però volevo sapere se visto il programma potrebbe già essere sufficiente per fare qualcosa di concreto dal punto di vista "lavorativo" (che ne sò uno stage o booo) oppure se per adesso tutta sta roba me la tiro ancora in fronte e basta... Programma Prima parte: metodologie di programmazione Astrazione e decomposizione come metodologia di programmazione. Astrazione per parametrizazione e per specifica. Tipi di astrazione. Astrazione procedurale. Specifiche. Specifiche per l'astrazione procedurale. Progetto di astrazioni procedurali. Eccezioni. Il meccanismo delle eccezioni in Java. Utilizzo delle eccezioni: riflessione e mascheramento, quando usare le eccezioni, eccezioni checked e unchecked. Astrazione sui dati. Specifiche, implementazione ed utilizzo delle astrazioni sui dati. La funzione di astrazione. L'invariante di rappresentazione. Effetti collaterali benefici. Progetto di astrazioni sui dati: mutabilità, adeguatezza, categorie di operazioni. Astrazione sull'iterazione. Iterazione in Java, Specifica, implementazione ed utilizzo. Invarianti e funzione di astrazione. Progetto di astrazioni sull'iterazione. Gerarchie di tipi. Assegnazione e dispatching. Definizione di una gerarchia di tipi. Tipi eccezione. Classi astratte ed interfacce. Implementazioni multiple. Significato dei sottotipi. Astrazioni polimorfiche. Astrazioni sui dati di tipo polimorfico e suo utilizzo. Flessibilità. Procedure polimorfiche. Seconda parte: linguaggio Java Ereditarietà, classi astratte, interface. Classi interne. Eccezioni. Iteratori. Il sistema I/O di Java (cenni). Finestre ed applet (cenni). RTTI e riflessione. Grazie Andrea |
|
|
|
|
|
#2 |
|
Bannato
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2682
|
nessuna risposta? ci faccio qualcosa con questo esame oppure per poter iniziare a fare qualcosa di concreto dovrò prima seguire altri corsi?
Tnx Andrea |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
E' un inizio, buono se fatto bene.
Meglio sicuro che studiare l'architettura e l'assembly del PDP11 (Sigh.)
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
|
#4 |
|
Bannato
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2682
|
mah si la proff è brava e parecchio pignola...tranne che seppur fatto bene (ho iniziato da poco a studiarlo) ancora non ho idea di come passare da "esempi giocattolo" a soluzioni di problematiche concrete...dopo aver superato questo esame (escludendo gli ulteriori esami del terzo anno) se volessi iniziare a muovermi un po' nel mondo del lavoro (anche a livello di apprendistato\lavoretti\pseudo volontariato) cosa potrei fare?
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Quote:
Sara' brutta ma e' cosi', davvero. Non ho visto nessuno, nemmeno i 110 e lode, nemmeno i Geeks smanettoni riuscire ad essere veramente produttivi in un gruppo di lavoro gia' dall'inizio. Come dire, un esame non e' sufficiente. Magari puo' essere necessario conoscere i concetti li' espressi, ma non basta di sicuro per potersi dire "programmatori Java".
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quoto gugoXX.
Solo l'esperienza diretta, appunto "di lavoro", ti insegna a lavorare, non ci sono molte scappatoie. Quello che puoi fare tu prima, è "solo" prepararti studiando bene ed esercitandoti nel'utilizzo degli strumenti che dovrai adoperare al lavoro (linguaggio, librerie, ambiente di sviluppo) e, se hai la fortuna di poter studiare da buone fonti (libri? prof? esercitazioni con altri studenti?), acquisire la forma mentis adatta per il problem solving e il design del software nella prospettiva object oriented (visto che comunque stiamo parlando di Java). @EDIT: Anche la conoscenza di pseudo-implementazioni in Java degli algoritmi più comuni può tornare comoda.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) Ultima modifica di banryu79 : 30-04-2009 alle 12:38. |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Se nel primo periodo di lavoro conti di iniziare come sviluppatore di applicativi, una cosa abbastanza utile potrebbe essere quella di comprare il libro della GO4 e di rifare il loro progetto, ovvero un editor di testo, nel linguaggio (ad oggetti) che pensi di scegliere, es: in C#, Java o Python.
Loro l'hanno sviluppato in SmallTalk, e l'hanno speigato nel libro in C++. In pratica arriveresti a "produrre" un editor di testo con le palle, ma soprattutto impareresti ad usare i pattern. Cosi' potrai decidere a posteriori se ti piacciono oppure no, ma con cognizione di causa. Qui a Londra sono molto richiesti.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
La mia curiosità e la seguente: quale sarebbe, se esite una "pratica" codificata, l'alternativa all'utilizzo di un Design Pattern nella precisa circostanza in cui ci si trova ad affrontare una problema di design che è già stato risolto con un design pattern e ne si è a conoscenza? Non so se la mia domanda ha senso.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Inoltre volevo segnalare una risorsa che forse potrà tornare utile anche all'autore del thread, ed è il testo noto come: "Building Skills in Object Oriented Design", qui il link al sito.
Io ho appena cominciato a studiarlo e lo trovo interessante; i concetti espressi sono indipendenti dal linguaggio di programmazione specificio anche se la prospettiva è quella OO; i linguaggi di riferimento per l'implemtazione della/e esercitazione/i contenuta/e (e relativi tool/librerie di sviluppo) sono due: Java e Python. I requisiti per affrontarlo sono la conoscenza di uno dei due linguaggi, familiarità nell'uso del rispettivo ambiente di sviluppo e una basilare conoscenza dello Unit Testing.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Quote:
Mi spiazza la parola "Alternativa". Se stai chiedendo se si puo' risolvere in altro modo un problema che normalmente si potrebbe risolvere con un pattern che si conosce, ovviamente la risposta e' si'. Talvolta anche a fronte di problemi noti si sceglie di non risolvere la questione con un pattern di quelli noti ben disegnati, perche' puo' essere che si stia sparando il classico colpo di cannone ad una formica, e quindi si sceglie di adottare una versione semplificata, il piu' delle volte poco generalizzabile e poco espandibile. Ma se il problema e' limitato, chiuso e ben definito, allora ben venga il non usare alcun pattern e usare invece una soluzione custom. Ma se si pensa che la formica possa crescere in futuro allora il pattern corretto e' quasi sempre la risposta giusta per evitare di dover gettare via tanto codice, oppure magari doverne scrivere tanto in piu' in futuro.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Ok grazie, hai capito perfettamente la mia domanda.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:16.




















