Salve ragazzi oggi ricominciata l’Universit… vediamo un po se riusciamo a studiare insieme… magari bloggando le cose che faccio mi entrano meglio in testa e forse mi preparer meglio per gli esami oltre al fatto che cos dovr studiare quasi tutti i giorni per poter scrivere l’articolo
Vi parler di un corso molto bello riguardante Laboratorio di Algoritmi e Strutture Dati (da ora in poi conosciuto con il tag LASD) nel quale vedremo come implementare in Java e in particolare in Java 5.0 con le classi generiche Algoritmi e Strutture Dati di grande utilit per i programmatori. Ma prima di tutto conosciamo meglio la definizione di Algoritmi e Strutture Dati:
Una struttura dati un’entit usata per organizzare un insieme di dati all’interno della memoria del computer, ed eventualmente per memorizzarli in una memoria di massa. La scelta delle strutture dati da utilizzare strettamente legata a quella degli algoritmi, a tal proposito, solitamente si utilizza il concetto unificato di Algoritmi e Strutture Dati. La scelta della struttura dati influir inevitabilmente sull’efficienza degli algoritmi da utilizzare.
La struttura dati un metodo di organizzazione dei dati, quindi prescinde dai dati effettivamente contenuti. Ciascun linguaggio di programmazione offre strumenti, pi o meno sofisticati, per definire strutture dati, ovvero aggregare dati di tipo omogeneo o eterogeneo. Questi strumenti sono tipicamente componibili.
Pi formalmente, i linguaggi forniscono un insieme predefinito di tipi di dato elementari, e le strutture dati sono strumenti per costruire tipi di dati aggregati pi complessi.
L’operazione di costruire una variabile di un tipo di dato complesso detta “istanziazione”, e pu avvenire sia durante la compilazione del programma (compile time) sia durante la sua esecuzione (runtime).
Le strutture di dati si differenziano prima di tutto in base alle operazioni che si possono effettuare su di esse e alle prestazioni offerte. Questo permette di creare un’astrazione dall’implementazione, dando vita al concetto di Struttura dati astratta o Abstract Data Structure (ADS).
L’articolo stato preso da Wikipedia, per leggere la parte mancante visitate la pagina Struttura dati e seguite un pochino tutti i vari collegamenti per avere maggiori informazioni.
A breve vedremo come implentare la nostra prima struttura dati astratta, una delle pi primitive e semplici ma forse anche una delle pi importanti che ancora oggi alla base di molte applicazioni…
Parler dello Stack e la sua implementazione in Java 5.0 in un ArrayList a dimensione fissa, successivamente tratter un Array di tipo circolare a dimensione fissa e infine dovrei trattare uno Stack immagazzinato tramite una lista di oggetti a dimensione variabile.
Un piccolo avvertimento per chi fosse interessato: sono necessari Java Se JDK 5 o superiore e possibilmente un ide di programmazione java, magari Eclipse 3.2 o superiore (come il nuovo Europa). Per ora tutto comincer tra breve a pubblicare le prime risorse
Tag: Java, programmazione


