Un professeur m'a demandé d'aider à faire une spécification pour un projet collégial. Au moment où les étudiants doivent connaître les bases de la programmation. P>
Le professeur est un mathématicien et a peu d'expérience dans d'autres langages de programmation. Il devrait donc vraiment être à Matlab. P>
Je voudrais des idées de projets. Le projet devrait P>
Quel type de projet rendrait les étudiants excités? p>
Si vous avez d'autres conseils, j'apprécierai. P>
Mise à jour: strong> Les élèves sont des sophomores et ont déjà étudié le calcul vectoriel. Ce projet concerne un cours de mathématiques discrètes d'un an. P>
update 2: strong> Les sujets abordés dans le cours sont p>
Et il sera basé sur ce livre structures mathématiques Pour la science informatique: une approche moderne des mathématiques discrètes par Judith L. Gersting P>
8 Réponses :
Suggestions générales: strong> p>
Il existe de nombreuses ressources pédagogiques chez Mathworks qui peut vous donner des idées pour des projets de cours. Quelques liaisons d'échantillons: P>
Suggestions spécifiques: strong> p>
Un de mes projets scolaires diplômés en dynamique non linéaire que j'ai trouvé intéressant d'une affaire intéressante avec oscillateurs de Lorenz a>. Un oscillateur Lorenz est un système non linéaire de trois variables pouvant présenter un comportement chaotique. Un tel système permettrait d'introduire les élèves à un calcul numérique ( méthodes itératives pour simulation de systèmes d'équations différentielles, de stabilité et de convergence, etc.). P>
La chose la plus intéressante à propos de ce projet était que nous utilisions les oscillateurs de Lorenz pour encoder et décoder des signaux. Cet aspect "communication crypté" était vraiment cool et était basé sur l'article de journal suivant: p>
Kevin M. Cuomo et Alan V. Oppenheim,
Mise en œuvre du circuit de chaos synchronisé avec des applications
aux communications strong>, Examen physique
Lettres em> 71 (1), 65-68 (1993) P>
blockQuote>
Les adresses de l'article implémentations matérielles em> d'un système de communication chaotique, mais l'implémentation logicielle équivalente doit être suffisamment simple pour dériver (et beaucoup plus facile pour les étudiants à mettre en œuvre!) . p>
Quelques autres aspects utiles d'un tel projet: P>
Vous pouvez regarder ici: http://www.mathworks.com/ Academia / Student_Center / Tutorials / LaunchPad.html sur le site web mathworks. Le tutoriel interactif (deuxième lien) est assez populaire. P>
- Loren p>
J'ai trouvé que la mise en œuvre et la visualisation Systèmes dynamiques est génial pour donner une introduction à la programmation et à une branche intéressante de mathématiques appliquées. Parce que on peut voir la «vie» dans ces systèmes, Nos étudiants apprécient vraiment ce module pratique. P>
Nous commençons généralement en visualisant un attracteur 1D, afin que nous puissions superposez la règle d'évolution / taux de changement avec l'état actuel de le système. De cette façon, vous pouvez enseigner des aspects informatiques (intégrer le système) et visualisation et la séparation de la mise en œuvre (à un niveau simple, rafraîchissant Graphiques à chaque étape de calcul de la nième N-ème, mais en C ++ conduisant à des threads, incertaine sur les capacités MATLAB ici). P>
Ensuite, nous ajoutons du bruit, puis ajoutons une non linéarité sigmoïdale à l'attracteur linéaire. Nous combinons cette extension avec une introduction au contrôle de version (nous utilisons un référentiel Sandbox SVN pour cela): le Les étudiants doivent d'abord créer des succursales, modifier la règle de l'évolution, puis fusionnez retour dans la tête. p>
Lorsque vous allez 2D, vous pouvez simplement commencer par une rotation et la modifier pour devenir un oscillateur HOPF et visualiser soit en morphing une grille au fil du temps, soit en passant 3D lorsque vous commencez avec un point distinct. Vous pouvez également visualiser le diagramme de la bifurcation en 3D. Donc, vous combinez à nouveau des compétences génériques Matlab comme 3D tracé avec les mathématiques. Pour relier d'autres sujets, parcourez dans Wikipedia: vous pouvez apporter des modèles Hunter / Predator, des systèmes chaotiques, des systèmes physiques, etc. P>
Nous n'enseignons généralement pas la programmation orientée objet à partir de MATLAB, bien que possible et que vous puissiez créer facilement vos propres cas d'utilisation dans le réglage des systèmes dynamiques. Lors de l'introduction de l'héritage, nous aurons déjà passé à C ++ et je n'aurai pas encore connaissance des capacités de Matlab ici. P>
revenir à vos cinq points: p>
Tout cela dit, je voudrais au moins dire également à votre professeur (et vos étudiants!) Que Python se lève contre Matlab. Nous sommes dans le progrès de faire python avec nos tutoriels, mais je comprends si quelqu'un veut coller avec ce qui est familier. P>
En outre, nous avons besoin du contenu scientifique plus tard, l'utilité pour vous dépendra probablement de quel département votre cours sera lié à. p>
Beaucoup de choses sont possibles. P>
Le premier exemple qui compte consiste à modéliser un réseau de transport en commun (réseau de votre ville, avec sous-sol, bus, tramways, ...). Il est représenté par un graphique dirigé pondéré (vous pouvez utiliser une matrice clairsemé pour le représenter, par exemple). P>
Vous pouvez, par exemple, demandez-leur de calculer le chemin le plus court d'une station à une autre (algorithme Moore-dijkistra, par exemple) et d'affichage. P>
Donc, pour les étudiants, plusieurs étapes à faire sont: p>
Bien sûr, cela pourrait être compliqué en ajoutant des temps de connexion (lorsque vous passez d'une ligne à une autre), demandant plusieurs options (chemin le plus court avec les connexions minimales, prenez des considérations le temps que vous perdez en attendant un train / bus , ...) p>
Le niveau de détails dépendra du niveau des élèves et du temps qu'ils pourraient y passer (il pourrait être très simple, ou très réaliste) p>
J'ai toujours pensé que celui que j'avais assigné à Grad School était un bon choix: un objectif magnétique a> simulateur. Les maths ne sont pas complètement accablantes, vous pouvez donc vous concentrer davantage sur l'apprentissage de la langue, et c'est une bonne introduction aux capacités graphiques (par exemple, animer le chemin d'un électron d'axe à travers la lentille). P>
Vous voulez faire un projet avec une interface Web et une base de données, mais pas de mathématiques sérieuses ... et vous le faites à Matlab? Comprenez-vous que MATLAB est spécialement conçu pour être utilisé pour "mathématiques profonds", et non pour les interfaces Web ou les bases de données? P>
Je pense que s'il s'agit d'une introduction à un cours de mathématiques discrètes, vous devriez probablement faire quelque chose impliquant des mathématiques discrètes et ne pas gaspiller le temps des élèves, car ils apprennent une série de choses dans cette langue qu'ils n'utiliseront jamais. p>
Pourquoi ne pas faire quelque chose impliquant de l'audio? J'ai fait un projet de premier cycle dans lequel nous avons utilisé MATLAB pour battre automatiquement différents Tunes et DJ Mix entre eux. Le programme complet a pris tout le semestre, mais vous pourriez faire un sous-ensemble. WAVREAD () et similaires sont construits et Facile à utiliser. P>
ou faire un traitement simple d'image comme Trouver Waldo en utilisant Corrélation croisée . P>
Peut-être que quelque chose impliquant de la cryptographie, les faire craquer un simple schéma de cryptage et se sentir comme des pirates informatiques. P>
Matlab a commencé la vie en tant que laboratoire de matrice, alors peut-être concentrer sur des problèmes d'algèbre linéaire serait un ajustement naturel. p>
problèmes de mathématiques discrets utilisant des matrices incluent: p>
voir "INTRO INTRO DE MATH" DE GIL Strang A> ou "Concrete Math" de Knuth " pour idées . P>
Les interfaces d'E / S DB et de fantaisie sont hors de propos dans un cours de mathématiques discrètes. P>
Mes laboratoires MATLAB étaient généralement des implémentations d'algorithme, avec des graphiques comme sortie et une entrée de fichier simple. P>
Quelle est la dure le matériau? Le traitement de l'image est vraiment facile dans Matlab, pouvez-vous faire du filtrage 2D discret? Blurs et trucs. http://homepages.inf.ed.ac.uk/rbf/ HIPR2 / FILTOPS.HTM P>
Les points 3 et 5 seraient probablement écrits à Perl ou à Java depuis que m souffler pour tout ce qui n'est pas mathématique / traçage
Pourriez-vous ajouter des informations sur les sujets spécifiques seront couverts dans le cours? Cela peut aider les gens à suggérer des idées de projet plus spécifiques au programme.