Skip to main content
CODE 72536
ACADEMIC YEAR 2024/2025
CREDITS
SCIENTIFIC DISCIPLINARY SECTOR ING-INF/05
LANGUAGE Italian
TEACHING LOCATION
  • LA SPEZIA
SEMESTER 1° Semester
MODULES Questo insegnamento è un modulo di:
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

Provide 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

LESSONS

Class schedule

The timetable for this course is available here: Portale EasyAcademy

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.