Guida degli insegnamenti

Syllabus

Partially translatedTradotto parzialmente
[3I084] - FONDAMENTI DI INFORMATICAFUNDAMENTALS OF COMPUTER SCIENCE
Adriano MANCINI
Lingua di erogazione: ITALIANOLessons taught in: ITALIAN
Laurea - [IT14] INGEGNERIA DELL’INFORMAZIONE PER VIDEOGAME E REALTÀ VIRTUALE First Cycle Degree (3 years) - [IT14] INFORMATION ENGINEERING FOR VIDEOGAMES AND VIRTUAL REALITY
Dipartimento: [040040] Dipartimento Ingegneria dell'InformazioneDepartment: [040040] Dipartimento Ingegneria dell'Informazione
Anno di corsoDegree programme year : 1 - Primo 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

Non sono richieste conoscenze preliminari

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 possedere un computer personale sul quale eseguire gli esercizi pratici di programmazione. Il corso sarà suddiviso in lezioni (48h) ed esercitazioni (24h)

Lectures on the topics that are part of the course curricula, C programming exercises carried out in class. Students will have to own a personal computer to complete practical programming assignments. Lectures will be divided in frontal lectures (48h) and exercises (24h).


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: dal “linguaggio macchina” del processore al più diffuso linguaggio di programmazione evoluto, cioè il C/C++, utilizzando sia i concetti base della “programmazione imperativa” (C) che quelli della “programmazione ad oggetti” (C++).


Capacità di applicare conoscenze e comprensione.

L’apprendimento dei contenuti teorici viene verificato in aula tramite esercizi online ed approfondito mediante scrittura, compilazione ed esecuzione di programmi in C/C++ direttamente sui propri dispositivi. Alla conclusione del corso gli studenti sono quindi in grado di formulare semplici problemi computazionali in forma di algoritmi e tradurli in programmi usando la sintassi del C/C++


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: from the "machine language" of the processor to the most widespread evolved programming language, that is the C/C++, using both the basic concepts of "imperative programming" (C) and those of "object programming" (C++)


Capacity to apply Knowledge and Understanding.

The learning of theoretical contents is verified in the classroom through online exercises and deepened directly on your devices by
writing, compiling and executing programs in C/C++. At the end of the course, students are then able to formulate simple
computational problems in the form of algorithms and translate them into programs using the syntax of C/C++


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 (scritta) di programmazione in C e la seconda di esercizi sulla teoria della rappresentazione delle informazioni e della programmazione in C++ (orale).


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.

Si deve ottenere almeno una votazione di 15/30 per accedere alla prova orale.


Criteri di attribuzione del voto finale.

per la valutazione finale si effettua la media dei voti riportati nelle due prove. La lode potrà essere data allo studente che dimostri una piena padronanza delle tematiche.


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.

You must obtain at least a score of 15/30 to access the oral exam.


Final Mark Allocation Criteria.

for the final evaluation, the marks obtained in the two tests will be averaged. Laude could be assigned to students with excellent profile demonstrated during the development of the exam.



TESTI CONSIGLIATI RECOMMENDED READING

Materiale didattico disponibile sul sito https://learn.univpm.it/
A. Bellini, A. Guidi, Linguaggio C, Edizione 6, Ed. McGraw-Hill, ISBN-10. 8838699275 ; ISBN-13. 978-8838699276
P. Deitel, H. Deitel : Il linguaggio C. Fondamenti e tecniche di programmazione, EAN: 9788891901651

Slides and other supporting materials will be available at: https://learn.univpm.it/

A. Bellini, A. Guidi, Linguaggio C, Edizione 6, Ed. McGraw-Hill, ISBN-10. 8838699275 ; ISBN-13. 978-8838699276
P. Deitel, H. Deitel : Il linguaggio C. Fondamenti e tecniche di programmazione, EAN: 9788891901651


E-LEARNING E-LEARNING

NO

NO


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