PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

Elenco notifiche



Programming techniques

02OJPUT, 02OJPUU

A.A. 2024/25

Course Language

Inglese

Degree programme(s)

Master of science-level of the Bologna process in Agritech Engineering - Torino
Master of science-level of the Bologna process in Quantum Engineering - Torino

Course structure
Teaching Hours
Lezioni 39
Esercitazioni in aula 6
Esercitazioni in laboratorio 15
Lecturers
Teacher Status SSD h.Les h.Ex h.Lab h.Tut Years teaching
Burrello Alessio   Ricercatore L240/10 IINF-05/A 39 6 0 0 1
Co-lectures
Espandi

Context
SSD CFU Activities Area context
ING-INF/05 6 B - Caratterizzanti Ingegneria della sicurezza e protezione dell'informazione
2024/25
The knowledge of computer systems and programming are fundamental elements in the skill set of AgriTech engineers, enabling them to define, develop, evaluate, and compare technological solutions that can bring value to a company. The aim of the course is to provide students with the necessary background in: - Computer programming, with an introduction to the C language as a second programming language, in addition to Python, and as a tool for problem-solving. - The architecture of computer systems, with particular emphasis on embedded systems and Internet of Things (IoT) nodes, which constitute the “brain” of smart sensors used in the AgriTech domain.
The knowledge of computer systems and programming are fundamental elements in the skill set of engineers, enabling them to define, develop, evaluate, and compare technological solutions that can bring value to a company. The aim of the course is to provide students with the necessary background in: - Computer programming, with an introduction to the C language as a second programming language, in addition to Python, and as a tool for problem-solving. - The architecture of computer systems, with particular emphasis on embedded systems and Internet of Things (IoT) nodes.
At the end of the course, students will develop: - An understanding of computer architectures and of the main components of an embedded system - Problem-solving abilities, allowing them to approach and characterize a problem from the point of view of the application context and/or of the algorithmic strategies adopted - Elementary notions of complexity analysis - Knowledge of the basic constructs of the C language, such as: scalar data types, elementary I/O, iterative and conditional constructs, functions, structured data types, struct, arrays and matrices, strings of characters.
At the end of the course, students will develop: - An understanding of computer architectures and of the main components of an embedded system - Problem-solving abilities, allowing them to approach and characterize a problem from the point of view of the application context and/or of the algorithmic strategies adopted - Elementary notions of complexity analysis - Knowledge of the basic constructs of the C language, such as: scalar data types, elementary I/O, iterative and conditional constructs, functions, structured data types, struct, arrays and matrices, strings of characters.
- Programming basics in Python or other language - Understanding of calculus and statistics - Elementary knowledge of digital electronics
- Programming basics in Python or other language - Understanding of calculus and statistics - Elementary knowledge of digital electronics
Part 1: Basics of computer and embedded systems architecture [15h] - Architecture and functioning of a CPU and of the central memory - Concepts of pointers and addresses - Compilation, linking, execution, and program organization in memory - Microprocessors versus microcontrollers - Microcontrollers peripherals and buses Part 2: C Programming [30h] - Basic types and I/O - Conditional and iterative constructs - Functions and parameters passing (by value/reference) - Aggregated data types (arrays, matrices, strings and structs) - Pointers and dynamic allocation Part 3: Elementary problem-solving [15h]: - Computational complexity - Problems on numbers - Problems on text - Verification, selection, and sorting problems.
Part 1: Basics of computer and embedded systems architecture [15h] - Architecture and functioning of a CPU and of the central memory - Concepts of pointers and addresses - Compilation, linking, execution, and program organization in memory - Linux, gcc, stack TCP/IP, remote access (ssh, sftp, scp) - Microprocessors versus microcontrollers Part 2: C Programming [30h] - Basic types and I/O - Conditional and iterative constructs - Functions and parameters passing (by value/reference) - Aggregated data types (arrays, matrices, strings and structs) - Pointers and dynamic allocation Part 3: Elementary problem-solving [15h]: - Computational complexity - Problems on numbers - Problems on text - Verification, selection, and sorting problems.
The course is composed of integrated theoretical lectures and exercise sessions. Additionally, laboratory sessions will allow students to put in practice the notions learned in class through the solution of programming exercises.
The course is composed of integrated theoretical lectures and exercise sessions. Additionally, laboratory sessions will allow students to put in practice the notions learned in class through the solution of programming exercises.
The course does not have an official textbook. Slides shown in class, as well as additional documents, URLs, or any other necessary material, will be provided on the course’s website. Material for further study can be found in the following textbooks: - Deitel & Deitel, "C: how to program", Pearson Prentice Hall, 2010 - Vahid & Givargis, “Embedded System Design: A Unified Hardware/Software Introduction”, Wiley, 2002
The course does not have an official textbook. Slides shown in class, as well as additional documents, URLs, or any other necessary material, will be provided on the course’s website. Material for further study can be found in the following textbooks: - Deitel & Deitel, "C: how to program", Pearson Prentice Hall, 2010 - Vahid & Givargis, “Embedded System Design: A Unified Hardware/Software Introduction”, Wiley, 2002
Dispense;
Lecture notes;
Modalità di esame: Prova scritta in aula tramite PC con l'utilizzo della piattaforma di ateneo;
Exam: Computer-based written test in class using POLITO platform;
... The exam will last 1h30 and will consist of: - Closed-book multiple-choice or open-ended questions and exercises. - Programming and problem-solving exercises in C. The maximum score will be 33 points (corresponding to 30 cum laude).
Gli studenti e le studentesse con disabilità o con Disturbi Specifici di Apprendimento (DSA), oltre alla segnalazione tramite procedura informatizzata, sono invitati a comunicare anche direttamente al/la docente titolare dell'insegnamento, con un preavviso non inferiore ad una settimana dall'avvio della sessione d'esame, gli strumenti compensativi concordati con l'Unità Special Needs, al fine di permettere al/la docente la declinazione più idonea in riferimento alla specifica tipologia di esame.
Exam: Computer-based written test in class using POLITO platform;
The exam will last 1h30 and will consist of: - Closed-book multiple-choice or open-ended questions and exercises. - Programming and problem-solving exercises in C. The maximum score will be 33 points (corresponding to 30 cum laude).
In addition to the message sent by the online system, students with disabilities or Specific Learning Disorders (SLD) are invited to directly inform the professor in charge of the course about the special arrangements for the exam that have been agreed with the Special Needs Unit. The professor has to be informed at least one week before the beginning of the examination session in order to provide students with the most suitable arrangements for each specific type of exam.
Esporta Word