CODE 118325 ACADEMIC YEAR 2025/2026 CREDITS 3 cfu anno 1 ADVANCED MATERIALS SCIENCE AND TECHNOLOGY 11967 (LM SC.MAT.) - GENOVA SCIENTIFIC DISCIPLINARY SECTOR FIS/03 LANGUAGE English TEACHING LOCATION GENOVA SEMESTER 1° Semester OVERVIEW The course introduces the student to computing for material science, providing him with the elements of computer science and programming in the scientific field. This includes the use of hardware and software resources to collect and process data, also through the design and implementation of tools such as scripts or applications in various widely used languages, which in turn may exploit preexisting code. AIMS AND CONTENT LEARNING OUTCOMES Fundamental concepts of computing and programming in the context ot the most widespread computing systems in STEM with procedural and object-oriented imperative languages and related libraries, learning to develop small programs or modify existing code. AIMS AND LEARNING OUTCOMES Attending the course lessons will allow the student to - become familiar with Windows/Unix based operating systems, related file systems and code execution in them - use the appropriate imperative/structural/procedural/object-oriented approach to develop, through different languages and increasingly sophisticated tools, code suitable for collecting, managing, analyzing and visualizing scientific data. - be able to discuss their own code and understand the code built by third parties - such as libraries, suggestions from generative AI or study/work colleagues PREREQUISITES There are no specific requirements TEACHING METHODS The teaching consists of laboratory lessons in which, after a brief introduction to the topics, the students will develop, under the guidance of the teacher, on available machines or on their personal PC, the code of the project under analysis. SYLLABUS/CONTENT The program will be carried out through projects of successive difficulty. In them the following will be applied: 1) Principles of computational thinking 2) Introduction to development environments and operating systems 3) Introduction to imperative programming languages (e.g. C++, Python) 4) Structuring the execution flow and control flow of a code 5) procedural subdivision of a code and use of library api 6) use of data structures both custom and present in third-party libraries RECOMMENDED READING/BIBLIOGRAPHY Specific indications on reference bibliography will be provided by the professor at the beginning of the lectures. All didactic material will be available on course aulaweb. TEACHERS AND EXAM BOARD GUIDO GAGLIARDI Ricevimento: Office hours will be communicated at the beginning of the course. The teacher is alwasy at disposition by prior appointment. LESSONS Class schedule The timetable for this course is available here: Portale EasyAcademy EXAMS EXAM DESCRIPTION The exam consists of the discussion of a short essay prepared by the student on a programming project of her/his choice. ASSESSMENT METHODS The purpose of the exam is to assess the student's ability to design, write, compile, link, execute and debug simple code, and the ability to adapt their code to the needs of third parties. Eligibility will be verified based on the points listed. FURTHER INFORMATION Contact the teacher for further information not included in the teaching sheet Agenda 2030 - Sustainable Development Goals Quality education Gender equality Decent work and economic growth