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 on the topics in the syllabus and numerous C programming exercises conducted in class. Students are expected to have a personal computer on which to interactively perform hands-on exercises in programming.
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 file binari.
3) Concetti base e principali costrutti logici dei linguaggi di programmazione imperativa e strutturata.
4) Linguaggio di programmazione C: espressioni, istruzioni di controllo, procedure, funzioni e buone pratiche di programmazione.
5) I principali algoritmi per l'elaborazione delle strutture dati, loro caratteristiche e loro implementazione in linguaggio C.
6) Introduzione alle problematiche di tipo numerico nel contesto ingegneristico con esempi relativi.
Lo studente dovrà sviluppare la capacità di:
1) Risolvere problemi ed implementare algoritmi utilizzando il linguaggio C.
2) Analizzare la correttezza di un programma C ed essere in grado di compilare, eseguire ed effettuare il debug di programmi C.3) Acquisire dimestichezza con la terminologia di dominio.
4) Acquisire provata competenza pratica con la partecipazione attiva alle sessioni di esercitazioni in aula.
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 esperienza nella programmazione e comprendere i principi sulla semantica e la sintassi dei linguaggi di programmazione di alto livello in generale.
The course aims to provide the student with the following knowledge:
1) High-level architecture and operation of an electronic computer.
2) Basic concepts of information encoding, with special reference to binary encodings of numerical quantities and encodings of text and binary files.
3) Basic concepts and main logical constructs of imperative and structured programming languages.
4) C programming language: expressions, control statements, data structures, procedures, functions, and programming best practices.
5) The main algorithms for processing data structures, their characteristics and implementation in C language.
6) Introduction to numerical problems in the engineering context with related examples.
The student should develop the ability to:
1) Solve problems and implement algorithms using the C language.
2) Analyze the correctness of a C program, be able to compile, execute and debug C programs.
3) Become familiar with domain terminology.
4) Acquire proven practical competence with active participation in classroom practice sessions.
The skills acquired in this course aim to provide the student with the tools necessary to:
1) Deepen their knowledge of computer hardware.
2) Gain experience in programming and understand the principles on semantics and syntax of high-level programming languages in general.
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 e di file binari;
3) Concetti base e principali costrutti logici dei linguaggi di programmazione imperativa e strutturata;
4) Linguaggio di programmazione C: espressioni, istruzioni di controllo, procedure, funzioni e buone pratiche di programmazione.
5) I principali algoritmi per l'elaborazione delle strutture dati, loro caratteristiche e loro implementazione in linguaggio C.
6) Introduzione alle problematiche di tipo numerico nel contesto ingegneristico con esempi relativi.
1) High-level architecture and operation of an electronic computer.
2) Basic concepts of information encoding, with special reference to binary encodings of numerical quantities and encodings of text and binary files.
3) Basic concepts and main logical constructs of imperative and structured programming languages.
4) C programming language: expressions, control statements, data structures, procedures, functions and programming best practices.
5) The main algorithms for processing data structures, their characteristics and implementation in C language.
6) Introduction to numerical problems in the engineering context with related examples.
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 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.
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.
Assessment of students' level of learning consists of two tests:
- a written test, consisting of the solution of proposed exercises and questions on topics covered in the course, to be completed in two hours;
- an oral test, consisting of in-depth questions on the exercises of the written test or on any other topic covered in the course.
The written test is preparatory to the oral test, for access to which the student must have obtained at least a passing grade in the written test.
The oral test must be taken in the same exam session call as the written test. In case of failure for the oral test, the student must also repeat the written test.
To successfully pass the learning assessment, the student must demonstrate, through the tests described earlier, that he or she has a good understanding of the concepts laid out in the course, thus possessing a basic knowledge of the technologies covered in the course, as well as having developed an adequate proficiency with the C programming language.
Each of the tests indicated above is assigned a score between zero and thirty. The overall grade, in thirtieths, is given by the average of the marks obtained in the two tests, rounded up to the nearest whole number.
For the overall assessment to be positive, the student must achieve at least a sufficiency, equal to eighteen points, in each of the tests described above.
The maximum grade is achieved by demonstrating a thorough knowledge of the course content within the tests.
“Lode” is reserved for students who, having taken all the tests correctly and completely, have demonstrated a particular mastery of the course topics
- "Linguaggio C", A. Bellini, A. Guidi, 6-ed McGraw-Hill
- (oppure) “Informatica: Arte e Mestiere 4/ed",Dino Mandrioli, Stefano Ceri, Licia Sbattella, Paolo Cremonesi, Giampiero Cugola, McGraw-Hill.
Le slide utilizzate a lezione e gli esercizi svolti saranno resi disponibili sul portale https://lms.univpm.it. Si raccomanda di fare riferimento alla pagina del corso relativa all'anno accademico in corso.
- - "Linguaggio C", A. Bellini, A. Guidi, 6-ed McGraw-Hill
- (oppure) “Informatica: Arte e Mestiere 4/ed",Dino Mandrioli, Stefano Ceri, Licia Sbattella, Paolo Cremonesi, Giampiero Cugola, McGraw-Hill.
Lectures slides and exercises 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.
Università Politecnica delle Marche
P.zza Roma 22, 60121 Ancona
Tel (+39) 071.220.1, Fax (+39) 071.220.2324
P.I. 00382520427