Salta al contenuto principale della pagina

EMBEDDED SYSTEM PROGRAMMING

CODE 72536
ACADEMIC YEAR 2022/2023
CREDITS
  • 10 cfu during the 3nd year of 8784 INGEGNERIA MECCANICA (L-9) - LA SPEZIA
  • SCIENTIFIC DISCIPLINARY SECTOR ING-INF/05
    LANGUAGE Italian
    TEACHING LOCATION
  • LA SPEZIA
  • SEMESTER 1° Semester
    MODULES This unit is a module of:
    TEACHING MATERIALS AULAWEB

    OVERVIEW

    Computers are programmable machines that can execute assemply code. Although feasible, writing such low level code is extremely hard. High level languages allows to encode complex algorithms while abstracting from many physical details of a computer. Embedded devices require to easily switch from to abstract to the physical layer. The C programming language provides the access to both of them.

    AIMS AND CONTENT

    LEARNING OUTCOMES

    Provie the students with the know-how and the tools for developing software and, in particular, in the context of mechanic automation and mechatronics 

    AIMS AND LEARNING OUTCOMES

    Acquire the necessary knowledge for developing C applications

    Understand the structure of computers and the relation between the abstract programming objects and the low level hardware aspects.

    Improve the understanding of the basic concepts relevant for programming, compiling and verifying the software.

    TEACHING METHODS

    Oral lecture and practical exercises

    SYLLABUS/CONTENT

    1. Introduction to computer structure
    2. Compiling source code to machine executable code
    3. Algorithm design
    4. C Language: type, expressions, variables and state
    5. C Language: imperative fragment
    6. C Language: functions and libraries
    7. C Language: structs and union
    8. C Language: pointers and vectors

    RECOMMENDED READING/BIBLIOGRAPHY

    The C programming language.  Brian W. Kernighan, Dennis M. Ritchie

    TEACHERS AND EXAM BOARD

    Exam Board

    MASSIMO NARIZZANO (President)

    ENRICO SIMETTI

    GIOVANNI INDIVERI (President Substitute)

    LESSONS

    Class schedule

    All class schedules are posted on the EasyAcademy portal.

    EXAMS

    EXAM DESCRIPTION

    The exam is divided into two parts: one project and an oral presentation.

    Almost twenty days before the exam session the Professor will publish on aulaweb the project requirements and a deadline for the project commitment.

    The project should be completed alone without any external help. 

    The project will be divided into two small subprojects: the first one is about the implementation of Software in C, while the second one regards the topics explained in the second part of the Course.

    Once the student has submitted the project then the Professor will assign a grade to it.

    If the grade is greater or equal to 18 then the Student can attend the oral presentation. 

    A Student with a good project grade can postpone his oral presentation to another exam session, without submitting another project. 

    However, a student that attends an oral exam session and he wants to attend a future oral session has to submit a new project

    ASSESSMENT METHODS

    The Project aims to verify that the student has acquired the technical skills necessary for programming in C language. In this part, in addition to the knowledge, the student's synthesis ability will also be assessed, together with the degree of autonomy that student acquired. The oral part aims to verify that the student has acquired knowledge on the structure of electronic computers and its internal mechanisms. A further objective of the oral part is to verify that the student has learned the abstract concepts related to programming and the software development process.

    Exam schedule

    Date Time Location Type Notes