- Docente: Paola Mello
- Credits: 12
- SSD: ING-INF/05
- Language: Italian
- Moduli: Paola Mello (Modulo 1) Federico Chesani (Modulo 2)
- Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
- Campus: Bologna
- Corso: First cycle degree programme (L) in Computer Engineering (cod. 0926)
Course contents
- Basic concepts about computing systems
- Basic concepts about machine languages and high-level programming languages
- The C programming language: values, types, constants, variables, pointers, control instructions, functions, procedures, vectors, strings, lists, struct data, files, structuring programs over multiple source files
- Primary principles and methodologies foralgorithm design and implementation. Components for the resolution of small-scale problems. Iteration and recursion
- Organization of the C runtime system. Run-time representation of programs and of function activation records. Dynamic memory allocation for scalar data, structured data, and arrays
- Abstract data types: lists, queues, stacks
- Sorting Algorithms
Readings/Bibliography
Recommended readings
About programming in C:
- H. M. Deitel, J. Deitel,"C: Corso Completo di Programmazione", Apogeo, Terza Edizione, 2007
- A. Kelley, I. Pohl, "C: Didattica e Programmazione", Pearson Education, Milano, 2004
- A. Bellini, A. Guidi,"Linguaggio C: Guida alla Programmazione", Seconda Edizione, Mc Graw-Hill, Milano, 2003
About computer science in general:
- S. Ceri, D. Mandrioli, L. Sbattella, "Informatica: Arte e mestiere", McGraw-Hill, 2004
Teaching methods
During the lessons, the primary issues related to in-the-small programming in C are discussed.
The course includes a wide set of lab exercises in the laboratory of Computer Science. The exercises provide a further occasion of in-depth practical learning, with design/implementation activities in the C language, under the supervision of the teachers of the Lab modules of the course. The main programming issues addressed in the course are associated with dedicated labs,so that students can actually design and implement the programming solutions to the issues investigated during the lessons.
Assessment methods
Assessment methods
- Exercises suggested during the lesson hours
- Lab exercises assisted by teacher and tutor
- Final examination with written questions&answers and programming exercises (solved directly in the lab)
- Final oral examination
Teaching tools
Teaching material
The slides used during the lessons (both in classroom and in labs) are freely available at the course Web site:
http://lia.deis.unibo.it/Courses/FondT1-0910-INF/
The hard copy of the same slides are also available at the copy center close to the Central Library of the Facoltà d'Ingegneria.
Texts and solutions of previous exams are also available at the course Web site:
http://lia.deis.unibo.it/Courses/FondT1-0910-INF/
Other tools:
Some Integrated Development Environments for the C language are available in the labs (where several classes of the course will be handled), on the course Web site, and downloadable from the MSDNAA site of the Facoltà di Ingegneria.
Links to further information
http://lia.deis.unibo.it/Courses/FondT1-1011-INF/
Office hours
See the website of Paola Mello
See the website of Federico Chesani