Modules | Area | Type | Hours | Teacher(s) | |
INFORMATICA | INF/01 | LEZIONI | 72 |
|
Imparare i principi della programmazione nel linguaggio C
tutte le informazioni del corso sono disponibili sulla Wiki (in italiano)
http://didawiki.di.unipi.it/doku.php/fisica/informatica/
The student who successfully completes the course will have the ability to write compile and run programs in the C language, to solve all kinds of problems. The students will be aware of the kind of problems that can be solved with a computer.
L'esame verifichera' la capiacita' dello studente di scrivere dei programmi C sequenziali non banali e di verificare l'acquisizione di nozioni di base di rappresentazione dell'informazioni, architetture e sistemi)
Metodo:
The assessment aims to verify that the students can write a C program that solves a given problem and have learnt basic concepts of internal data representation. system architecture and operating systems
Methods:
Capacita' di impostare programmi C sequenziali non banali organizzati su piu' file.
Ability to design non-trivial C programs arranged on more than one code file
Progetto didattico sviluppato durante il corso, esame orale
Project developed during the semester and oral examination
Lo studente imparera come affrontare problemi non banali da risolvere usando linguaggi imperativi e ricorsione
The student will learn how to tackle non trivial problems using imperative languages and recursion
Interazione diretta con lo studente nelle ore di laboratorio (4 alla settimana)
Direct interaction with the student during laboratory hours (4 per week)
Matematica di base (livello medio scuola superiore)
Non sono richiesti prerequisiti di programmazione)
Basic mathematics (average secondary school level)
No previous programming knowledge is required
Spiegazioni: cattedratiche
Attiita' da svolgere per l'apprendimento:
Frequenza: consigliata
Metodi didattici:
Delivery: face to face
Learning activities:
Attendance: Advised
Teaching methods:
Introduzione all'architettura dei calcolatori, cenni di sistemi operativi, programmazione in linguaggio C (tipi di dato primitivi, array, funzioni, enum, struct, programmazione ricorsiva, programmazione su piu' file, librerie standard, liste, alberi, algoritmi di ordinamento, rappresentazione dell'informazione all'interno del computer, cenni di errori numerici, computabilita' e complessita'
Introduction the use of a computer and to computer science. C programming: primitive data types, control constructs, array, structs, enum, functions, recursion, pointers, Strings, stdlib and file access, Linked lists, trees, sorting algorithms. Introductory notions to bynary representation , operating systems, errors, computability and complexity
Un qualsiasi libro di introduzione alla programmazione basato su C.
Ad esempio:
Kelley, Pohl. C: Didattica e Programmazione , Addison-Wesley.
Any introductory book to programming using the C language.
Kelley, Pohl. Programming in C , Addison-Wesley.
Contattare il docente per avere copia delle slide e degli esercizi proposti in laboratorio ad ogni lezione.
Contact the teacher to have a copy of the slide and the exercises proposed in the laboratory sessions
L'esame consiste in un progetto didattico sugli argomenti del corso e prova orale, ossia in un colloquio tra il candidato e il docente anche in forma di domanda/risposta, sui vari
argomenti trattati nel corso e sulle scelte effettuate nel progetto sviluppato.
Project (100-200 lines of C code) and oral examination.