Guida degli insegnamenti

Syllabus

Partially translatedTradotto parzialmente
[3I084] - FONDAMENTI DI INFORMATICAFUNDAMENTALS OF COMPUTER SCIENCE
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.

L'insegnamento mira a dare le basi concettuali dell'Informatica e della programmazione di un elaboratore elettronico digitale. Esso si pone due obiettivi:
1. introdurre consapevolmente lo studente alla rappresentazione digitale dell’informazione ed all’architettura funzionale di un calcolatore
2. spiegando come quest’ultimo elabori quell'informazione digitale, fornendo cioè i concetti fondamentali della “programmazione” di un elaboratore digitale: utilizzando i concetti base della “programmazione imperativa” (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 di eseguire ed effettuare il debug di programmi C
3) Acquisire dimestichezza con la terminologia di dominio.


Competenze trasversali.

L’acquisita capacità di pianificare i passi da svolgere per risolvere un dato problema, arrivando a concepire per esso un algoritmo risolutivo, contribuisce a sviluppare la capacità di “problem solving” dello studente. Questa capacità è il fulcro delle competenze e delle abilità che deve possedere un progettista in qualunque settore dell’attività umana, dai campi prettamente tecnici a quelli più umanistici.


Knowledge and Understanding.

The aim of the course is to provide the conceptual basis for computer science and the programming of a digital computer. It has two objectives:
1. consciously introduce the student to the digital representation of information and the functional architecture of a computer
2. explaining how the latter processes that digital information, that is, providing the fundamental concepts of the "programming" of a digital processor using the basic concepts of "imperative programming" (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 run and debug a Python program
3) Become familiar with domain terminology


Transversal Skills.

The acquired ability to plan the steps to be taken to solve a given problem, going so far as to devise a solution algorithm for it, helps to develop the student's problem solving ability. This ability is at the heart of the skills and abilities that a designer must possess in any area of human activity, from the purely technical fields to the more humanistic ones.



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 puto 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

A. Bellini, A. Guidi, Linguaggio C, Ed. McGraw-Hill
P. Deitel, H. Deitel : Linguaggio C. Fondamenti e tecniche di programmazione


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