Guida degli insegnamenti

Syllabus

Partially translatedTradotto parzialmente
[W001754] - METODOLOGIE INFORMATICHE PER L'AGRICOLTURA DI PRECISIONEMETODOLOGIE INFORMATICHE PER L'AGRICOLTURA DI PRECISIONE
LINDO NEPI
Lingua di erogazione: ITALIANOLessons taught in: ITALIAN
Laurea - [AT04] SISTEMI AGRICOLI INNOVATIVI First Cycle Degree (3 years) - [AT04] INNOVATIVE AGRICULTURAL SYSTEMS
Dipartimento: [040027] Dip.Scienze Agrarie,Alimentari e AmbientaliDepartment: [040027] Dip.Scienze Agrarie,Alimentari e Ambientali
Anno di corsoDegree programme year : 2 - Secondo Semestre
Anno offertaAcademic year: 2023-2024
Anno regolamentoAnno regolamento: 2022-2023
Obbligatorio
Crediti: 9
Ore di lezioneTeaching hours: 81
TipologiaType: C - Affine/Integrativa
Settore disciplinareAcademic discipline: ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
Sede City ASCOLI PICENO


LINGUA INSEGNAMENTO LANGUAGE

ITALIANO

Italian


PREREQUISITI PREREQUISITES

Non sono richieste conoscenze preliminari

No preparatory knowledge is required


MODALITÀ DI SVOLGIMENTO DEL CORSO DEVELOPMENT OF THE COURSE

Il docente utilizzerà: a) lezioni frontali , fornite agli studenti in formato digitale tramite piattaforma Moodle; b) approfondimenti tematici proposti
agli studenti (organizzazione in piccoli gruppi per discutere, analizzare e riportare in aula
i risultati raggiunti); c) esercitazioni laboratorio disciplinare tramite ambienti di sviluppo software.

E' fortemente consigliata la frequenza.


La durata del corso è di 81 ore così suddivise :
Lezioni di teoria (L) :62 ore
Esercitazioni (E): 19 ore

The teacher will use: a) frontal lessons, provided to students in digital format via the Moodle platform; b) proposed thematic insights
to students (organization in small groups to discuss, analyze and report back to the classroom
the results achieved); c) disciplinary laboratory exercises through software development environments.

Attendance is strongly recommended.



The duration of the course is 81 hours divided as follows:
Theory lessons (L) :62 hours
Exercises (E): 19 hours


RISULTATI DI APPRENDIMENTO ATTESI LEARNING OUTCOMES
Conoscenze e comprensione.

L’insegnamento introduce i fondamenti dell’informatica mediante il linguaggio di programmazione Python. Gli studenti potranno apprendere i concetti base della programmazione fino ad arrivare all'utilizzo di librerie utili per risolvere problemi propri dell’agricoltura di precisione. In particolare, il corso consente di sviluppare le seguenti conoscenze:
• concetti di base della programmazione;
• istruzioni di base in Python;
• moduli e funzioni in Python;
• strutture dati in Python;
• errori, test e debugging;
• statistica e file;
• elaborazione dati provenienti da sensori;
• cenni di elaborazione immagini in Python;
• cenni di algoritmi di classificazione su dati di sensori e dati satellitari.


Capacità di applicare conoscenze e comprensione.

Lo studente dovrà sviluppare la capacità di:
1) Risolvere problemi ed implementare semplici algoritmi, utilizzando il linguaggio Python
2) Analizzare la correttezza di un programma python ed essere in grado effettuare il debugging e testing
3) Acquisire dimestichezza con la terminologia di dominio.
4) Acquisire dimestichezza con l’utilizzo di librerie di pubblico dominio.
5) Utilizzare le opportune tecnologie informatiche, per trattare dati utilizzabili ai fini decisionali per la gestione dei sistemi agricoli facendo riferimento ai principi dell'agricoltura di precisione


Competenze trasversali.

Le capacità di pianificare i passi da svolgere per risolvere un problema contribuiranno a sviluppare l'autonomia di giudizio e il pensiero computazionale degli studenti.


Knowledge and Understanding.

The course introduces the fundamentals of computer science using Python programming language. Students will be able to learn the basic concepts of programming up to the use of libraries useful for solving smart agriculture problems agriculture. In particular, the course allows you to develop the following knowledge:
• basic concepts of programming;
• basic instructions in Python;
• modules and functions in Python;
• data structures in Python;
• errors, testing and debugging;
• statistics and files;
• sensor data processing;
• basics of image processing in Python;
• hints about algorithms for the classification of sensor data and satellite data.


Capacity to apply Knowledge and Understanding.

The student will have to develop the ability to: 1) Solve problems and implement simple algorithms, using Python language 2) Analyze the correctness of a python program and be able to debug and test it 3) Become familiar with domain terminology. 4) Become familiar with the use of public domain libraries. 5) Use the appropriate information technologies to process data that can be used for decision-making purposes for the management of agricultural systems by referring to the principles of precision agriculture


