3 ms·
Python is a very well established programming language with plenty of support for scientific computing. If the course authors would like to make the course acc
by Protostome 6y ago
Python is a very well established programming language with plenty of support for scientific computing.
If the course authors would like to make the course accessible to as much people as possible, there are very few reasons to choose languages which are not widely adopted.
- ddragon 6y agoI answered above on a general sense, but this course is Introduction to Computational Thinking. First it's an introduction course, so it's not required experience with any language (you have lessons explaining arrays for example). Second it's a theoretical course (computational thinking, not something like applied data science), not a practical one, so that support is not important here since things are being written from scratch (the second lesson is about convolution, and the exercise is writing the convolution function). You can probably agree that simply using numpy.convolve wouldn't teach as much as writing your own, and writing in Python would end up too slow for the larger images used unless you use Numba/PyPy/Cython (or make less pseudo-code version by vectorizing everything in numpy), all stuff that is not very introductory level. And Julia does have features besides speed that makes the course better for beginners, for example native multidimensional arrays. Images are just matrices of RGB pixels that you can freely manipulate like you would Python arrays (without the need to learn a library like numpy or any kind of conversion). And Pluto.jl reactive nature allows you to have immediate feedback of everything you change.