ITALIANO
Italian
Nessuno
None
Lezioni frontali sugli argomenti in programma, esercitazioni di programmazione in C svolte in classe. Gli studenti dovranno eseguire gli esercizi pratici di programmazione su un computer personale o su un computer dell’aula informatica.
L'insegnamento è attivo sulla piattaforma Moodle di Ateneo
Lectures on the topics that are part of the course curricula, C programming exercises carried out in class. Students will have to perform the practical programming exercises on a personal computer or on a computer in the informatics room.
The teaching is active on the University's Moodle platform
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, puntatori, liste collegate ed alberi.
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 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, and trees
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 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
1. Introduzione al corso e concetti di base dell'informatica.
2. Elaboratori elettronici e sistemi operativi: concetti generali e architettura di alto livello.
3. Rappresentazione e codifica dell’informazione: caratteri, numeri, immagini e suoni.
4. Ambiente di programmazione: compilatori, editor, IDE, debugging
5. Elementi di programmazione: espressioni, variabili, istruzioni, tipi di dato, strutture di controllo, funzioni, ricorsione
6. Cenni alla complessità computazionale e sua applicazione nei metodi di ricerca e ordinamento (selection sort, bubble sort, insertion sort)
7. Input/output e gestione dei file
8. Puntatori, liste concatenate singole, pile e code
9. Cenni alle strutture dati più complesse (alberi e grafi)
1. Introduction to the course and basic concepts of computer science.
2. Electronic computers and operating systems: general concepts and high-level architecture.
3. Representation and coding of information: characters, numbers, images and sounds.
4. Programming environment: compilers, editors, IDEs, debugging
5. Programming elements: expressions, variables, instructions, data types, control structures, functions, recursion
6. Notes on computational complexity and its application in search and sorting methods (selection sort, bubble sort, insertion sort)
7. Input / output and file management
8. Pointers, single linked lists, stacks and queues
9. Outline of more complex data structures (trees and graphs)
L'apprendimento viene valutato sulla base di due prove. La prima di programmazione in C e la seconda orale su tutto il programma.
Per gli studenti e le studentesse con disabilità/invalidità o disturbo specifico di apprendimento (DSA), che abbiano presentato debita richiesta di supporto per affrontare lo specifico esame di profitto all’Info Point Disabilità/DSA dell’Ateneo, le modalità di esame saranno adattate alla luce di quanto previsto dalle linee guida di Ateneo
Viene valutata la capacità di programmare, cioè quella di concepire algoritmi per risolvere problemi ed implementarli in C.
Alla prova scritta viene assegnata una valutazione tra zero e trenta. Per accedere alla prova orale lo studente deve raggiungere un voto di almeno 18 allo scritto. Il voto orale può incrementare o abbassare di 6 punti il voto dello scritto.
Perché l'esito complessivo della valutazione sia positivo, lo studente deve conseguire almeno la sufficienza, pari a diciotto punti.
La lode è riservata agli studenti che, avendo svolto tutte le prove in modo corretto e completo, abbiano dimostrato una particolare brillantezza nella esposizione orale.
Learning is assessed on the basis of two tests. The first is programming in C and the second is an oral examination on the entire curricula.
For students with disabilities/invalidities or specific learning disorders (DSA), who have submitted a request for support to take the specific exam at the Disability/DSA Info Point of the University, the exam methods will be adapted in light of what is recommended by the University guidelines
The ability to program is evaluated, that is to conceive algorithms to solve problems and implement them in C.
The written test is assigned a score between zero and thirty. To access the oral exam, the student must achieve a grade of at least 18 in the written test. The oral mark can increase or decrease the written mark by 6 points.
For the overall outcome of the evaluation to be positive, the student must obtain at least the sufficiency, equal to eighteen points.
Honors are reserved for students who, having carried out all the tests correctly and completely, have demonstrated a particular brilliance in oral presentation
A. Bellini, A. Guidi, Linguaggio C, Ed. McGraw-Hill
P. Deitel, H. Deitel : Linguaggio C. Fondamenti e tecniche di programmazione
Materiale didattico disponibile al seguente indirizzo: https://learn.univpm.it
A. Bellini, A. Guidi, Linguaggio C, Ed. McGraw-Hill
P. Deitel, H. Deitel : Linguaggio C. Fondamenti e tecniche di programmazione
Slides and other support available at the following URL: https://learn.univpm.it
Università Politecnica delle Marche
P.zza Roma 22, 60121 Ancona
Tel (+39) 071.220.1, Fax (+39) 071.220.2324
P.I. 00382520427