Duration
10h Th, 20h Pr
Number of credits
| Bachelor in chemistry | 3 crédits |
Lecturer
Language(s) of instruction
French language
Organisation and examination
Teaching in the first semester, review in January
Schedule
Units courses prerequisite and corequisite
Prerequisite or corequisite units are presented within each program
Learning unit contents
The goal of this course is to provide students with a comprehensive overview of the design and implementation of basic numerical methods used in molecular chemistry simulation software, broadly defined. The programming language used will be Python, specifically leveraging the NumPy library and the Matplotlib data visualization library. Course content is structured into three main modules:
- Basic Programming Concepts and Algorithmic Foundations: getting started with Jupyter Notebooks, Python variables (types and usage) and data structures, program flow control, working with NumPy multidimensional arrays, defining functions, modular programming structure, and software testing/verification.
- Algorithms for Molecular Simulations (e.g.): basic algebraic operations (e.g., rotations), optimization algorithms (e.g., numerical differentiation), evaluation of molecular potentials, and fundamentals of numerical integrators and solving differential equations in dynamic processes.
- Scientific Data Handling: file read/write operations in standard data formats, graphical representation of data, etc.
Learning outcomes of the learning unit
Upon completion of this course, students will be able to:
- Master the fundamentals of Python and NumPy, as well as their use in modular software development.
- Process and visualize scientific data.
- Implement basic numerical algorithms connecting theory and code in order to model simple physico-chemical processes.
Prerequisite knowledge and skills
The course is designed to welcome students with or without prior programming experience, whether in general or specifically in Python. However, having attended the course Visualisation et traitement de données en chimie I (CHIM0750-1) is strongly recommended.
Planned learning activities and teaching methods
On the theoretical side, the first part of the course will cover the evolution of computer hardware and scientific programming software. Following this, several sessions will feature short presentations followed by discussions aimed at clarifying computer science and/or scientific concepts relevant to the course. During the hands-on computer lab sessions, students will work under the instructor's supervision on scientific programming problems of increasing complexity. Finally, brief group discussions will address current topics related to scientific computing, such as hardware advancements, artificial intelligence, open-source software, or open data.
Mode of delivery (face to face, distance learning, hybrid learning)
Face-to-face course
Course materials and recommended or required readings
Platform(s) used for course materials:
- eCampus
Exam(s) in session
Any session
- In-person
written exam ( open-ended questions )
Further information:
Computer-based exam in the form of a Jupyter Notebook.
The final course grade will be based entirely (100%) on the exam, marked out of 20.