Guida degli insegnamenti

Syllabus

Partially translatedTradotto parzialmente
[3I084] - FONDAMENTI DI INFORMATICAFUNDAMENTALS OF COMPUTER SCIENCE [Cognomi A-L]
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: 2018-2019
Anno regolamentoAnno regolamento: 2018-2019
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 (60%) ed esercitazioni (40%).

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

Lectures will be divided in frontal lectures (60%) and workshops (40%).

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 valutazione dell'apprendimento, lo studente deve dimostrare, attraverso le prove prima descritte, di aver ben compreso i concetti esposti nel corso, possedendo quindi una conoscenza di base delle tecnologie trattate nel corso, nonchè avendo sviluppato una adeguata familiarità con il linguaggio di programmazione C (e di eventuali altri linguaggi presentati a lezione).


Criteri di misurazione dell'apprendimento.

Ad ognuna delle prove prima indicate è assegnato un punteggio compreso tra zero e trenta. Il voto complessivo, in trentesimi, è dato dalla media dei voti ottenuti nelle due prove, con arrotondamento all'intero per eccesso.


Criteri di attribuzione del voto finale.

Perché l'esito complessivo della valutazione sia positivo, lo studente deve conseguire almeno la sufficienza, pari a diciotto punti, in ognuna delle prove prima descritte.
La valutazione massima è raggiunta dimostrando una conoscenza approfondita dei contenuti del corso nell'ambito delle prove.
La lode è riservata agli studenti che, avendo svolto tutte le prove in modo corretto e completo, abbiano dimostrato una particolare brillantezza nella esposizione orale e/o nello svolgimento di progetti software.


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.

To successfully pass the assessment of learning, the student must demonstrate, through the tests described above, to possess a full understanding of the technologies covered in the course, as well as to master the C programming language (and any other language presented in class.)


Learning Measurement Criteria.

For each one of the tests specified before it is assigned a score between zero and thirty. The overall grade is the average of grades obtained in the two tests.


Final Mark Allocation Criteria.

In order for the overall outcome of the evaluation to be positive, the student must rate at least 18/30 points in each of the tests described above.
Praise is given to students who, having done all the tests correctly, have demonstrated a particular brilliance in argumentation and/or in the quality of code produced.



TESTI CONSIGLIATI RECOMMENDED READING

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

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

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

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


E-LEARNING E-LEARNING

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

Lectures slides, exercises and assignments will be available on the portal https://lms.univpm.it.
Please be sure to refer to the course web page of the current academic year.


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

 


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