Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I have found that implementing and visualizing <a href="http://en.wikipedia.org/wiki/Dynamical_system" rel="nofollow noreferrer">Dynamical systems</a> is great for giving an introduction to programming and to an interesting branch of applied mathematics. Because one can see the 'life' in these systems, our students really enjoy this practical module.</p> <p>We usually start off by visualizing a 1D attractor, so that we can overlay the evolution rule/rate of change with the current state of the system. That way you can teach computational aspects (integrating the system) and visualization, and the separation of both in implementation (on a simple level, refreshing graphics at every n-th computation step, but in C++ leading to threads, unsure about MATLAB capabilities here).</p> <p>Next we add noise, and then add a sigmoidal nonlinearity to the linear attractor. We combine this extension with an introduction to version control (we use a sandbox SVN repository for this): The students first have to create branches, modify the evolution rule and then merge it back into HEAD. </p> <p>When going 2D you can simply start with a rotation and modify it to become a Hopf oscillator, and visualize either by morphing a grid over time or by going 3D when starting with a distinct point. You can also visualize the bifurcation diagram in 3D. So you again combine generic MATLAB skills like 3D plotting with the maths. To link in other topics, browse around in wikipedia: you can bring in hunter/predator models, chaotic systems, physical systems, etc.etc.</p> <p>We usually do not teach object-oriented-programming from within MATLAB, although it is possible and you can easily make up your own use cases in the dynamical systems setting. When introducing inheritance, we will already have moved on to C++, and I'm again unaware of MATLAB's capabilities here.</p> <p>Coming back to your five points:</p> <ul> <li>Duration is easily adjusted, because the simple 1D attractor can be done quickly and from then on, extensions are ample and modular.</li> <li>We assign this as an individual task, but allow and encourage discussion among students.</li> <li>About the web interface I'm at a loss: what exactly do you have in mind, why is it important, what would it add to the assignment, how does it relate to learning MATLAB. I would recommend dropping this.</li> <li>Complexity: A simple attractor is easily understood, but the sky's the limit :)</li> <li>Using a database really is a lot different from config files. As to the first, there is a database toolbox for accessing databases from MATLAB. Few institutes have the license though, and apart from that: this IMHO does not belong into such a course. I suggest introducing to the concept of config files, e.g. for the location and strength of the attractor, and later for the system's respective properties.</li> </ul> <p>All this said, I would at least also tell your professor (and your students!) that Python is rising up against MATLAB. We are in the progress of going Python with our tutorials, but I understand if someone wants to stick with what's familiar.</p> <p>Also, we actually need the scientific content later on, so the usefulness for you will probably depend on which department your course will be related to.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload