URL study guide
https://tue.osiris-student.nl/onderwijscatalogus/extern/cursus?cursuscode=31PAP&collegejaar=2025&taal=enDescription
Computational programs and analysis tools (Understanding Python specification)- Modules and packages
- Coding and testing habits
- General usage of modules
- Specific packages:
- Matplotlib (matplotlib.pyplot)
- NumPy (numpy)
- Reading and writing data
-
- CSV files
- Excel files
- Text files
-
- Variables and Types:
- Dictionaries
- Lists
- Tuples
- Academic integrity
- Data management
- Open science practices
- Version management (understanding the rules)
- Algorithms:
- Random number generators
- Recursion
- Sorting and searching
- General coding practices:
- Coding style (guides)
- Docstrings
- Testing
- Version management tools:
- Git
- GitLab
- Object-oriented programming:
- Classes
- Inheritance
- Methods
- Objects
- Programming basics
- Functions statements
- Variables and types:
- Numeric types
- Strings
- Calculus:
- Single-variable calculus
- Differential equations:
- Numerical ODE solving
- Initial value problems
- Electromagnetism:
- Electrical circuits:
- Numerical analysis of electrical circuits
- Electrical circuits:
Objectives
At the end of this course, students will be able to:1. demonstrate their knowledge of the principles of imperative programming by writing simple imperative programs from scratch based on an informal specification.
2. describe some general algorithmic techniques and apply these in writing programs and designing simple algorithms.
3. explain the main aims and principles of object-oriented programming and show this by designing and implementing object-oriented programs.
4. explain in writing how object-oriented constructs contribute to maintainability, flexibility, and reusability of code, and apply these principles in a limited fashion to their own code.
5. develop Python programs using off-the-shelf technologies (e.g. Jupyter Notebook, PyCharm, Git, GitLab).
6. explain the basic principles of code quality and get acquainted with coding style guides and apply these to their own programs
7. perform numerical analyses of systems of linear equations and ODEs up to second order in the context of physical problems.
8. store the data resulting from numerical research in a way that complies with FAIR principles of data management.
9. numerically analyze and visualize the results of physical calculations and experiments.