CODE 66052 ACADEMIC YEAR 2022/2023 CREDITS 9 cfu anno 1 INGEGNERIA BIOMEDICA 8713 (L-8) - GENOVA SCIENTIFIC DISCIPLINARY SECTOR INF/01 LANGUAGE Italian TEACHING LOCATION GENOVA SEMESTER Annual PREREQUISITES Propedeuticità in uscita Questo insegnamento è propedeutico per gli insegnamenti: Biomedical Engineering 8713 (coorte 2022/2023) FUNDAMENTALS OF COMPUTER SCIENCE 66052 2022 TEACHING MATERIALS AULAWEB OVERVIEW The purpose of the course is to provide the tools to imperative programming through the introduction of high-level languages. AIMS AND CONTENT LEARNING OUTCOMES This course aims to provide the basis knowledge of computer programming. We will teach how to analyze simple problems, how to solve them with procedural algorithms, with an object oriented programming language. We will teach the basis to solve simple data analysis and numerical calculation problems. AIMS AND LEARNING OUTCOMES In particular, the following topics will be covered: Basics about computers: data representation and arithmetic processors; Computer architecture hints and operating systems for the execution basic understanding of programs. Introduction to Programming: the high-level programming languages; state and change of state; statements and basic instructions; basic and structured types;; simple algorithms and their implementation; structured and modular programming. Programming: design of sequential size programs starting from the informal specification of the problem; compilation; code execution; basic ideas of testing. In the first part of the course (first two weeks) we will introduce MATLAB, an environment for the numerical calculation and statistical analysis. The programming parts will use a subset of the C ++ language as an example of high-level language. At the end of the course students will be able to solve simple programming problems, even with the use of external libraries, and above all they will be able to understand and modify C ++ programs that take advantage of the object-oriented programming paradigm. TEACHING METHODS The course will have 2 hours per week of theory lectures and 2 hours of practical lessons and exercises. SYLLABUS/CONTENT Basics about computers: data representation and arithmetic processors; Computer architecture hints and operating systems for the execution basic understanding of programs. Introduction to Programming: the high-level programming languages; state and change of state; statements and basic instructions; basic and structured types;; simple algorithms and their implementation; structured and modular programming. Programming: design of sequential size programs starting from the informal specification of the problem; compilation; code execution; basic ideas of testing. In the first part of the course (first two weeks) we will introduce MATLAB, an environment for the numerical calculation and statistical analysis. The programming parts will use a subset of the C ++ language as an example of high-level language. RECOMMENDED READING/BIBLIOGRAPHY Programming Principles and Practice using C++, Addison-Wesley Professional, 2008 C++. Fondamenti di programmazione -- H. M. Deitel, P. J. Deitel; Editore: Apogeo 2009 TEACHERS AND EXAM BOARD MANUELA CHESSA Ricevimento: Appointment by email: manuela.chessa@unige.it (since the teacher teaches more than one course, please specify surname and course) ENRICO PUPPO Ricevimento: Appointment by email: enrico.puppo@unige.it During class period appointments for groups can be set by posting on the course forum on AulaWeb. Exam Board MANUELA CHESSA (President) FABIO SOLARI ENRICO PUPPO (President Substitute) LESSONS LESSONS START https://corsi.unige.it/8713/p/studenti-orario Class schedule L'orario di tutti gli insegnamenti è consultabile all'indirizzo EasyAcademy. EXAMS EXAM DESCRIPTION The exam consists of two tests: - a written exam composed of a quiz on Aulaweb (max grade 31) - a practical exam which consists of a C++ program (max grade 31). The student can access the second part of the exam if they pass the first part with a grade >=16. The exam is passed if both parts have a minimum grade of 16. The final grade will be the mean of the two grades. Sufficient exams are >=18. The laude will be given a grade >=31. There is a bonus of max 2 points for the whom which completed a number of intermediate test on time. COVID-19 emergency: the exam rules may be varied if online exams will be mandatory. In this case, students will be informed about the changes. ASSESSMENT METHODS The written exam has the aim of evaluating teh main concepts presented during the course. The practical exam has the aim of evaluating the capability of writing a working program in C++. The exam will be evaluated by considering: - if the code produce the correct results - style of the code - efficiency Exam schedule Data Ora Luogo Degree type Note 11/01/2023 09:30 GENOVA Laboratorio 06/02/2023 09:30 GENOVA Laboratorio 09/06/2023 09:30 GENOVA Laboratorio 04/07/2023 09:30 GENOVA Laboratorio 12/09/2023 09:30 GENOVA Laboratorio 27/10/2023 09:30 GENOVA Laboratorio Aula B5