Skip to main content

How Can I Adopt or Adapt the Program?

If you are considering adopting a major part of the ACME curriculum for your program, send us an email—we'd be happy to talk to you about what we've learned along the way (both pitfalls and opportunities).

We believe that the full ACME program is best for both students and faculty, but it may not be feasible for your department to adopt the entire program immediately. Nevertheless, you can bring significant benefit to students by adopting some aspects of ACME.

Here are some options to consider:

Math + Programming

The most important thing math majors need is more computer programming in a widely used programming language, ideally merged with their mathematics in a way that enables them to use computers to solve mathematics problems and to implement deep mathematical ideas in efficient code.

We recommend you offer every math major a course in algorithms and optimization, where they really think about the mathematics of computation and learn about optimization—the fundamental tool of data science, machine learning, and statistics. That course should also have lots of programming labs. We teach this course using our Volume 2 textbook and labs, but there are many other ways that you could do such a course.

If that's even too much to take on, you might consider integrating programming labs into linear algebra for math majors. This helps them develop their programming skills, it frees them from the drudgery of solving large linear systems and finding eigenvalues by hand, and it helps them see how tedious computations can be assigned to the computer to let them do interesting things with their mathematics. Students can easily access a powerful computing environment through free tools like Google Colab without any special help or expertise. For an example of how this can be done, you might look at the labs we use at BYU for linear algebra.

Finally, whether you adopt these math-plus-programming courses or not, consider requiring at least one or two standard computer science courses of all your math majors. Although Python and C++ are some of the most useful languages for mathematicians, courses in other popular languages like Javascript and Java are also useful.


Math + X

Students benefit from seeing how mathematical ideas are used in other disciplines. But not every student likes the same applications, and not everyone will respond to the specific applications you choose to show in your classes. Consider encouraging or even requiring your students to take classes outside of mathematics in a complementary subject where they can apply their skills to something that interests them. It need not be in a STEM field; the social sciences, business, and other disciplines greatly benefit from the skills that mathematicians bring.


Cohorts are extremely powerful for improving the learning experience and helping students learn important soft skills. Even if you find it difficult to form formal cohorts among your majors, consider doing things to approximate cohorts. That could be scheduling two classes that majors typically take concurrently to run in the same classroom, back to back. It could also mean helping them form study groups, and, if possible, dedicating space for them to study together—maybe even in that same back-to-back classroom in the hours before and after the two classes. Almost anything that gets students talking to each other and working together is helpful.