Guida degli insegnamenti

Syllabus

Partially translatedTradotto parzialmente
[3I084] - FONDAMENTI DI INFORMATICAFUNDAMENTALS OF COMPUTER SCIENCE [Cognomi A-L]
Roberto RIGGIO
Lingua di erogazione: ITALIANOLessons taught in: ITALIAN
Laurea - [IT04] INGEGNERIA INFORMATICA E DELL'AUTOMAZIONE First Cycle Degree (3 years) - [IT04] COMPUTER AND AUTOMATION ENGINEERING
Dipartimento: [040040] Dipartimento Ingegneria dell'InformazioneDepartment: [040040] Dipartimento Ingegneria dell'Informazione
Anno di corsoDegree programme year : 1 - Secondo Semestre
Anno offertaAcademic year: 2023-2024
Anno regolamentoAnno regolamento: 2023-2024
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

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

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.


RISULTATI DI APPRENDIMENTO ATTESI LEARNING OUTCOMES
Conoscenze e comprensione.

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.


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, and trees
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 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)


MODALITÀ DI SVOLGIMENTO DELL'ESAME DEVELOPMENT OF THE EXAMINATION
Modalità di valutazione dell'apprendimento.

L'apprendimento viene valutato sulla base di due prove. La prima di programmazione in C e la seconda orale su tutto il programma


Criteri di valutazione dell'apprendimento.

Viene valutata la capacità di programmare, cioè quella di concepire algoritmi per risolvere problemi ed implementarli in C.


Criteri di misurazione dell'apprendimento.

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.


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.
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 Evaluation Methods.

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.


Learning Evaluation Criteria.

The ability to program is evaluated, that is to conceive algorithms to solve problems and implement them in C.


Learning Measurement Criteria.

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.


Final Mark Allocation Criteria.

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



TESTI CONSIGLIATI RECOMMENDED READING

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


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

 


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