Transversal Skills.

The ability to plan the steps to solve a problem will help develop students' autonomy of judgment and
computational thinking.



PROGRAMMA PROGRAM

Concetti di base della programmazione (1 CFU) (L)
Introduzione alla programmazione informatica; introduzione a Python; chi usa Python e per che cosa; installazione di Python; IDE in Python; la filosofia di Python; un primo programma in Python; personalizzare l’IDE; valutazione di un’espressione; operazioni aritmetiche ed espressioni; variabili e operatore di assegnamento; le funzioni predefinite; i tipi di dato; la funzione print(); calcoli matematici in Python; lo stile di programmazione in Python.
Le istruzioni di base in Python (0.5 CFU) (L+E)
La funzione input(); la sequenza; la selezione; operatori relazionali o di confronto; operatori logici e il tipo di dato bool; i cicli; il ciclo for; il ciclo while; cicli annidati.
Moduli e funzioni in Python (1 CFU) (L+E)
La libreria standard di Python; definizione di funzioni; spazio dei nomi; import e dir(); numeri pseudo-casuali;
Strutture dati in Python (1 CFU) (L+E)
Tipi di dati semplici e composti; il tipo di dato str; le liste; il tipo di dato list; il tipo di dato tuple; il tipo di dato set; il tipo di dato dict.
Errori, test e debugging (0.5 CFU) (L+E)
Errori ed eccezioni; bug e debugging; Test Driven Development.
Statistica e File (0.5 CFU) (L+E)
Media; frequenze assolute e relative; diagrammi; moda; mediana; cenni di calcolo numerico; metodo Monte Carlo; i file.
Immagini (1 CFU) (L+E)
Introduzione alle immagini; Immagini digitali, PIL, Pillow, numpy, opencv
Python nel contesto dei Sistemi Agricoli Innovativi (1.5 CFU) (L+E)
Utilizzo di librerie Python per la risoluzione di problemi dei sistemi agricoli innovativi.
Librerie specifiche per il mondo dei sistemi agricoli innovativi come numpy, pandas matplotlib e scikit-learn. Elaborazione di immagini usando dati satellitari mediante notebook python nel cloud (introduzione a Jupyter notebook)
Elaborazione di dati provenienti da sensori mediante python.
Elementi di Machine Learning per l’elaborazione dati nel contesto dei Sistemi Agricoli Innovativi (2 CFU) (L+E)
Introduzione al concetto di classificazione. Algoritmi di classificazione supervised ed unsupervised. Concetto di training set, test set, validation set. Esempi di classificazione mediante python (scikit-learn) su dati satellitari e da sensori. Time series forecasting , IA Generativa (cenni)

Basic concepts of programming (1 CFU)
Introduction to computer programming; introduction to Python; who uses Python and for what; installation of Python; IDE in Python; the Python philosophy; a first program in Python; customize the IDE; evaluation of an expression; arithmetic operations and expressions; variables and assignment operator; predefined functions; the types of data; the print () function; mathematical calculations in Python; the programming style in Python.

Basic Python Instructions (0.5 CFU) (L+E)
The input () function; the sequence; the selection; relational or comparison operators; logical operators and the data type bool; the cycles; the for loop; the while loop; nested loops.

Modules and functions in Python (1 CFU) (L+E)
The standard Python library; definition of functions; namespace; import and dir (); pseudo-random numbers;

Data structures in Python (1 CFU) (L+E)
Simple and compound data types; the data type str; the lists; the type of data list; the tuple data type; the data type set; the data type dict.

Errors, tests and debugging (0.5 CFU) (L+E)
Errors and exceptions; bugs and debugging; Test Driven Development.

Statistics and Files (0.5 CFU) (L+E)
Average; absolute and relative frequencies; diagrams; fashion; median; basics of numerical calculation; Monte Carlo method; I/O over files.


Graphics and images (0.5 CFU) (L+E)
Digital images, PIL, pip and Pillow, numpy
Python in Innovative Agricultural Systems context (1.5 CFU) (L+E)
Use of Python libraries for troubleshooting innovative agricultural systems.
Specific libraries for innovative agricultural systems:numpy, pandas matplotlib and scikit-learn. Processing images about satellite data using python notebook in cloud (Jupyter notebook introduction)
Process sensor data using python.
Elements of Machine Learning for data processing in Innovative Agricultural Systems context (2 CFU) (L+E)
Introduction to classification. Supervised and unsupervised classification algorithms. Concept about training set, test set, validation set. Classification examples with python (scikit-learn) on satellite data and sensor data. Concept about Time series forecasting and Generative AI.


MODALITÀ DI SVOLGIMENTO DELL'ESAME DEVELOPMENT OF THE EXAMINATION
Modalità di valutazione dell'apprendimento.

