I receive applications from students asking for internships, for thesis guidance and project assistant positions in scientific computing. Most students do not demonstrate any credible knowledge or background that is needed for such work. Here is some advice on what you can do to improve your chances of success in computing.
- Learn a programming language really well, e.g., fortran, C/C++ and Python. (Matlab is not a programming language.)
- Learn to use a version control system like git or subversion. I prefer git.
- Learn to work on Unix/Linux and the command line. If you have only worked on Windows, please do not write to me.
- Learn to use some visualization tools like gnuplot, Paraview and VisIt. Python also has good support for visualization.
- Learn parallel programming concepts and MPI.
- Learn Latex. Write your reports/cv/application using Latex.
- Put up your scientific computing project work on github or bitbucket. This way you can prove that you have actually done something and that you are not just bluffing.
- Take the many online courses being offered these days on scientific computing topics. Do all the assignments and exams and show me what grade you scored in the course.
- To repeat, show me the proof for all of the above in terms of actual code, results and project reports.
- Finally, send your cv/application in PDF format ONLY.
In your CV, mention all the courses you have done in Physics, Applied Math, Numerical Methods, Scientific Computing, etc.
To work with me
The above advice is fairly general for anybody wanting to work in scientific computing, numerical solution of PDE, finite element methods, computational fluid dynamics, etc. If you want to work with me, you should be able to satisfy above requirements. In addition, you will have a better chance if you have worked with any of the following.