Computational Science & Computational Learning with Python and MATLAB
Computational Science & Computational Learning with Python and MATLAB
Hands-On Projects from Applied Science & Engineering.
Course description
This MOOC introduces fundamental concepts and methods in scientific computing and computational learning to solve applied engineering and science problems. Through a hands-on, problem-based approach, learners integrate mathematical modeling, numerical simulation, and data-driven techniques using Python and MATLAB to develop key computational skills for modern applications in research and industry.
Total workload of the course: 30 hours
This MOOC is provided by Politecnico di Milano.
Please note that now, you can currently attend lessons and complete the quizzes and activities for the first three weeks of the course. Results will be keep. The final two weeks of the MOOC will be made available by the end of January (Week 4) and mid-February (Week 5). From that moment on, you can complete the entire course and obtain the badge if you pass it.
This MOOC was produced as part of the Edvance project – Digital Education Hub per la Cultura Digitale Avanzata. The project is funded by the European Union – Next Generation EU, Component 1, Investment 3.4 “Didattica e competenze universitarie avanzate".



Intended Learning Outcomes
At the end of this course, you will be able to:
- Formulate mathematical models for applied science and engineering problems, identifying key variables and governing principles.
- Implement basic numerical methods in Python and MATLAB to approximate and simulate model behavior.
- Analyze computational results and assess accuracy and stability of solutions.
- Integrate data-driven approaches with model-based methods to enable hybrid computational learning.
- Develop and present a practical solution to an engineering or scientific problem using a problem-based computational workflow.
ESCO: T1.3 working with digital devices and applications ESCO: T1.2 working with numbers and measures ESCO: S1.4 presenting information ESCO: S1.9 solving problems ESCO: S5.1 programming computer systems
Prerequisites
Basic knowledge of calculus and linear algebra is required for this course.
Activities
Over and above consulting the content, in the form of videos and other web-based resources, you will have the opportunity to discuss course topics and to share ideas with your peers in the Forum of this MOOC. The forum of this MOOC is freely accessible, and participation is not guided; you can use it to compare yourself with other participants, or to discuss course contents with them.
Section outline
-
-
-
-
Differential equations and forward Euler method to model fluid level variation. Coding content: variables, loops, and functions.
-
Linear regression for data fitting and forecasting of wildfire risk. Coding content: datasets and vectorized operations.
-
Gradient-based optimization applied to the control of a robotic arm. Coding content: loops and conditional statements.
-
-
Video transcripts Folder
-
Assessment
Your final grade for the course will be based on the results of your answers to the assessed quizzes. You have an unlimited number of attempts at each quiz, but you must wait 15 minutes before you can try again. You will have successfully completed the course if you score 60% (or higher) in each one of the assessed quizzes. The maximum score possible for each quiz is given at the beginning of the quiz. You can view your score in the quiz on your last attempt or on the 'Grades' page.
Certificate
You can achieve a certificate in the form of an Open Badge for this course, if you reach at least 60% of the total score in each one of the assessed quizzes and fill in the final survey.
Once you have completed the required tasks, you will be able to access ‘Get the Open Badge’ and start issuing the badge. Instructions on how to access the badge will be sent to your e-mail address.
The Badge does not confer any academic credit, grade or degree.
Information about fees and access to materials
The course is delivered in online mode and is available free of charge.
Course faculty

Domenico Savio Brunetto
Teacher
Domenico Brunetto is Associate Professor of Mathematics Education at the Department of Mathematics (FDS), Politecnico di Milano. His research focuses on mathematical modelling and innovative teaching methods, including the development and delivery of MOOCs, and the use of generative AI to enhance the teaching and learning of mathematics. For this MOOC, he serves as a member of the Scientific Committee and as a co-author of all weeks.

Anna Scotti
Teacher
Anna Scotti is Associate Professor in Numerical Analysis at MOX-Department of Mathematics, Politecnico di Milano. Her research focuses on the development of numerical methods with a focus on engineering, environmental and geological problems. In this MOOC, she serves as a member of the Scientific Committee of the MOOC, instructor and co-author of all weeks.

Marco Verani
Teacher
Marco Verani is Full Professor of Numerical Analysis at MOX - Department of Mathematics of Politecnico di Milano. His research focuses on the numerical solution of partial differential equations arising in various fields of Engineering and Applied Sciences. In this MOOC, he serves as Chair of the Scientific Committee and co-author of all weeks.

Alessio Fumagalli
Teacher
Alessio Fumagalli is Associate Professor in Numerical Analysis at MOX-Department of Mathematics, Politecnico di Milano. His research involves the development and application of computational methods to problems in engineering, environmental science, and geology. In this MOOC, he serves as co-author of week 4.

Ilario Mazzieri
Teacher
Ilario Mazzieri is Associate Professor in Numerical Analysis at the MOX–Department of Mathematics, Politecnico di Milano. His research focuses on the development of advanced numerical methods for wave propagation, fluid–structure interaction, and multiphysics problems with applications in engineering, seismology, and geophysics. In this MOOC, he serves as co-author of week 3.

Francesco Regazzoni
Teacher
Francesco Regazzoni is Associate Professor in Numerical Analysis at MOX-Department of Mathematics, Politecnico di Milano. His research explores the interplay between mathematical modeling, numerical methods, and machine learning, with particular emphasis on biomedical applications. In this MOOC, he serves as co-author of Week 1.

Stefano Pagani
Teacher
Stefano Pagani is Associate Professor in Numerical Analysis at MOX-Department of Mathematics, Politecnico di Milano. His research is primarily focused on the development of advanced numerical methods in the fields of scientific machine learning and computational medicine. In this MOOC, he serves as co-author of week 5.

Edie Miglio
Teacher
Edie Miglio is Associate Professor in Numerical Analysis at MOX-Department of Mathematics, Politecnico di Milano. His research focuses on the development of numerical methods for engineering, environmental and geodynamic applications. In this MOOC, he serves as co-author of week 1.

Carlo De Falco
Teacher
Carlo de Falco is an Associate Professor in Numerical Analysis at MOX-Department of Mathematics, Politecnico di Milano. His research focuses on numerical modeling and high performance scientific computing for electromagnetics, fluid dynamics and molecular biology. In this MOOC, he served as co-author of the week 0.

Julian Venè
Teacher
Julian Vené has a Master in Mathematical Engineering at Politecnico di Milano. He is a Machine Learning Scientist. His work focuses on dynamic pricing, sequential decision-making under uncertainty, and large-scale model deployment for travel and e-commerce applications, using reinforcement learning and Bayesian techniques for uncertainty quantification. In this MOOC he realized the preparatory material.

Andrea Re Fraschini
Teacher
Andrea Re Fraschini has a Master in Mathematical Engineering at Politecnico di Milano. He is a PhD student in Mathematical Models and Methods in Engineering at the Department of Mathematics, Politecnico di Milano. His research focuses on Mixed Precision techniques for numerical methods. In this MOOC, he dealt with graphic design, creating the animations; he also co-authored the supplementary material.
Contact details
If you have any enquiries about the course or if you need technical assistance please contact pok@polimi.it. For further information, see FAQ page.