- Biological and Environmental Sciences and Technologies
- Bachelor's Degree in BIOTECHNOLOGY
- COMPUTER SCIENCE
COMPUTER SCIENCE
- Teaching in italian
- INFORMATICA
- Teaching
- COMPUTER SCIENCE
- Subject area
- INF/01
- Reference degree course
- BIOTECHNOLOGY
- Course type
- Bachelor's Degree
- Credits
- 6.0
- Teaching hours
- Frontal Hours: 54.0
- Academic year
- 2023/2024
- Year taught
- 2023/2024
- Course year
- 1
- Language
- ITALIAN
- Curriculum
- PERCORSO GENERICO/COMUNE
- Reference professor for teaching
- PASCALI Stefano
- Location
- Lecce
Teaching description
Nozioni di matematica acquisite nei corsi di scuola secondaria
Il corso intende fornire i fondamenti dell'informatica e della programmazione strutturata come strumenti di base necessari alla formazione scientifica in ambito biotecnologico.
I risultati attesi di apprendimento prevedono che al termine del corso gli studenti siano in grado di:
- conoscere le metodologie di rappresentazione e codifica dell’informazione;
- conoscere le principali caratteristiche dell’architettura di un calcolatore e del suo sistema operativo;
- utilizzare gli strumenti della programmazione strutturata per progettare e implementare semplici algoritmi nel linguaggio procedurale C;
- utilizzare i principali software di supporto alla produttività individuale, gli strumenti informatici di Internet.
Lezioni in aula.
Esercitazioni pratiche in laboratorio.
Prova scritta teorica sui fondamenti di informatica e programmazione C
Prova orale successiva ad integrazione della prova scritta.
Codifica digitale dei dati.
Sistema di numerazione posizionale, generico, ottale, esadecimale, sistema binario, algoritmi di conversione tra basi differenti. Bit, byte e suoi multipli. Rappresentazione complemento a 2 e in virgola mobile IEEE754. I caratteri ASCII e Unicode. Le immagini in formato digitale, i suoni in formato digitale, cenni sul processo di digitalizzazione dei segnali analogici. Algebra di Boole.
Architettura elaboratore.
Il modello di von Neumann, microprocessore, memoria RAM, bus trasferimento dati, memoria di massa e periferiche di input/output. Cenni altre architetture.
Sistema Operativo.
Definizione, funzioni e architettura. Kernel, scheduler, processi, gestore della memoria. Gestione dell'I/O, file system, interfaccia utente e spooler di stampa.
I computer in rete e Internet. Sicurezza informatica.
Topologie delle reti di calcolatori. Mezzi trasmissivi. Trasmissione dei dati. Reti geografiche, commutazione di circuito e di pacchetto. Reti locali, topologie e metodi di accesso. Definizione di protocollo di comunicazione e cenni su la suite TCP/IP. Applicativi di rete di produttività individuale, web browser e servizio email. Requisiti della sicurezza informatica. Cenni su crittografia simmetrica e asimmetrica, funzioni hash e certificati digitali.
Programmazione strutturata.
Problemi e algoritmi, esecutori e linguaggi. Proprietà degli algoritmi e loro formalizzazione: diagrammi di flusso, costrutti fondamentali (sequenza, condizionale, iterativo), teorema di Böhm-Jacopini. Tabella di traccia e pseudo codice. Strutture dati statiche, array, matrici e struct. Strutture dati dinamiche, liste pile, code. Funzioni, parametri attuali e formali, scope e ciclo di vita delle variabili.
Linguaggi di programmazione.
Vocabolario, sintassi, semantica. Linguaggi imperativi, programmazione procedurale, programmazione orientata agli oggetti. Linguaggi interpretati e linguaggi compilati. Cenni linguaggi dichiarativi. Linguaggi per la descrizione e la manipolazione dei dati. Modello Entity-Relationship, introduzione al modello relazionale e al linguaggio SQL. Cenni HTLM.
Le basi della programmazione in C.
Gli elementi del linguaggio C. La scrittura del codice e la tool chain. Struttura di base dei programmi in C. Introduzione a funzioni e librerie. Tipi primitivi. I/O di base, specificatori di formato. Istruzioni condizionali e operatori relazionali. Selezioni annidate e operatori logici. Operatori aritmetici, di assegnamento e di incremento. Conversione di tipo implicita ed esplicita (cast). L’istruzione switch. I cicli iterativi, il ciclo for, il ciclo while e il ciclo do while. Il tipo enum e il costrutto typedef. Array. Funzioni, dichiarazione, definizione e passaggio dei parametri di tipo scalare e di tipo array. Funzioni ricorsive. Puntatori, aritmetica dei puntatori, gestione dinamica della memoria. Elaborazione di caratteri e stringhe. Costrutto struct. Gestione file di testo e file binari.
Complessità computazionale, algoritmi di ricerca e ordinamento
Tempo di esecuzione T(n) e complessità asintotica di un algoritmo. Algoritmi di ricerca lineare, ricerca binaria, selection sort, bubble sort, insertion sort e quick sort; calcolo delle relative complessità computazionali.
- Introduzione ai Sistemi Informatici 6ed - ISBN 8838655022 · 9788838655029 Donatella Sciuto, Giacomo Buonanno, Luca Mari - McGraw – Hill
in alternativa
- Fondamenti di Informatica e Programmazione in C - ISBN: 9788865183694 J. Glenn Brookshear, Stephen G. Kochan - Pearson
Appunti delle lezioni forniti dal docente
Approfondimenti
C How to program with an introduction to C++ eighth edition - ISBN: 9780133976892 P. Deitel, H. Deitel – Pearson
Semester
First Semester (dal 02/10/2023 al 19/01/2024)
Exam type
Compulsory - Related/Supplementary
Type of assessment
Oral - Final grade
Course timetable
https://easyroom.unisalento.it/Orario