Informazioni generali
- Anno di corso: 1°
- Semestre: 2°
- CFU: 6
- sito di riferimento : http://people.uniroma2.it/salvatore.filippone/
Docente responsabile
Obiettivi del corso
Scopo del corso `e di introdurre gli studenti alla struttura degli elaboratori elettronici ed alla loro programmazione. In particolare si introdurranno le tecniche elementari di calcolo numerico e di gestione di dati tipiche delle applicazioni di simulazione in ambito ingegneristico.
Nel corso viene usato come linguaggio di riferimento il linguaggio Matlab, uno dei linguaggi di scripting piu` comuni nelle applicazioni ingegneristiche; di es-so ne esiste anche una versione open source denominata Octave, che `e sufficiente ai fini di questo corso introduttivo.
Al termine del corso lo studente sar`a in grado di scrivere semplici codici di elaborazione di dati utilizzando gli operatori matriciali propri del linguaggio, strutturando le soluzioni opportunamente, ed effettuando semplici analisi di complessit`a computazionale sui codici prodotti.
Prerequisiti
Nessuno
Contenuti del corso
– Introduzione al problem solving
– Algoritmi
– L’architettura del calcolatore
– I diagrammi di flusso
– Linguaggi di programmazione, compilazione e ciclo di esecuzione di un programma
– Concetto di variabile
– Tipo di dato numerico
– Rappresentazione floating point a singola e doppia precisione
– Il teorema del campionamento
– Spettro di un segnale
– Tipi di dato in matlab
– Tipo numerico, tipo logico, tipo carattere
– Le operazioni sui tipi di dato fondamentali
– I vettori (creazione e manipolazione)
– Le operazioni sui vettori
– Matrici (creazione e manipolazione)
– Le operazioni sulle matrici
– Controllo di flusso (if-then-else, switch, for, while)
– Funzioni matlab
– Tecniche di debugging
– Algoritmi di ordinamento
– Ricorsione
– Complessità
Computing Fundamentals
Contents
– Introduction to problem solving
– Algorithms
– Computer Architecture
– Flow Diagram
– Programming languages, software compilation and execution (execution cycle)
– Variables
– Data types
– Floating point single and double precision
– Nyquist theorem
– Signal spectrum
– Matlab data typing
– Matlab types: number, logic and character
– Data operations
– Data vector
– Vector operations
– Matrices (creation and manipulation)
– Matrices operations
– Flow control (if-then-else, switch, for, while)
– Matlab Functions
– Debugging techniques
– Sorting algorithms
– Recursion
– Complexity