Italiano
Italian
nessuno
none
I contenuti teorici sono affidati principalmente alle lezioni videoregistrate disponibili sul sito di e_learning e ai testi consigliati. In aula vengono sinteticamente richiamati i contenuti teorici, dopodiché viene effettuata una sessione di domande e risposte. La maggior parte del tempo è spesa con esercitazioni pratiche di programmazione in C++ utilizzando il Laptop oppure lo Smartphone.
The theoretical content is mainly based on video lessons available on the e_learning site and recommended texts. The theoretical contents are briefly recalled in the classroom, after which a question and answer session is carried out. Most of the time you spend practical programming exercises in C++ using your Laptop or Smartphone.
L'insegnamento mira a dare le basi dell'Informatica e della programmazione di un elaboratore elettronico digitale. Esso si pone due obiettivi: 1. introdurre consapevolmente lo studente ai concetti base dell'architettura di un calcolatore e della rappresentazione binaria dell'informazione. 2. spiegare come si elabora l'informazione digitale, cioè fornire i rudimenti della programmazione di un elaboratore digitale e dei linguaggi di programmazione utilizzando il paradigma imperativo e introducendo gli elementi di quello ad oggetti e del linguaggio Assembly.
Alla conclusione del corso gli studenti saranno in grado di codificare correttamente l'informazione in formato digitale e formulare semplici problemi computazionali in forma di algoritmi e tradurli in programmi usando correttamente la sintassi di un linguaggio di programmazione
La capacità di pianificare i passi da svolgere per risolvere un problema contribuiranno a sviluppare l'autonomia di giudizio e il pensiero
comutazionale degli studenti.
The course aims to give the basics of Computer Science and digital electronic computer programming. It has two objectives: 1.consciously introduce students to the basic concepts of computer architecture and binary encoding. 2. explain how to process digital information, that is, provide the elements of digital computer programming and of programming languages using the imperative paradigm and introducing the elements of object oriented and Assembly.
At the end of the course, students will be able to properly encode the information into digital format and making simple computational problems in the form of algorithms and translate them into programs using correct syntax of a programming language.
The ability to plan the steps to be done to solve a problem will help to develop the autonomy of judgment and computational thinking skills of students.
Codifica binaria dei testi: ASCII, ISO_8859/1-15, UNICODE, UTF-8. Codifica binaria dei suoni, delle immagini e dei video. Codifica dei numeri Naturali, Interi e Reali. Principali operazioni aritmetiche. Architettura di Von Neumann. Architettura funzionale di un microprocessore (IA-32). Memorie di Massa. Programmazione in Assembly: operandi, istruzioni, direttive dati, etichette, sottoprogrammi, Stack, "call" e "ret", programmazione modulare, I/O, compilazione. Evoluzione dei Linguaggi Imperativi e Programmazione strutturata. Software, copyright e copyleft. Tipi di dato fondamentali. Conversioni di tipo. Funzioni di libreria. Assegnamento. Operatori aritmetici, logici e relazionali. Il concetto di I/O-stream e file-stream. Istruzioni condizionali. Istruzioni ripetitive. Istruzioni di salto. Teorema di Bohm-Jacopini. Il concetto di funzione. Funzioni ricorsive. Puntatori e riferimenti. Passaggio argomenti per valore e per riferimento. Array. Stringhe. Array come argomenti di funzioni. Il tipo struct. Memoria dinamica: new e delete. Liste semplici e principali operazioni con le liste. Alberi. Nozioni basilari di Programmazione Orientata agli Oggetti
Binary encoding of sounds (WAW, MP3), images (BMP, GIF, JPEG) and videos (MPEG2, MPEG4, DIVx, XVID). Unsigned, Integers and Real Numbers (IEEE754). Arithmetic Operations in binary.Von Neumann Architecture. Functional Architecture of a microprocessor (IA-32). Storage: magnetic and optical. CD-ROM, CD-R, CD-RW, DVDAssembly programming: operands, instructions, directives, labels, subroutines, Stack, "call" and "ret", modular programming, I/O, compilation. Imperative languages evolution and structured programming. Software, copyright and copyleft. Foundamentals of data Structure. Casting. Library functions. Assignment. Arithmentic, logical and relational operators. I/O-stream and file-stream. Conditional Instructions. Cyclic instructions. Jumping. Theorem of Bohm-Jacopini. Functions. Recursive functions. Pointers and references. Parameettrss pasinghrough values and through references. Array. Strings. Array as parameters to functions. Struct. Dynamic memory: new and delete. Lists, trees. Notions of Object Oriented Programming
L'apprendimento viene valutato sulla base di due prove. La prima di programmazione in C++ e la seconda di esercizi sulla teoria della rappresentazione delle informazioni e della programmazione in C++.
Viene valutata la capacità di programmare, cioè quella di concepire algoritmi per risolvere problemi ed implementarli in C++.
Normalmente la prova di programmazione vale 18/30 e quella di teoria vale 12/30.
per la valutazione finale si sommano i voti riportati nelle due prove
Learning is assessed on the basis of two tests. The first is programming in C++ and the second is exercises on the theory of information representation and programming in C++.
The ability to program is evaluated, that is to conceive algorithms to solve problems and implement them in C++.
Normally the programming test is worth 18/30 and the theory test is worth 12/30.
for the final evaluation, the marks obtained in the two tests will be added together
https://learn.univpm.it/course/view.php?id=7094
Luis Joyanes Aguilar, "Fondamenti di programmazione in C++", The McGraw-Hill Companies.
John R. Hubbard, "Programmare in C++, seconda edizione, (470 esercizi svolti)", The McGraw-Hill Companies
https://learn.univpm.it/course/view.php?id=7094
Luis Joyanes Aguilar, "Fondamenti di programmazione in C++", The McGraw-Hill Companies.
John R. Hubbard, "Programmare in C++, seconda edizione, (470 esercizi svolti)", The McGraw-Hill Companies
Università Politecnica delle Marche
P.zza Roma 22, 60121 Ancona
Tel (+39) 071.220.1, Fax (+39) 071.220.2324
P.I. 00382520427