- Oggetto:
- Oggetto:
Introduction to Scientific Programming (in Python)
- Oggetto:
Introduction to Scientific Programming (in Python)
- Oggetto:
Academic year 2016/2017
- Teacher
- Dr. Alessandro Erba (Titolare del corso)
- Teaching period
- Annuale
- Type
- Facoltativo
- Credits/Recognition
- 5
- Course disciplinary sector (SSD)
- CHIM/02 - chimica fisica
- Delivery
- Tradizionale
- Language
- Inglese
- Attendance
- Obbligatoria
- Type of examination
- Prova pratica
- Oggetto:
Sommario del corso
- Oggetto:
Program
Computer programming skills are now becoming part of basic education. This course, which assumes no prior knowledge about programming, aims at providing an introduction to the main aspects of scientific programming. In particular, the high-level Python programming language will be used, which is one of the most popular languages worldwide (with applications ranging from software, web and internet development, to scientific and numeric computing, data anlaysis and plotting, game development, etc.), is characterized by a simple and clear syntax, and is thus particularly well suited for learning scientific programming. The course will cover the following topics:
Introduction to Python:
- Variable types
- Definition and use of functions
- Loops and control flow (for-loops, if-statements)
- Handling input/output files
- Data types: strings, lists, dictionaries
- Writing Python scripts
Introduction to NumPy:
- Introducing arrays
- Numerical operations on arrays
- Polynomials
Introduction to MatPlotLib:
- Simple Plots
- Plot manipulation
Introduction to SciPy:
- Numerical Integration (Trapezoidal rule, Simpson’s rule, etc.)
- Optimization and Minimization Algorithms (Least-square fitting, etc.)
- Interpolation (1D, Multivariate data, Spline, etc.)
- Linear Regression
- Fourier transforms
- Linear Algebra (Matrix multiplication, inversion, diagonalization, solving linear systems, etc.)
- Signal processing (remove linear trend from signal)
Students are asked to bring their own laptops to class in order to be actively involved in the practical exercises, which will systematically take place throughout the course.Suggested readings and bibliography
- Oggetto:
Class schedule
Lezioni: dal 09/05/2017 al 31/05/2017
Nota: Lectures will be held on May 9, 10, 15, 16, 18, 22, 23, 25, 29 and 31 2017 from 16.00 to 18.00 in "Auletta I" (via Giuria 7, first floor)
- Oggetto: