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.
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.
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
There are no specific requirements
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.
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
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.
Ricevimento: Office hours will be communicated at the beginning of the course. The teacher is alwasy at disposition by prior appointment.
The timetable for this course is available here: EasyAcademy
The exam consists of the discussion of a short essay prepared by the student on a programming project of her/his choice.
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.
Contact the teacher for further information not included in the teaching sheet