The way we learn has changed drastically over the last decade or so. I consider myself fortunate for having access to so much high quality learning material with very little effort. I am a physicist by training but have been teaching Mathematics to engineers for quite sometime now. There are many lines of thought on how Math should be taught to engineers. Three main views are
(1) Teach in the usual lecture, problem solving style with a lot of emphasis on concepts, rigor and formal methods.
(2) Classroom teaching in an intuitive manner with lots of games and real life examples involved.
(3) Teach Math hands-on while students work in the lab on real life projects.
A proponent of the first method is the well known computer scientist Djikstra He holds the view that learning formal methods without interpreting the symbols is a great way of preparing students to work with novel realities. In physics such an approach of working with mathematics without well decided interpretation (in terms of analogies) has been quite useful, especially in quantum mechanics.
The second view is a favorite of many educators, if one is to go by online platforms. John Conway is a proponent of this style of Mathematics teaching, where he tries to either develop or understand mathematics using a lot of analogy and tools. Conway
The third view, being followed by many educational institutes is that of project based learning, where the students work in teams to solve real life problems and pick up mathematical skills as and when needed PBL While some engineering institutes have used this pedagogy very successfully, when it comes to Math learning there are also voices that express doubts about effectiveness of this method.
I have used each of this style to some extent in my classes and here is what my experience tells me.
In an average classroom usually the second style of teaching mathematics intuitively works out very well. It gets students interested in learning and enthusiastic about the subject.
I believe the first style have many positives, for a higher level learner who has come to appreciate the abstract nature of Math and its power. In a regular classroom less than 10% of students usually have this appreciation. When mastered, this method can be utilized to application of mathematics in quite diverse fields.
The PBL method of learning is relatively new. It requires appropriate infrastructure and manpower. It has the advantage that the learning is driven by student motivation and it happens in the real world context. However this method also requires learning of new tools, machines and computational, searching for and using appropriate materials and working on open ended projects. These considerations mean that students get to focus only on limited aspects of mathematical details and learn fewer concepts compared to a student taught by the other two methods.
When it comes to my view, I would be flexible and change my methods based on the students involved, the motive of the course and the infrastructure available. When the students are advanced and have developed appreciation of abstract concepts and have the ability to apply their knowledge effectively, formal method is very good. In general it would work out very well for students wanting to major in Math. The second method would be fun and effective in an average classroom, whereas the PBL method is good for students who want to apply the knowledge gained in real life situations and are prepared to learn, take challenges and deal with uncertainties.