La valutazione del livello di apprendimento degli studenti consiste in due prove: - una prova scritta, consistente nella realizzazione di un progetto didattico da presentare contestualmente alla sessione di esame; - una prova orale, consistente nella discussione del progetto didattico realizzato e di alcuni temi trattati nel corso. La sufficienza ottenuta nella elaborazione della prova scritta è necessaria al superamento dell'esame e tenuta contestualmente alla prova orale. Le linee guida ed istruzioni per il progetto didattico vengono presentate agli studenti all'inizio del corso e pubblicate sulla pagina del docente. Il docente assegna il progetto allo studente o al gruppo di lavoro (max 2 persone)


Criteri di valutazione dell'apprendimento.

La valutazione del livello di apprendimento degli studenti consiste in due prove: - verifica delle conoscenze necessarie per la redazione dell'elaborato progettuale; - discussione orale su più temi trattati nel corso. Il progetto può essere svolto in gruppi, composti al massimo da due studenti. Il superamento della prima prova è vincolante per l'accesso alla discussione orale. Nel caso di esito negativo della discussione orale, lo studente deve ripetere entrambe le prove. Per superare con esito positivo la valutazione dell'apprendimento lo studente deve dimostrare, attraverso le prove descritte, di aver ben compreso i concetti esposti nel corso e di avere acquisito adeguata padronanza dei concetti base della programmazione e del linguaggio Python.


Criteri di misurazione dell'apprendimento.

Attribuzione del voto finale in trentesimi.Il completamento dell'esame con esito positivo porterà a valutazioni che variano da 18 a 30 " cum laude" .


Criteri di attribuzione del voto finale.

Al fine del superamento dell'esame con votazione minima, lo studente deve possedere il bagaglio completo delle conoscenze. Ulteriore punteggio sarà attribuito in base alla padronanza delle abilità generali e specifiche. La valutazione massima è raggiunta dimostrando nell'ambito delle prove una conoscenza approfondita dei contenuti del corso. La lode verrà attribuita agli studenti che, avendo conseguito la valutazione massima, saranno in grado di esibire una spiccata padronanza della materia, brillantezza nella esposizione orale e dimostreranno di avere capacità non solo mnemoniche ma anche trasversali tra le diverse discipline.


Learning Evaluation Methods.

The exam consists on two main parts: technical report related to a project and oral. The technical report part is the development of an educational project assigned by the teacher that is discussed during the examination session. The discussion starts from the assigned educational project exploring also additional concepts presented during the course


Learning Evaluation Criteria.

The learning evaluation criteria consists of two examinations: - evaluation of the knowledge necessary for the preparation of the design exercise; - oral examination focus on some of the course topics. The design exercise can be carried out as a group work; each group consists of, at most, two students. A positive score in the first test (design exercise) is mandatory in order to access to the oral examination. In the case of a negative score in the oral examination, the student have to take again both tests. In order to pass positively the examination, the student needs to prove to have fully understood the course topics and to have learned the foundations of computer programming and Python language.


Learning Measurement Criteria.

Assignment of a final score (maximum score is 30 “cum laude”).Successful completion of the examination will lead to grades ranging from 18 to 30 “cum laude”.


Final Mark Allocation Criteria.

In order to pass the exam with a minimum score, the student must possess the complete baggage of knowledge. Further points will be awarded based on the mastery of general and specific skills. The maximum evaluation is achieved by demonstrating in the tests a thorough knowledge of the contents of the course. Honors will be awarded to students who, having achieved the maximum evaluation, will be able to exhibit a marked mastery of the subject, brilliance in oral presentation and will demonstrate that they have not only mnemonic but also transversal skills between the various disciplines.



TESTI CONSIGLIATI RECOMMENDED READING

Introduzione a Python. Per l'informatica e la data science. Ediz. MyLab,
Paul J. Deitel (Autore), Harvey M. Deitel (Autore), P. Codara (a cura di), C. Mereghetti (a cura di) - 2021
ISBN 9788891915924

Slide e altri materiali sono disponibili all' URL: https://learn.univpm.it

Introduzione a Python. Per l'informatica e la data science. Ediz. MyLab,
Paul J. Deitel (Autore), Harvey M. Deitel (Autore), P. Codara (a cura di), C. Mereghetti (a cura di) - 2021
ISBN 9788891915924

Slides and other support available at the following URL: https://learn.univpm.it


E-LEARNING E-LEARNING

No

No


Scheda insegnamento erogato nell’A.A. 2023-2024
Le informazioni contenute nella presente scheda assumono carattere definitivo solo a partire dall'A.A. di effettiva erogazione dell'insegnamento.
Academic year 2023-2024

 


Università Politecnica delle Marche
P.zza Roma 22, 60121 Ancona
Tel (+39) 071.220.1, Fax (+39) 071.220.2324
P.I. 00382520427