These files stem from the FYPLC repository which contain the source code of the material developed for an introduction to Python for physicists that runs as a “minicourse” of 1.5 ECTS as part of the “First Year Physics Lab Course” of the Applied Physics program at TU Delft. The materials ought to introduce you to Python if you are not familiar with programming (at all).
The materials are designed for self-study and introduce one to the basics of python. The notebooks are self-contained, and include an explanation of the concepts, example code to illustrate the concepts, and exercises (with answers at the end) for testing your knowledge.
Notebook | Description | Type |
---|---|---|
Notebook 1 | Python Basics | Core material |
Notebook 2 | Functions | Core material |
Notebook 3 | Program flow | Core material |
Notebook 4 | Scientific computing | Core material |
Notebook 5 | Data analysis | Core material |
By the end of the course, you should be familiar with:
- Basic concepts in Python: What is Python and how does it work
- Functions in Python: How to write them and how to use them
- Program flow control: How to control the flow of execution of your code
- Scientific computing in Python: Introduction to the numpy library
- Data in Python: How to load, plot and fit data
- Measurement uncertainty and error propagation: Quantify measurement uncertainties and calculate how these propagate to your final answer.
Each notebook of the first 5 Notebooks start with a pre-post test. If you have some knowledge of programming, you can make the test and see whether you already know the content. If you can make the test without any problems, skip the module. If you are not familiar with programming (in Python), go through the module, do the exercises and finish with the test to see whether you mastered the content. Each notebook includes a list of detailed learning objectives so you know what you should be learning. In addition, there is a “notebook for more advanced programmers”, exploring additional programming concepts in python.
Feedback¶
Did you find a typo? Is there something that is not clear to you? Is there a mistake in the notebooks? We gladly welcome feedback! To give feedback, the easiest for us is for you to submit an “issue” in our repository issue tracker:
In the message, please include:
- The notebook number
- Copy-and-paste the text from the notebook
- Optional: Describe your suggestion (with a typo not needed even)
Developers¶
The first five notebooks were developed by Gary Steele g
Copyright Delft University of Technology and contributors 2019.
Contents¶
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Source code¶
Copyright (c) 2019, Delft University of Technology and contributors
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of TU Delft nor the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission.