Robots are programmed machines based on multi-task, distributed and concurrent programming. The ARP course expands the so called system programming level. The student will learn how to use the operating system's services to design such concurrent sitributed applications. In addition, robotic programs must be reliable and portable through differenet kernels, different versions and different architectures/electronics. In general, programming in Robotics encompasses different topics: 1) writing and debugging a soft/hard real time programme, 2) the operating system structure, and its relevant features, 3) concurrent / distributed programming, 4) designing complex, distributed, modular software applications. ARP covers mostly the mid topics of the list above. ARP, RTOS and SOFAR cooperate in addressing all topics. State-of-the-art languages are used, in particular C, C++ and Rust, together with ISO/IEC 9945 POSIX framework
The goal of the course is to give the students the fundamentals of POSIX programming, concurrent programming, and inter-process communication (i.e., interrupts, signals, pipes, threads, semaphores, shared memory, sockets, publish/subscribe methods). The objective involves both theoretical knowledge and practical work (coding for multiprocess / distributed systems). State-of-the-art programming languages are used in coding, in particular C and rust.
This is a sample scheme based on the flipped classroom model.. The actual scheme will be adapted to schedule, calendar and course organisation
The course is composed by 12 modules, one per week.
Each module includes an assignment whose solution is discussed in a successive module. The reference framework is the POSIX standard. Languages are C/C++ and Rust.
The whole study material (reference textbooks, slides, examples) is available in the AulaWeb portal.
Ricevimento: Students having troubles in learning the course concepts can get in touch with the teacher: during classes or immediately after contacting the teacher through internet, any time, at the following addresses: renato.zaccaria@unige.it (email) renato.zaccaria (skype name) using instant messages through Skype The teacher's office is located in Genova, Viale Causa 13, floor 0.
RENATO UGO RAFFAELE ZACCARIA (President)
ANTONIO SGORBISSA
FULVIO MASTROGIOVANNI (President Substitute)
https://corsi.unige.it/10635/p/studenti-orario
The final exam is only one othe component of the assessment process. The exam mark will contribute approximatively with 22% - 33% of the full assessment.
The exam consists in an on line test on the AulaWeb portal, with questions related to the learning outcomes. The test is done in presence in the classroom.
The course implements a continuous assessment process. All the assignments proposed to students every week may contribute to it. Intermediate and final, more complex, assignments will be also proposed. Assignments are evaluated if delivered in a regular basis, respecting specific deadlines.
The final mark will take into account both the exam and the continuous evaluation of assessments, giving specific values to the different components.
All the assignment deadlines will be closed before the last exam session of the semester s(approximatively end of February for semester 1 and mid September for semester 2).
Special assessments will be defined for those students who decide to pass the exam in the second semester.