Vai al contenuto principale
Oggetto:
Oggetto:

Introduction to Scientific Programming (in Python)

Oggetto:

Advanced Theory and Simulation

Oggetto:

Academic year 2022/2023

Teacher
Alessandro Erba (Titolare del corso)
Teaching period
First semester
Type
Basic
Credits/Recognition
5
Course disciplinary sector (SSD)
CHIM/02 - physical chemistry
Delivery
Formal authority
Language
English
Attendance
Obligatory
Type of examination
Practice test
Oggetto:

Sommario del corso

Oggetto:

Course objectives

Computer programming skills have nowadays become 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 i) 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.), ii) is characterized by a simple and clear syntax, and iii) is thus particularly well suited for learning scientific programming as a starting point.

Oggetto:

Results of learning outcomes

By the end of the Course, the students will:

- Have a basic understanding on how a computer program works;

- Have a basic knowledge about the main ingredients of most programming languages;

- Be able to read and understand basic programs written in Python;

- Be able to search the internet for Python scripts to integrate their own;

- Be able to write from scratch simple programs in Python;

- Be able to plot data and produce high-quality plots with MatPlotLib

Oggetto:

Course delivery

Lessons will take place in-person. 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.

Attendance of at least 70% of the classes is mandatory. This means that, out of a total of 10 lessons, each student is allowed to miss a maximum of 3 lessons.

Lessons will not be streamed or recorded. 

Students who are interested in attending the Course must register on-line (at the bottom of this page) so that the teacher will be able to contact them via e-mail with all necessary information.

Before the beginning of the Course, all registered students will get an e-mail with detailed instructions on how to download and install the required software on their laptops.

 

 

TIME TABLE of LESSONS

 

November 10 2022, 11.00-13.00 in Aula D1 (5th floor, via Giuria 9)

November 14 2022, 14.00-16.00 in Aula DISEGNO (2nd floor, via Giuria 7)

November 17 2022, 14.00-16.00 in Aula DISEGNO (2nd floor, via Giuria 7)

November 21 2022, 11.00-13.00 in Aula D1 (5th floor, via Giuria 9)

November 24 2022, 09.00-11.00 in Aula DISEGNO (2nd floor, via Giuria 7)

November 28 2022, 14.00-16.00 in Aula DISEGNO (2nd floor, via Giuria 7)

December 1 2022, 11.00-13.00 in Aula D1 (5th floor, via Giuria 9)

December 5 2022, 09.00-11.00 in Aula DISEGNO (2nd floor, via Giuria 7)

December 7 2022, 11.00-13.00 in Aula DISEGNO (2nd floor, via Giuria 7)

December 12 2022, 11.00-13.00 in Aula DISEGNO (2nd floor, via Giuria 7)

 

 

Oggetto:

Program

 The course will cover the following topics:

Introduction to Programming:

-    Relevant components of a computer (CPU, RAM)

-    Source code, programming language, compiling/interpreting the code


Introduction to Python:

-    Storing data in memory (name, type and value of a variables)

-    Variable types (numerical, strings, Boolean, lists)

-    Elements of binary representation (precision of real floating point numbers)

-    Definition and use of mathematical functions

-    Properties of Strings

-    Properties of Lists

-    Type of operators

-    Flow control structures: iterations and decision-making (loops, if-statements)

-    Handling input/output files

Introduction to NumPy:

-    Introducing arrays

-    Numerical operations on arrays

Introduction to MatPlotLib:

-    Simple Line Plots

-    Plot editing

-    Sub-plots

-    2D maps and 3D surfaces

-    Histograms

-    Plotting data from a file

Introduction to SciPy:

-    Optimization and Minimization Algorithms (Least-square fitting, etc.)

-    Interpolation (1D, Multivariate data, Spline, etc.)

Suggested readings and bibliography



Oggetto:

Class schedule

Notes: November 10 2022, 11.00-13.00 in Aula D1 (5th floor, via Giuria 9)
November 14 2022, 14.00-16.00 in Aula DISEGNO (2nd floor, via Giuria 7)
November 17 2022, 14.00-16.00 in Aula DISEGNO (2nd floor, via Giuria 7)
November 21 2022, 11.00-13.00 in Aula D1 (5th floor, via Giuria 9)
November 24 2022, 09.00-11.00 in Aula DISEGNO (2nd floor, via Giuria 7)
November 28 2022, 14.00-16.00 in Aula DISEGNO (2nd floor, via Giuria 7)
December 1 2022, 11.00-13.00 in Aula D1 (5th floor, via Giuria 9)
December 5 2022, 09.00-11.00 in Aula DISEGNO (2nd floor, via Giuria 7)
December 7 2022, 11.00-13.00 in Aula DISEGNO (2nd floor, via Giuria 7)
December 12 2022, 11.00-13.00 in Aula DISEGNO (2nd floor, via Giuria 7)

Oggetto:
Last update: 04/11/2022 10:35
Location: https://dott-scm.campusnet.unito.it/robots.html
Non cliccare qui!