FY555: Introduction to Python, machine learning and data handling for the physical sciences

Study Board of Science

Teaching language: Danish, but English if international students are enrolled
EKA: N500061102
Assessment: Second examiner: None
Grading: Pass/Fail
Offered in: Odense
Offered in: Autumn
Level: Bachelor

STADS ID (UVA): N500061101
ECTS value: 5

Date of Approval: 08-04-2022


Duration: 1 semester

Version: Archive

Entry requirements

The course cannot be taken by computer science students.

Academic preconditions

Academic preconditions: Students taking the course are expected to have a prior knowledge of basic calculus and linear transformations/linear algebra. It is recommended that participants have a prior knowledge of programming with e.g. Matlab and/or c++.

NB: The course emphasizes physics in assignments and examples, but can also be followed by students from other study programmes than physics.

Course introduction

The aim of the course is to give the students basic skills within
  1. Scientific programming with Python, with emphasis on physics related problems
  2. Machine learning
  3. Handling different types of data
The course builds on the knowledge acquired in courses on programming and mathematics earlier in the education, and it provides knowledge to work with data handling and machine learning methods in projects later in the education.

In relation to the competence profile of the degree it is the explicit focus of the course to:
  1. Judge theoretical and practical problems, especially within (astro-)physics, (through data) and apply relevant analyses methods
  2. Structure complex problems independently
  3. Acquire new knowledge effectively and independently incl. identifying ones own learning needs and structuring ones own learning
  4. Participate in a professional and interdisciplinary collaboration based on experiences from group related problem solving

Expected learning outcome

Learning objectives - knowledge
At the end of the course the student is expected to be able to 

  1. Explain the basic usage of the Python libraries NumPy, SciPy and Matplotlib
  2. Explain the use of the Python library scikit-learn
  3. Explain how to handle different types of data in Python
  4. Explain different data reduction techniques, e.g. PCA
  5. Explain the basic idea behind artificial neurons and neural networks
Learning objectives - skills
By the end of the course, the students are expected to be able to
  1. Write and run simple programs based on python
  2. Use standard Python libraries such as NumPy, SciPy and Matplotlib
  3. Use scikit-learn for handling and analyzing data
Learning objectives - competences
By the end of the course it is expected that the student can write a Python program for handling, analyzing and visualizing a given data set.

Content

The following main topics are contained in the course:

  1. Basic practical introduction to Python as a programming language 
  2. Introduction to NumPy, SciPy and Matplotlib through working on e.g. an N-body simulation
  3. Introduction to the theoretical foundation of machine learning incl. artificial neurons and neural networks
  4. Introduction to scikit-learn as a machine learning tool and tool for handling data
  5. Development and implementation of algorithms for handling, analyzing and visualization of data, with special focus on physics-related data

Literature

Google

Examination regulations

Exam element a)

Timing

Autumn and January

Tests

Oral exam on the basis of compulsory assignments

EKA

N500061102

Assessment

Second examiner: None

Grading

Pass/Fail

Identification

Student Identification Card

Language

Normally, the same as teaching language

Examination aids

To be announced during the course.

ECTS value

5

Additional information

Description: Individual oral exam based on compulsory submissions made during the semester with final submission deadline at the end of the semester.
The examination form for re-examination may be different from the exam form at the regular exam.

Indicative number of lessons

48 hours per semester

Teaching Method

At the faculty of science, teaching is organized after the three-phase model i.e. intro, training and study phase.
  • Intro phase: 16 hours (1 hour per week) (lecture)
  • Training phase: 32 hours (2 hours per week) where the students solve problems under guidance
Activities during the study phase:
  • Solving weekly assignments in order to obtain the skills necessary for solving mandatory hand-in assignments
  • Solving mandatory hand-in assignments

Teacher responsible

Name E-mail Department
Sofie Marie Koksbang koksbang@cp3.sdu.dk Fysik

Timetable

Administrative Unit

Fysik, kemi og Farmaci

Team at Educational Law & Registration

NAT

Offered in

Odense

Recommended course of study

Profile Education Semester Offer period

Transition rules

Transitional arrangements describe how a course replaces another course when changes are made to the course of study. 
If a transitional arrangement has been made for a course, it will be stated in the list. 
See transitional arrangements for all courses at the Faculty of Science.