Our (United States, undergraduate) math program is considering the idea of putting more mathematical modeling and computation into all levels of our curriculum. One of the hang-ups is that we can't decide on a specific mathematical software that could be uniformly adopted. Here are some of the criteria:
Friendly enough that Calculus I students (including a variety of STEM majors) could use it to graph functions and (symbolically) compute derivatives and anti-derivatives/integrals. Most likely at this level the students would work with faculty-created template files to allow for a gentle introduction to computing.
Advanced enough that students in mid- to upper-level courses (e.g. Multi-variable Calculus, Linear Algebra, Differential Equations, Mathematical Methods for Physics, Complex Analysis, etc.) can create their own files to use it to solve real-world modeling problems and/or do larger computational projects.
Be something that would likely be available to them after graduation in either graduate school or, more likely, government and industry.
Be able to create files/output that would be easily shown off during their post-graduation job searches (e.g. sharable on sites like GitHub).
Possible Example: Mathematica/Maple/MatLab. These seem to satisfy 1 and 2, but fail on 3 (except perhaps for grad schools) and I'm not sure about 4.
Possible Example: CoCalc (formerly called SageMathCloud). This seems to be a stretch for 1 and 2, but certainly satisfies 3 and 4.
Does anyone have any advice/experience with implementing any of these, or some other option, across their whole mathematics curriculum? What did you discover to be the hardest/easiest parts of doing so? How do you think your choice fared in the above criteria? Are there other criteria that we should consider?
Note: Our statistics faculty has already decided on using R in the statistics courses. So this question is only concerning mathematics courses.