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: Internal
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
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
- Scientific programming with Python, with emphasis on physics related problems
- Machine learning
- 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:
- Judge theoretical and practical problems, especially within (astro-)physics, (through data) and apply relevant analyses methods
- Structure complex problems independently
- Acquire new knowledge effectively and independently incl. identifying ones own learning needs and structuring ones own learning
- 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
- Explain the basic usage of the Python libraries NumPy, SciPy and Matplotlib
- Explain the use of the Python library scikit-learn
- Explain how to handle different types of data in Python
- Explain different data reduction techniques, e.g. PCA
- 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
- Write and run simple programs based on python
- Use standard Python libraries such as NumPy, SciPy and Matplotlib
- 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:
- Basic practical introduction to Python as a programming language
- Introduction to NumPy, SciPy and Matplotlib through working on e.g. an N-body simulation
- Introduction to the theoretical foundation of machine learning incl. artificial neurons and neural networks
- Introduction to scikit-learn as a machine learning tool and tool for handling data
- Development and implementation of algorithms for handling, analyzing and visualization of data, with special focus on physics-related data
Literature
Examination regulations
Exam element a)
Timing
Autumn and January
Tests
Oral exam on the basis of compulsory assignments
EKA
N500061102
Assessment
Second examiner: Internal
Grading
Pass/Fail
Identification
Student Identification Card
Language
Normally, the same as teaching language
Duration
15 minutes per student
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.
Indicative number of lessons
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
Timetable
Administrative Unit
Team at Educational Law & Registration
Offered in
Recommended course of study
Profile | Education | Semester | Offer period |
---|---|---|---|
BSc major in Physics - Registration 1 September 2020 | BSc. in Physics | Odense | | Odense | 5 | E22 |
BSc major in Physics - Registration 1 September 2021 and 2022 | BSc. in Physics | Odense | | Odense | 5 | E22 |
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.