Algoritmi e problemi solving

Corsisoftware
A Milano

660 
+IVA
Vuoi parlare del corso con un consulente?

Informazione importanti

  • Corso
  • Milano
  • 18 ore di lezione
Descrizione

Obiettivo del corso: Il corso di Algoritmi e Problem solving è un percorso di risoluzione di un problema, dall'analisi alla progettazione di un algoritmo, agli approcci implementativi, in maniera indipendente dal linguaggio utilizzato. Il corso vuole informare riguardo le diverse tipologie di linguaggi di programmazione, fornire gli strumenti per l'esame e la risoluzione di problemi e le basi teoriche per l'approccio ai problemi.
Rivolto a: Chiunque sia interessato a migliorare e approfondire le proprie abilità di problem solving, imparare a esaminare i problemi da più angolature, dilettanti e professionisti con esperienza in pochi linguaggi che sono interessati a conoscere approcci diversi.

Informazione importanti
Sedi

Dove e quando

Inizio Luogo
Consultare
Milano
via Varanini 29c, 20127, Milano, Italia
Visualizza mappa

Domande più frequenti

· Requisiti

Conoscenza anche superficiale di un linguaggio di programmazione Consigliate basi matematiche di livello superiore

Programma

Contenuti

  • Definizione di problema matematico
  • Modellizzazione: definizione delle caratteristiche di un problema e analisi dei presupposti
  • Algoritmi, definizione ed esempi
  • Strumenti matematici, macchine ideali e linguaggi di programmazione giocattolo
  • Strutture dati astratte generali: insiemi, liste, alberi, grafi
  • Complessità computazionale e classi di problemi, halting problem e notazione O()
  • Riduzione funzionale e problemi noti: ricerca, ordinamento, SAT ed euristich
  • Paradigmi di programmazione: linguaggi funzionali, imperativi, logici, caratteristiche e vantaggi
  • Dall'analisi all'algoritmo: metodologie top-down, bottom-up; approcci funzionali ed object-oriented
  • Progettazione: potenza espressiva ed equivalenza computazionale
  • Scelta degli algoritmi: bilanciamento tra risorse, estendibilità, complessità, bug count e deadline
  • Verso la programmazione: quale tipo di linguaggio, tipazione, interpretazione e compilazione
  • Hardware e potenzialità: limitazioni di risorse, calcolo parallelo e distribuito, determinismo
  • Oltre l'implementazione: pre/post requisiti, invarianti, debugging, unit test, revision control, estensibilità