The applied mathematics is essential tool in computer science and engineering. What is the best methodology to teach applied mathematics in computer science and engineering?
Eduard, I suggest you the methodology used in Roman Maeder, Computer Science with Mathematica, which offers problems and code-solutions in the field of Computer Science and Engineering, using techniques from numerical mathematics.
Thank you @Eduard Babulak for this interesting question, and @Gianluca Argentini for the methodology you suggested, and if you give me your permeation I would like to put it forward for consideration to my department, only hoping they will agree to apply it for the next academic year.
I think it depends on the goals of the class and the type of mathematics being applied. It's always best to introduce the basic concept of the math, give an example of how it is applied, and depending on the math (e.g. differential equations or probability), provide a basic example of how to code it in order to obtain a solution. The random walk problem in context of particles and wells is always a good example. If differential equations, you can introduce a problem that is similar to the problems you want students to tackle for homework or a project. Introducing the solver functions to the students will be helpful as many of them may not know how to numerically solve an equation on the computer. Show them examples of an equation that only can be solved numerically and change the limits and constraints, boundary conditions and initial conditions to optimize a solution that best defines the behavior the system. It's important for the students to gain the familiarity of tweaking parameters and conditions so to understand the meaning of the equation and numerical solution, and how the solution relates back to what is actually observed.
Computer science is the scientific and practical approach to computing and its applications. It is a systematic study of Feasibility, All of the above appears in storage, processing, communication, access to information, data processing, theories and applications that form the basis for automating the transmission, operation and conversion of information by studying computer software and hardware in a scientific way. , Computer scientist specializes in the theory of computing and computer systems design.
Computer science has a wide variety of fields under the broad title "Computer Science". Some emphasize computing and some applications such as computer graphics, while other branches study the properties of computational problems and a field such as computational complexity theory. Other branches remain focused on the challenges posed by computing applications. A field such as programming language theory examines ways and means to describe a computerization process, while computer programming implements specific programming languages to extract an answer or solution to a particular computing problem and other areas such as complex systems and computer-like human interaction.
My degrees are in applied mathematics, teaching Computer Science which is in the College of Engineering, UP Diliman. I also teach grad level courses for both computer science and engineers.
Junior-level linear algebra and differential equations: I handle them like math classes, for the most part, but emphasis on methods of solution, no proofs. I will include 'symbolic computation' projects as group work. They are computer science majors. Text by Jordan and Smith, Oxford U. Press.
Senior-level numerical methods: the text I use is Michael Heath, Scientific Computing, McGraw-Hill. I do have to explain details of the calculations.
Graduate Level Computational Differential Equations (for CS grad students and engineers): Still the Heath Book, plus FreeFem. I continue to variational formulation. Hard for most people to understand, but I can't do anything about it. They can usually get FreeFem to work. Still practical approach ...
Grad Level Modeling Course: My favorite course to teach! Some people struggle with differential equations, still, at this level, but objective is for them to 'work' with the model equations somehow, for their specific problems in chemical reaction kinetics, fluid flows (most common applications in environmental engineering). They are to concentrate on their problem. I give lectures on stochastics, sensitivity analysis (some try sensitivity analysis on a stochastic problem), but the output is practical: they try it on their problem!
No proofs, first advise. But show everything, and how to use it. Good luck!
I actually teach a course on applied numerical methods in Civil Engineering. The cause focus is solving ordinary and partial differential equations using the finite difference methods. The applications involve beams on elastic foundations, beams with variable cross-section, plates, time rate of settlement in soil, buckling, etc. The course brings real world problems into focus and allows students to see the power of mathematical models and various solutions and their implications.
Dear Eduard !Thank you for the interesting and useful question. I believe that one of the methods that allows to teach applied mathematics in computer science and engineering is to solve real practical problems with, for example, software packages of application programs, other computer facilities.
Dear Vitalina. Thank you for your answer and excellent example. Indeed, Applied Mathematics does address most the issue that Computer Science and Engineering is build for. The rigorous mathematics studies in Computer Science and Engineering are quite important in light of training future generation of computer engineers and scientists to program and build applications that reflect real need and challenges and will in no way becoming overpowering and controlling of their potential customers. The technology should and must contribute to the betterment of mankind in all it does.
Oh my goodness - what a question. First one needs to answer the question - "what is applied mathematics?" At one time algebraic geometry of projective space was consider a beautify theory never to be applicable to anything. Then along comes computer vision and the sensor technology to make computer vision a reality and today we have "computational algebraic geometry" and "computational algebra." So one never really knows what mathematics will become "applied mathematics" and what won't. But in reality one of the first things that has to be recognized is mathematics is first and foremost mathematics and if it is applicable to engineering or the sciences - that is icing on the cake. However, the mathematical concepts need to first be understood by the students. That is not to say they have to do original research in mathematics but they need to know and understand the conditions when the mathematics works and when it doesn't. A good mix or theory - just what is this mathematics - and problems - how does it apply to my problem - are necessary.
As someone that has been around for a long time I would like to point out that before we get carried away with the tools such as Matlab, Mathematica, etc (they are great I use them) we must remember that mathematics was being applied and solutions derived using a slide rule long before everyone had access to a computer and even before we had a slide rule. Applied mathematics is first and foremost mathematics - a form that is a dance between the rigors of mathematics and how it can be used to solve problems encountered in the larger world. Any instruction should reflect the beauty of this dance.
Broadly speaking applied maths is just mathematical tools for a non mathematician. The most commonly used of such tools in engineering are numerical methods and their implementations.
Thank you all for your valuable comments. The Applied Math is the core of Computation and as such essential subject in the Computer Science and Engineering Curriculum today and tomorrow.
Make the students develop projects. Consider adding this final element - economic application. (Though this might involve a different kind of mathematics.) Once they see a bigger picture, their motivation for hard mathematics may go up. :-)
I believe that, we can use it the physics laboratory and engineering laboratory to make the data experiments and Mathematics equations after that solving mathematically, so you can use it ta the class for more interesting during the lecture.
For much of CS the topics needed are logic, discrete math, combinatorics, linear algebra and graph theory. For visualization, add geometry, differential geometry and vector analysis. Each of these has a prerequisite that needs to be satisfied to understand the topic. For image processing, a lot of numerical analysis, statistics, probability and inverse and ill-posed problems. I'd suggest tracing back the prerequisites for these topic courses and requiring those. Then add a requirement for depth in one of the areas by taking several specific courses. As usual when facing real problems, we never know enough mathematics.