Degree course: 
Corso di First cycle degree in Physics
Academic year when starting the degree: 
Academic year in which the course will be held: 
Course type: 
Various educational activities
First Semester
Standard lectures hours: 
Detail of lecture’s hours: 
Laboratory (66 hours)

No prerequisites

Final Examination: 

The verification of learning skills is a two steps procedure:

- The student has 2-3 hours to implement three algorithms to allow the coding and data-analysis skills verification. If this part is accomplished, the student is admitted to the next step.
- The student will comment on its code, he will discuss the bugs (if any) and he will compare the used approach with alternatives. A discussion on the results obtained during the data analysis will close the session.

Voto Finale

The course introduces the basic programming concepts, common to the different languages, and uses Matlab for coding practice. An introduction to Montecarlo and data analysis techniques will be provided as well. It is a know-how of great importance and it will be applied and consolidated during the other Laboratories.

At the end of the course, the students should be able to:
- Implement standard numeric algorithms
- Debug their code
- Code simple Montarcarlo simulations
- Extract and effectively visualize results from raw data
- Compare data and simulation outputs with the expected models

The course will provide the basic programming concepts and it will allow the students to implement numeric algorithms using standard programming techniques. The list f the main arguments is the following:

1) Basic programming techniques, data types, control structures and use of user-defined functions
2) Iterative and recursive process, algorithms, random number generation
3) Introduction to data analysis

- Recommended text: MATLAB: A Practical Introduction to Programming and Problem Solving (Stormy Attaway)
- Matlab: the University of Insubria has subscribed a campus license with Matlab. The license is free of charge for our students
- Any additional material used during the lessons will be distributed

After a short introduction to the basic programming techniques and some details on the language used in the laboratory (Matlab), the students will learn how to solve a series of problems that will help them to practice with the learned concepts. In addition, efficient programming methods will be discussed during the lectures.

The lessons are organized as follows:
- An introduction to new concepts
- Simple algorithms to be coded to practice with the learned concepts. The classroom is equipped with PCs, but the students can also use their device
- The codes and the results obtained by the students are deeply analyzed; this approach improves the student learning curve.

For further information, please send an e-mail to