Skip to main navigation Skip to search Skip to main content

URL study guide

https://tue.osiris-student.nl/onderwijscatalogus/extern/cursus?cursuscode=31PAP&collegejaar=2025&taal=en

Description

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
Fundamental concepts and tools for universal coding
  • 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
Mathematical concepts and tools
  • Calculus:
    • Single-variable calculus
    • Differential equations:
      • Numerical ODE solving
      • Initial value problems
Physics applications in programming
  • Electromagnetism:
    • Electrical circuits:
      • Numerical analysis of 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.

Method of Assessment

Assignment
Course period1/09/2331/08/26
Course levelIntroductory
Course formatCourse