Coding skills are not mandatory here but highly recommended, computational chemists nowadays are expected to be able to code anyway.
So for your future study and career, learn to code!
and most of the time, just Python is more than enough.
-
Code editors
- Vim
- Emacs
- Notepad++
- Visual Studio Code
- PyCharm
-
Bash: For scripting and automation tasks, especially useful for working in a Unix/Linux environment.
-
Python: Python is a versatile, easy-to-learn language. (perhaps all you ever need)
- NumPy: For numerical computations.
- Pandas: For data manipulation and analysis.
- Matplotlib and Seaborn: Libraries for data visualization.
- Scikit-learn: For machine learning and data mining.
- SciPy: For scientific and technical computing.
- (Advanced) PyTorch, TensorFlow, and Jax: Deep learning frameworks.
-
Pip and Conda: Package managers for Python.
-
Git and GitHub for source code control
- Learn to use Git for version control and GitHub for collaboration. This is essential for managing your source code and ensuring reproducibility in your research.
- and able to find stuffs (a lot of cool program as well as programming tutorial in Github) and install a package from GitHub.
-
(Advanced, going low-level) Cython (C/C++ in Python)
-
(Advanced, going low-level) Julia
-
You should be able to look for information and learn new things by yourself as you will encounter a lot of errors and mishaps along the way.
you may just pick one of these to pick up Python
- RealPython very comprehensive, you can find almost everything here.
- Coursera, you can explore yourself, as Mahidol Student, you can get a free access.
- Introduction to Python for Computational Science and Engineering
- Python for Scientists
- Python Scripting for Computational Molecular Science
To refine your python coding: take a look at
Advanced topics
and you can find countless more over Github yourselves. AND PRACTICE, JUST CODE!