B0040 - LABORATORIO DI INFORMATICA P-1-LU

Academic Year 2023/2024

  • Teaching Mode: Traditional lectures
  • Campus: Bologna
  • Corso: First cycle degree programme (L) in Mechatronics (cod. 6009)

Learning outcomes

The student learns to design an algorithmic solution of a given problem using the C language.

Course contents

Topic list:

  • Operating system and terminal usage.
  • Introduction to the C language and related development tools (compiling, linking, debugging).
  • Numeric data, variables, constants, identifiers.
  • Representation of numeric and alphanumeric data.
  • Elementary instructions, control flow and I/O.
  • Vectors, strings and matrices.
  • Functions and language libraries.
  • Aggregate types.
  • File management, command line input.
  • Main search and sorting algorithms on vectors.
  • Dynamic allocation and recursion.
  • Cross-compilation and programming on embedded devices

Readings/Bibliography

  • Kernighan, Ritchie: , "C Programming Language", 2nd Ed, Pearson, 1988.
  • H. M. Deitel, P. J. Deitel: "C How to Program", 8th Ed, Pearson, 2015.

Teaching methods

Examples and exercises will be conducted in the lab during the course. The course includes the use of a development environment for applications in C language mainly for PC.

Assessment methods

The assessment consists of a laboratory test that requires solving a problem by building a program in the C language in which you must demonstrate that you can actually produce an executable program.

Teaching tools

  • Compiler (e.g. GCC, Clang)
  • Debugger (e.g. GDB, LLDB)
  • Integrated development environment (e.g. Visual Studio, XCode, CLion)

Office hours

See the website of Francesco Barchi