Guida degli insegnamenti

Syllabus

Partially translatedTradotto parzialmente
[3I084] - FONDAMENTI DI INFORMATICAFUNDAMENTALS OF COMPUTER SCIENCE
Emanuele FRONTONI
Lingua di erogazione: ITALIANOLessons taught in: ITALIAN
Laurea - [IT09] INGEGNERIA GESTIONALE First Cycle Degree (3 years) - [IT09] MANAGEMENT ENGINEERING
Dipartimento: [040004] Dipartimento Ingegneria Industriale e Scienze MatematicheDepartment: [040004] Dipartimento Ingegneria Industriale e Scienze Matematiche
Anno di corsoDegree programme year : 1 - Primo Semestre
Anno offertaAcademic year: 2021-2022
Anno regolamentoAnno regolamento: 2021-2022
Obbligatorio
Crediti: 9
Ore di lezioneTeaching hours: 72
TipologiaType: A - Base
Settore disciplinareAcademic discipline: ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

LINGUA INSEGNAMENTO LANGUAGE

Italiano

Italian


PREREQUISITI PREREQUISITES

Nessuno

None


MODALITÀ DI SVOLGIMENTO DEL CORSO DEVELOPMENT OF THE COURSE

Il corso sarà suddiviso in lezioni (42) ed esercitazioni (30).

Lezioni frontali sugli argomenti in programma, esercitazioni di programmazione C svolte in classe.

Lectures will be divided in frontal lectures (42) and workshops (30).

Lectures on topics scheduled, C programming exercises carried out in class. Students will have to own a personal computer to complete practical programming assignments.


RISULTATI DI APPRENDIMENTO ATTESI LEARNING OUTCOMES
Conoscenze e comprensione.

Il corso si propone di fornire allo studente le seguenti conoscenze:
1) Archiettura di alto livello e funzionamento di un calcolatore elettronico
2) Concetti di base della codifica delle informazioni, con particolare riferimento alle codifiche binarie di
grandezze numeriche e alle codifiche di file di testo di livello zero (ASCII, UNICODE)
3) Concetti base e principali costrutti logici dei linguaggi di programmazione imperativa
4) Linguaggio di programmazione C: espressioni, istruzioni di controllo, strutture dati primitive e derivate, puntatori, liste collegate
5) I principali algoritmi di ordinamento, le loro caratteristiche e la loro implementazione in C.


Capacità di applicare conoscenze e comprensione.

Lo studente dovrà sviluppare la capacità di:
1) Risolvere problemi ed implementare semplici algoritmi utilizzando il linguaggio C
2) Analizzare la correttezza di un programma C ed essere in grado compilare, eseguire ed effettuare il debug di programmi C
3) Acquisire dimestichezza con la terminologia di dominio.


Competenze trasversali.

Le competenze acquisite in questo corso mirano a fornire allo studente gli strumenti necessari per:
1) Approfondire la conoscenza dell'hardware di un calcolatore
2) Acquisire dimestichezza ed approfondire la semantica e la sintassi di altri linguaggi di programmazione di alto livello


Knowledge and Understanding.

This course aims to provide students with the following knowledge:
1) High-level architecture and functioning of a computer
2) Basic concepts of information coding, with particular reference to binary encodings of numerical values and to low level text encodings (ASCII,
UNICODE)
3) Basic concepts and main constructs of imperative
programming languages
4) C programming language: expressions, control statements, primitive and derived data structures, pointers, linked lists
5) The main sorting algorithms, their characteristics and their implementation in C


Capacity to apply Knowledge and Understanding.

The student will develop the ability to:
1) Solve problems and implement simple algorithms using the C language
2) Analyze the correctness of a C program and be able to compile, run, and debug a C program
3) Become familiar with domain terminology


Transversal Skills.

The skills gained in this course aims to provide students with the tools needed to:
1) Deepen the knowledge of the hardware of a computer
2) Become familiar and deepen the semantics and syntax of other high-level programming languages



PROGRAMMA PROGRAM

1. Introduzione al corso e concetti di base dell'informatica.
2. Elaboratori elettronici e sistemi di elaborazione: concetti generali e architettura di alto livello.
3. Rappresentazione e codifica dell’informazione: caratteri, numeri, immagini e suoni (concetti base).
4. Elementi di programmazione: definizioni, introduzione agli strumenti (compilatori, editor, IDE), principali costrutti logici della programmazione imperativa
5. Il linguaggio C: espressioni, variabili, funzioni, istruzioni, puntatori, strutture e tipi di dato, librerie di Input/Output.
6. Strutture dati classiche e loro implementazione in C: liste, pile, code, alberi.
7. Oltre il C: cenni ad ulteriori tecnologie e linguaggi di programmazione.

1. Introduction the computer science, general concepts
2. Computers and their architecture
3. Data representation in computers: numbers, text, images and video (basic notions)
4. Introduction to programming: general concepts, basic constructs of imperative programming.
5. The C programming language: expressions, variables, functions, pointers, structures and types definition, I/O.
6. Classic data structures and their implementation in C: stacks, (linked)lists, trees.
7. Beyond C: hints on additional technologies and programming languages


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 soluzione di esercizi proposti su argomenti trattati nel corso, da completare in una o due ore;
- una prova orale, consistente in domande di approfondimento sugli esercizi della prova scritta o su qualsiasi altro argomento trattato nel corso.
La prova scritta è propedeutica alla prova orale, per accedere alla quale lo studente deve aver ottenuto almeno la sufficienza nella prova scritta.
La prova orale deve essere sostenuta nello stesso appello della prova scritta. Nel caso di esito negativo per la prova orale, lo studente deve ripetere anche la prova scritta.


