Python Programming for Scientific Engineering (16-17-18 Jan. 2023)

Lecturer 

Dr. Stefano Michieletto

Dept. of Management and Engineering - DTG

e-mail: stefano.michieletto@unipd.it

Dr. Mattia Guidolin

Dept. of Management and Engineering - DTG

e-mail: mattia.guidolin@unipd.it

Topics 

The course is designed to be beginner-friendly, starting from the Python programming basics and focusing on how it can be used for scientific data manipulation and analysis. 

This introduction to Python for Scientific Engineering will kickstart your learning of Python, as well as programming in general. 
Basic Python skills can help you process and analyze tons of data quickly and effectively.

Upon its completion, you will be able to write your own Python scripts and perform hands-on data analysis using NumPy and Pandas, the two most popular Python open-source libraries for data analysis.


Syllabus (tentative)

1.     Python Language Basics. 

We will start from the very beginning, introducing the basic concepts of Python programming. On the first day of the course, we will dive into key concepts, including variables and operators, control flow, functions, and built-in data structures.  

2.     Introduction to NumPy.

We will learn about NumPy, a fundamental Python package for mathematical and statistical operations. We will also get started with data exploration. 

3.     Data Manipulation with Pandas 

We will then jump into Pandas, a library created to facilitate working with data. We will use Pandas and NumPy to supercharge your analysis. 

4.     Data Visualization with Matplotlib

We will not have a lot of time for this topic, but we must understand how to use data visualization to explore data, the core skill in data analysis.

5.     Guided project

In the latest hours of the course, we will apply the acquired skills to explore real data.

Timetable 

The course will be held on the days of 15, 16, and 17 June 2022 with the following timetable:

 9:00-11:00 lecture

11:00-12:30 hands-on 

13:30-15:30 lecture

15:30-17:00 hands-on


Classrooms

Monday 16/01 VM10
Tuesday 17/01 Saletta riunioni second piano San Nicola (bring your own PC)
Wednesday 18/01 VM10

Lectures format

In person lessons.

Admission 

Please send an e-mail to the lecturer and register on Moodle.

Examination 

To complete the course and get your grade, you will need to complete all the exercises proposed in the hands-on sessions. Although you are warmly invited to work on the exercises during the three days of the course, you can also hand them over in the following weeks but before the end of July.


SETUP YOUR DEVELOPMENT ENVIRONMENT: GITHUB

Setting up your development environment and being ready for the first lecture is a matter of a few minutes:

  • step 1. Register for an account on GitHub.
  • step 2. Get the test assignment and create a test repository
    • 2.a Go to the link of the test assignment https://classroom.github.com/a/i8mlhoeT
    • 2.b Authorize GitHub Classroom
    • 2.c Find your email address (if you are not on the list skip to 2.d and let us know)
    • 2.d Accept the assignment
    • 2.e Refresh the page, access your assignment, and accept the invitation
    • 2.f Now you have a personal copy of the assignment files (the copy is called repository) and you can modify the test_notebook (step 3)

All the materials and hands-on exercises will be distributed as GitHub classroom assignments.

  • step 3. Open https://github.com/python-prog-scientific-eng-aa-2022-23
    • 3.a access your repo named "test-accountname"
    • 3.b click on Code -> create codespace on main
    • 3.c Click on Extensions on the left panel
    • 3.d Search for "jupyter"
    • 3.e Install the Jupyter extension
    • 3.f select the test_notebook.ipynb notebook
    • 3.g now you are ready to modify the notebook and run the Hello World example
    • 4.a After modifying the code, to save and commit the changes click on "Source control" on the left panel
    • 4.b Enter a message describing what you have implemented
    • 4.c click "Commit"
    • 4.d click "Sync Changes"
    • 4.e now the changes will appear on your GitHub repo!


Python Language Basics

Lecture: https://classroom.github.com/a/zbvfafs1
Assignment: https://classroom.github.com/a/aRaTcLOJ

Data Structures

Lecture: https://classroom.github.com/a/0gyaom_1
Assignment: https://classroom.github.com/a/pJJmKqmx

Dictionaries

Lecture: https://classroom.github.com/a/WE5Y6HS9

Functions

Lecture: https://classroom.github.com/a/Ttgbw7hG
Assignment: https://classroom.github.com/a/bKK_eZIP


Numpy

Lecture: https://classroom.github.com/a/_PIP8C0p
Assignment: https://classroom.github.com/a/itwlQUKL

Pandas

Lecture: https://classroom.github.com/a/lksNLyqX
Assignment: https://classroom.github.com/a/9mtlE3nR


Matplotlib

Lecture: https://classroom.github.com/a/g7mGI-8t
Assignment: https://classroom.github.com/a/ZKo4JtPo


Guided Project

https://classroom.github.com/a/ryySJckm


martedì, 31 ottobre 2023, 13:00

martedì, 16 dicembre 2025, 23:59