mamma mia ragazzi, non facciamo troppa confusione eh! altrimenti facciamo sembrare la programmazione come qualcosa per pochi “guru” eletti da forze astrali… mentre in realt si tratta soltanto di spiegare a quello zuccone di un computer come memorizzare le informazioni e come manipolarle, e bisogna pure spiegarglielo in modo idiot-proof perch altrimenti gli vengono i complessi di inferiorit e si deprime! ah, che brutte bestie i computer
@Eyeonweb
Comuqnue ho De Santis per algoritmi e strutture dati, De Bonis invece per Laboratorio di algoritmi e strutture dati.
Anche tu dell’Unisa??
@Danilo
ehehhe
ho pubblicato l’articolo sullo stack, avrei voluto ripubblicare i quesiti fatti dalla prof e proposti come esercizi ma il tuo commento mi ha fatto desistere
@Cristiano
). Riguardo a wikipedia si hai perfettamente ragione scusami ma la mancanza di tempo e la fretta di scrivere il primo articolo hanno fatto questo scherzetto, inoltre volevo cercare di dare una definizione quanto pi “terra terra” possibile, cosa che io non sono capace di spiegare perch ho il vizio di capire certi concetti molto bene ma di non saperli spiegare a persone che non hanno mai visto un po di programmazione, in effetti se facessi il professore sarei pessimo
ehehe
Ciao, beh si sa ed giusto anche che sia cos su alcune cose. Come pu sopravvivere un informatico o meglio un programmatore senza conoscere almeno le strutture di dati pi elementari?? Comunque in altre universit non fanno neppure Java, noi addirittura usiamo java 5.0 e quest’anno ci stato fatto anche accenno alla versione 6 fortunatamente ho una professoressa molto aggiornata e brava, anche se pretende molto all’esame (mi sembra logico
@Phoenix
Infatti da noi stato diviso il corso di algoritmi e strutture dati in due corsi con tanto di ore raddoppiate, uno prettamente teorico e dedicato alla pseudocodifica, tempi di esecuzione e ricerca dei vari casi…ecc…ecc… mentre l’altro di laboratorio per implementare su campo gli algoritmi trattati e anche qualcosina di pi.
@Annarita
Eheheh per una volta invertiamo le parti, quando parli di matematica allora cosa devo dire io?? ihihih
Comunque per nozioni pi approfondite ho linkato il libro utilizzato da me per il primo approccio alla programmazione in Java nell’articolo nuovo… riguardo a “instanziazione” ehehe hanno fatto davvero una pessima traduzione e ringrazio @Cristiano per la disponibilit mostrata… Io solitamente dico “creare una variabile istanza” oppure “istanziare…” come citato da Cristiano…
Volendo abbassarci di livello potremmo dire inizializzare una variabile, ma questo, oltre che tecnicamente scorretto, il livello successivo (avviene dopo), prima ancora invece abbiamo la definizione del tipo di dato, in java possiamo definire e instanziare una variabile allo stesso tempo…meglio che non proseguo che mi imbroglio io da solo figurati tu
@TheKaneB
pi che spiegarela programmazione al computer (quello sa come interpretarla) bisognerebbe cercarla di spiegare alle persone che sono al primo contatto con questo mondo…
Io su questo mi sento perfettamente incapace… non so neppure spiegare un ciclo for a delle matricole (infatti non sono stato capito) perch io do certe cose proprio per scontate mentre altri invece hanno bisogno di qualche spiegazione in pi….
Un po come avviene per la matematica, ecco la sono negato e ho bisogno anche dei minimi passaggi senn mi perdo…sembrer strano ma cos per me
@traffyk: sono stato studente Unisa. Fortunatamente l’ho anche finita
Beato te…..
@Cristiano: grazie per le delucidazioni e per il link…..chiss, mai dire mai. Sono una curiosa per natura e la programmazione mi affascina…. letteralmente. …e anche se “l
hehehe afferrato in pieno Annarita, mai avuto lo stesso prof per pi di un anno di seguito… non so per quale motivo ma li cambiavano sempre… e in peggio pure
Comunque pi bella la programmazione, la c’ vita ognuno si inventa i programmi che vuole e come vuole, matematica ormai quella
ehehhe
“matematica ormai quella
ehehhe”
quella scolastica si, quella dai tempi di pitagora!

ma la “MATEMATICA” con tutte le lettere maiuscole qualcosa che rasenta la poesia… voglio farti incuriosire un po’!!
cerca su wikipedia (meglio quella inglese) questi argomenti e ti accorgerai che la matematica sa anche essere sexy!
L’ultimo teorema di Fermat (Sembra una cosa da 5 elementare, ma….)
Teorema della scimmia infinita (su questo teorema si basa l’inefficiente quanto esilarante algoritmo di ordinamento Stupid Sort)
Congettura di Goldbach (una sega mentale allo stato puro)
Paradosso della stanza cinese (tratta di intelligenza artificiale, percezione e cognizione della realt)
Sono sicuro che ti incolleranno per ore davanti al monitor
@traffyk @TheKaneb: Antonio mi ha preceduta….togliendomi le parole di bocca.
L”informatica affascinante, l’ho gi detto. Io ne sono attratta irresistibilmente come la falena dalla lampada accesa……
Ma la matematica….ah la matematica non sempre quella. La matematica poesia, come dice Antonio, musica …. creativit allo stato puro.
Mi dispiace Raffaele, che tu non sia ancora riuscito a coglierne la bellezza e la perfezione. Per…non mai troppo tardi!
Pensa che io ….ma leggiti questo post e capirai. E non dirmi che sto facendo dello spam: il link giustificatissimo
http://www.lanostramatematica.splinder.com/post/12467263#comment
bye:))
Antonio si conosco il principio della stanza cinese ma non pensavo fosse matematica, su questo tema feci un tema in classe alle superiori
ehehe
Riguardo gli altri argomenti mi documenter con piacere, per agli esami certo non potr portare questa roba
Ti elenco i miei esami, nessuno dei quali superati e sinceramente non ho mai provato a studiarli:
Matematica Discreta
Analisi Matematica
Calcolo delle Probabilit e Statistica Matematica
Ricerca Operativa
Analisi Numerica
Naturalmente ogni corso costruito sulle basi del precedente.. i miei vorrebbero farmi fare delle ripetizioni private ma mi sono rifiutato categoricamente perch oltre al costo esoso che comportano sono sicuro che se mi mettessi di buona volont saprei cavarmela da solo (in effetti non ho mai aperto un libro di matematica) ma io ho un difetto molto grave.. e qui rispondo anche ad @Annarita:
quando incontro una materia che non riesce a piacermi mi impunto e tendo ad abbandonarla soprattutto quando pi ci penso e ripenso e non trovo alcuna utilit nel lavoro che vorrei fare. Vorrei, almeno spero, diventare un esperto di internet e comunicazione e tutto ci che ne concerne…quindi diciamo che anche certi tipi di programmazione molto avanzata non fanno per me ma quella fortunatamente mi piace. Ho studiato con molto piacere materie come economia, diritto, marketing, ecommerce, reti e molto altro perch appunto strettamente legate alle mie ambizioni…alcune delle quali neppure previste dal mio corso ed ogni giorno anche se ho gia superato questi esami continuo a rivedermele e aggiornarmi… Di matematica io penso che risolvere problemi comuni sia gia molto per quello che mi serve, al massimo poche funzioni, metodi risolutivi, matrici e qualcosina di pi avanzato mi sta bene e me la cavo senza problemi ma quando comincio a vedere tutti quei simboli strani per giunta senza che i prof si degnino di spiegare cosa significhino.. allora ovvio che uno prende proprio una posizione contraria su tali argomenti.
Mah prima o poi mi inventer qualcosa
Intanto sto lavorando anche un pochino e aspiro a stabilizzare il lavoro, che comincio a pagarmi gli studi e anche togliermi qualche soddisfazione
Eheheh grazie per il supporto a tutti e due
Innanzitutto, in bocca al lupo e crepi stecchito secco morto stramorto!! ^_^ Capisco perfettamente che cosa vuol dire impuntarsi su qualcosa che proprio non vuole “scenderti” nello stomaco pi di cos! D’altro canto io sono affascinato pi dal funzionamento a basso livello dei computer (non per niente mi dedico nel tempo libero al kernel hacking), la mia informatica preferita quella che si occupa di architetture hardware, sistemi operativi e calcolo numerico. In questa prospettiva diventa anche naturale capire la mia predisposizione verso la matematica e la fisica, che sono i principi alla base rispettivamente dell’informatica e dell’hardware che tanto mi appassionano!