CODE 66061 ACADEMIC YEAR 2021/2022 CREDITS 6 cfu anno 1 INGEGNERIA ELETTRONICA E TECNOLOGIE DELL'INFORMAZIONE 9273 (L-8) - GENOVA SCIENTIFIC DISCIPLINARY SECTOR ING-INF/01 LANGUAGE Italian TEACHING LOCATION GENOVA SEMESTER 2° Semester TEACHING MATERIALS AULAWEB OVERVIEW In this course the student will gain a broad understanding of the fundamental concepts of imperative programming paradigm. AIMS AND CONTENT LEARNING OUTCOMES Upon successful completion of this course, the student will have reliably demonstrated the ability to: 1. solve basic programming problems using a variety of skills and strategies 2. examine working programs to identify their structures 3. apply appropriate techniques to create programs from models AIMS AND LEARNING OUTCOMES The aim of the course is to provide students with the basis for the development of simple software projects. The student is introduced to the fundamentals concepts of imperative programming and supported through live exercises solved usgin the computer during lectures. Practice sessions, integrated with lectures, will be offered to the student in order to apply the acquired knowledge to the design and development of real software programs in C and C# languages. The teaching aims to train a professional figure capable of designing and implementing software applications. PREREQUISITES No prerequisites needed. TEACHING METHODS The course is composed of a set of frontal lessons and a set of practice sessions. During the frontal lesson, the teacher presents the topics providing also examples of live code that are tested on a real tool chain. Students can use their own laptops during the lecture in order to reproduce what is proposed by the teacher. During the practice sessions, the students have to face up with real problems that they should solve by applying the techniques learnied during the lectures. SYLLABUS/CONTENT The titles of the main contents discussed during frontal lessons are provided in the following list. Each title is associated with a relevatn link where it is possible to obtain the lecture notes: Introduction [DOWNLOAD] Hardware ans Software [DOWNLOAD] C language basis [DOWNLOAD] Control Structures [DOWNLOAD] Program control [DOWNLOAD] Functions [DOWNLOAD] Array, Sorting and Searching [DOWNLOAD] Pointers [DOWNLOAD] The Simpletron [DOWNLOAD] Data Structures [DOWNLOAD] RECOMMENDED READING/BIBLIOGRAPHY Lecture notes Paul Deitel, Harvey Deitel. «C How to Program», TEACHERS AND EXAM BOARD RICCARDO BERTA Ricevimento: Appointments. Writing to riccardo.berta@unige.it Exam Board RICCARDO BERTA (President) FRANCESCO BELLOTTI ALESSANDRO DE GLORIA (President Substitute) LESSONS LESSONS START https://corsi.unige.it/9273/p/studenti-orario Class schedule The timetable for this course is available here: Portale EasyAcademy EXAMS EXAM DESCRIPTION The exam is composed by a practical part (in a computer lab) for the creation of a software program and an oral part. Students can use their laptop durign the practical test and it is possible to consult any type of material that is useful for the realization of the software project (e.g. lecture notes, examples, books, etc.). The oral part consists of questions on the theoretical topics covered during lectures. It is necessary to apply for the practical part before the oral part. ASSESSMENT METHODS The time available for the practical exam is 4 hours, while the oral part lasts about 15 minutes. The evaluation of the practical test is based on the source code provided by the student at the end of the test, in particular on its functionality, on the quality of the code and on the clarity in the writing. Exam schedule Data appello Orario Luogo Degree type Note 17/01/2022 09:30 GENOVA Scritto 21/01/2022 09:30 GENOVA Orale 14/02/2022 09:30 GENOVA Scritto 13/06/2022 09:30 GENOVA Scritto 17/06/2022 09:30 GENOVA Orale 04/07/2022 09:30 GENOVA Scritto 08/07/2022 09:30 GENOVA Orale 12/09/2022 09:30 GENOVA Scritto 16/09/2022 09:30 GENOVA Orale