Admission requirements
Mathematics and physics at the level of VWO math B en VWO physics.
Description
Programming skills are essential in science. For example to solve numerical problems, simulate physical processes, and analyze experimental data. Python will be used throughout the physics and astronomy courses for assignments and research projects.
Programming methods NA offers the opportunity to overcome the first hurdle in becoming familiar with writing programming code for various problems. The most effective way to learn a programming language is to practice it yourself on a regular basis. There will therefore be short exercises during lectures and tutorials.
The lectures and related assignments are divided into four themes:
- Numbers, vectors, and matrices
- Derivatives and integrals
- Simulations
- Data analysis
Basic concepts and functionalities of Python will be introduced during the lectures. In addition, a number of modules will be used (NumPy, Matplotlib, and SciPy) that provide a variety of numerical tools often useful in scientific research.
Course objectives
General learning objectives:
After completing this course, students are able to:
Motivate why programming is an important skill for research
Understand, read, write and execute basic Python
Make use of Jupyter Notebooks
Define functions and program in an object-oriented way
Visualize results by making plots
Write structured, commented, and clearly readable code
Explain written code in your own words
Give feedback to fellow students about each other's code
Consult online resources on modules, functionalities, and parameters
The themes consist of specific learning objectives. Students can:
Perform mathematical calculations
Use lists and arrays
Manipulate vectors and matrices and perform operations on them
Calculate an integral and derivative of a function numerically
Use a random number generator
Set up a simulation of a physics system
Use simulations to solve a physical problem
Read data from and write to CSV files
Analyze 1D, 2D, and 3D datasets as arrays
Use and explain functions of NumPy, SciPy and Matplotlib
Timetable
In MyTimetable, you can find all course and programme schedules, allowing you to create your personal timetable. Activities for which you have enrolled via MyStudyMap will automatically appear in your timetable.
Additionally, you can easily link MyTimetable to a calendar app on your phone, and schedule changes will be automatically updated in your calendar. You can also choose to receive email notifications about schedule changes. You can enable notifications in Settings after logging in.
Questions? Watch the video, read the instructions, or contact the ISSC helpdesk.
Note: Joint Degree students from Leiden/Delft need to combine information from both the Leiden and Delft MyTimetables to see a complete schedule. This video explains how to do it.
Mode of instruction
Every week there is a lecture of 2x45 min and a tutorial of 2x45 min. Students are required to bring their own laptop to the tutorials. In addition, self-study of about 5 hours a week is an important component to become familiar with programming.
Assessment method
Each of the four modules consists of a set of assignments that count for 15% of the final grade (60% of the total). Assignments must be submitted individually to Brightspace, and each must be passed with a minimal grade of 5,5.
In addition to the four modules, this course has a final exam that counts for 40% of the total grade. The exam will consist of multiple-choice questions and programming exercises. The exam will be conducted on computers using the ANS application. The exam must be passed with a minimal grade of 5,5.
Each module and the exam can be retaken once, if they were not passed with a sufficient grade. A retake of a module consists of improving and resubmitting the original assignment, for which a maximum grade of 6.0 can be obtained. For the resit of the exam, a maximum grade of 10,0 is achievable.
Reading list
Use should be made of the extensive information and examples that can be found on the websites of Python, NumPy, Matplotlib , SciPy.
Furthermore, this open access book is recommended: Introduction to Scientific Programming with Python, Joakim Sundnes, ISBN 978-3-030-50356-7
Registration
As a student, you are responsible for enrolling on time through MyStudyMap.
In this short video, you can see step-by-step how to enrol for courses in MyStudyMap.
Extensive information about the operation of MyStudyMap can be found here.
There are two enrolment periods per year:
Enrolment for the fall opens in July
Enrolment for the spring opens in December
See this page for more information about deadlines and enrolling for courses and exams.
Note:
It is mandatory to enrol for all activities of a course that you are going to follow.
Your enrolment is only complete when you submit your course planning in the ‘Ready for enrolment’ tab by clicking ‘Send’.
Not being enrolled for an exam/resit means that you are not allowed to participate in the exam/resit.
Contact
Remarks
Students are expected to bring their own laptop to both the lecture and seminar. During both contact moments, active participation is expected when working on exercises during lectures. If you do not have a laptop, a couple can be formed to work on the assignments together.
It is also important to install Python before the first lecture. We recommend installing the free version of Anaconda.
Software
Starting from the 2024/2025 academic year, the Faculty of Science will use the software distribution platform Academic Software. Through this platform, you can access the software needed for specific courses in your studies. For some software, your laptop must meet certain system requirements, which will be specified with the software. It is important to install the software before the start of the course. More information about the laptop requirements can be found on the student website.