Criteri di valutazione dell'apprendimento.

Per superare con esito positivo la prova orale lo studente dovrà dimostrare di possedere una complessiva conoscenza dei contenuti dell’insegnamento, esposti in maniera sufficientemente corretta con utilizzo di adeguata terminologia tecnica.
Per superare con esito positivo l’esame, lo studente deve dimostrare, attraverso le prove prima descritte, di aver ben compreso i concetti fondamentali dell’insegnamento ed in particolare di aver acquisito le competenze di base sulla programmazione ad oggetti.
La valutazione dell’apprendimento tiene conto delle conoscenze acquisite su tutti gli argomenti dell’insegnamento. La valutazione della prova orale sarà effettuata sulla base dei seguenti indicatori: completezza, esposizione, pertinenza.
La prova nel suo insieme consente di accertare sia la capacità di conoscenza e comprensione, sia la capacità di applicare le competenze acquisite, sia la capacità di esposizione, sia la capacità di apprendere e di elaborare soluzioni in autonomia.


Criteri di misurazione dell'apprendimento.

Viene attribuito un voto in trentesimi, con eventuale lode.”
Il voto minimo per il superamento dell’esame è 18/30.


Criteri di attribuzione del voto finale.

Perché l'esito complessivo della valutazione sia positivo, lo studente deve conseguire almeno 18 punti (su 30) sia nella prova pratica, sia in quella orale ed almeno 18 punti (su 30) nella valutazione complessiva.
Il voto complessivo è dato dalla media pesata dei voti ottenuti nelle due prove; il peso attribuito alla prova orale è doppio di quello della prova scritta.
La lode potrà essere attribuita agli studenti che raggiungano il voto massimo di 30/30 e dimostrino di essere in grado di applicare autonomamente conoscenze e competenze acquisite, anche a contesti diversi da quelli proposti a lezione. A tal fine si terrà conto della qualità dell'esposizione (utilizzo linguaggio appropriato), della capacità di correlare tra loro sia i diversi argomenti del corso.


Learning Evaluation Methods.

The assessment of student learning consists of two parts:
- A written test, consisting in the solution of exercises on topics covered in the course, to be completed in an hour or two;
- An oral, consisting of in-depth questions on the written test exercises or any other topic covered in the course.
The written test is in preparation for the oral exam, access to which the student must have obtained at least a pass in the written test.
The oral examination must be supported in the same session of the written test. In case of failure of the oral exam, the student must also repeat the written test.


Learning Evaluation Criteria.

In order to pass the oral test successfully, the student have to demonstrate an overall knowledge of the contents of the teaching, exposed in a sufficiently correctly manner with the use of appropriate technical terminology.
In order to pass the exam successfully, the student must demonstrate, through the tests described above, to have a good understanding of the fundamental concepts of course and in particular that has acquired the basic skills in object-oriented programming.
The assessment of learning takes into account the knowledge acquired on all teaching subjects. The assessment of the oral test will be carried out on the basis of the following indicators: completeness, exposure, relevance.
The test as a whole assesses both the capacity for knowledge and understanding, the ability to apply the skills acquired, the ability to be exposed, the ability to learn and development of solutions independently as well as the ability to work in a team.


Learning Measurement Criteria.

A mark in thirtieth is awarded, with possible praise."
The minimum mark for passing the exam is 18/30.


Final Mark Allocation Criteria.

The overall result of the assessment will be positive, if the student must achieve at least 18 points (out of 30) in both the practical and oral tests and at least 18 points (out of 30) in the overall assessment.
The overall grade is given by the weighted average of the marks obtained in the two tests; the weight given to the oral test is double that of the written test.
Praise may be given to students who reach a maximum grade of 30/30 and demonstrate that they are able to apply the knowledge and skills acquired autonomously, even in contexts other than those proposed in class. To this end, the quality of the presentation (use of appropriate language), the ability to correlate both the different topics of the course.



TESTI CONSIGLIATI RECOMMENDED READING

P. Zingaretti, E. Frontoni, Informatica: tematiche generali, Ed. Simple

A. Bellini, A. Guidi, Linguaggio C, Ed. McGraw-Hill

Le slide utilizzate a lezione, gli esercizi svolti e le prove di esame saranno rese disponibili sul portale https://learn.univpm.it

Si raccomanda di fare riferimento alla pagina del corso relativa all'anno accademico in corso.
Le slide utilizzate a lezione, gli esercizi svolti e le prove di esame saranno rese disponibili sul portale https://learn.univpm.it

P. Zingaretti, E. Frontoni, Informatica: tematiche generali, Ed. Simple

A. Bellini, A. Guidi, Linguaggio C, Ed. McGraw-Hill

Lectures slides, exercises and assignments will be available on the portal https://learn.univpm.it

Please be sure to refer to the course web page of the current academic year.

Lectures slides, exercises and assignments will be available on the portal https://learn.univpm.it


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

 


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