00819 - Programming (CL.B)

Academic Year 2021/2022

  • Moduli: Catia Prandi (Modulo 1) Roberto Girau (Modulo 2) Andrea Piroddi (Modulo 3)
  • Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2) Traditional lectures (Modulo 3)
  • Campus: Cesena
  • Corso: First cycle degree programme (L) in Computer Science and Engineering (cod. 8615)

Learning outcomes

During the course, the student will acquire the basic skills for understanding the logical structure of algorithms and will learn ho to develop code in C programming language.

Course contents

Introduction. Basics of program writing. The main constructs of C.Variables, data types, expressions, standard input/output, decision and control statements, arrays, strings, functions, variable scope, structures, pointers and file input/output. Design techniques and modularisation. The role of design in the development of solutions to problems. Top down structured design. Algorithms and dynamic data structures. An outline will be given of the role of standard algorithms and dynamic data structures (linked lists, heap, queue, recursion).

Readings/Bibliography

Brian W. Kernighan, Dennis M. Ritchie. Linguaggio C. Jackson libri.

Teacher's slides.

Teaching methods

Traditional lecture, practical class.

Assessment methods

The coursework consists of four incremental programming assignments of varying difficulty. Marks will be awarded for working programs which meet the specifications, simple and clear programming style, and internal documentation. The exam consists in a written and oral part.

Teaching tools

This course unit will not follow any book exactly but will provide printed notes of all slides used during the lectures. The course material is available in Virtuale.

Office hours

See the website of Catia Prandi

See the website of Roberto Girau

See the website of Andrea Piroddi