ITALIANO
Italian
Nessuno
None
Lezioni frontali sugli argomenti in programma, esercitazioni di
programmazione C svolte in classe. Gli studenti dovranno possedere un
computer personale sul quale eseguire gli esercizi pratici di
programmazione.
Lectures, programming exercises in C carried out in class. A personal
computer is required to complete practical programming assignments.
Il corso si propone di fornire allo studente le seguenti conoscenze:
1) Architettura 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.
5) I principali algoritmi di ordinamento, le loro caratteristiche e la loro
implementazione in C.
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.
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.
This course aims to provide students with the following knowledge:
1) High-level architecture and functioning of a computer,
2) Basic concepts of information encoding, 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,
5) The main sorting algorithms, their characteristics and their
implementation in C
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.
The 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 highlevel
programming languages.
1) Architettura 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;
5) I principali algoritmi di ordinamento, le loro caratteristiche e la loro
implementazione in C.
1) High-level architecture and functioning of a computer,
2) Basic concepts of information encoding, 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,
5) The main sorting algorithms, their characteristics and their
implementation in C
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.
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).
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.
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 padronanza
degli argomenti del corso
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.
To successfully pass the assessment, the student must demonstrate,
through the tests described above, to have a full understanding of the
technologies covered in the course as well as of the C programming
language (and any other language presented in the class).
For each of the tests specified before, a score between zero and thirty is
assigned. The overall grade is the average of the marks obtained in the
two tests.
In order for the overall result of the assessment to be positive, the
student must obtain at least 18 points out of 30 in each of the tests
described above.
The "lode" is given to the students who, having correctly performed all
the tests, have demonstrated a particular mastery of the course topics.
- "Linguaggio C", A. Bellini, A. Guidi, edizioni McGraw-Hill
- (oppure) “Il linguaggio C. Principi di programmazione e manuale di
riferimento“, Brian W. Kernighan, Dennis M. Ritchie, edizioni Pearson,
2004.
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
- "Linguaggio C", A. Bellini, A. Guidi, edizioni McGraw-Hill
- (or) “Il linguaggio C. Principi di programmazione e manuale di
riferimento“, Brian W. Kernighan, Dennis M. Ritchie, edizioni Pearson,
2004.
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.
blended learning
blended learning
Università Politecnica delle Marche
P.zza Roma 22, 60121 Ancona
Tel (+39) 071.220.1, Fax (+39) 071.220.2324
P.I. 00382520427