Physique

Introduction aux ordinateurs dans les sciences et l'ingénierie

Par Sameer Bhatnagar
Cohorte 2019-2020

Intelligence artificielle

Le cours 360-420 est une option scientifique multidisciplinaire intitulée "Introduction aux ordinateurs dans les sciences et l'ingénierie". Les étudiants apprennent non seulement à lire et à écrire des codes informatiques, mais aussi à appliquer ces compétences pour résoudre des problèmes scientifiques qu'ils ont rencontrés et pour lesquels la solution analytique est irréalisable (par exemple, suivre l'évolution d'une épidémie, modéliser la réponse d'un bâtiment à un tremblement de terre, etc.)

J'ai conçu ce module afin de prendre du recul et de donner aux étudiants une vue d'ensemble des meilleures pratiques en matière de programmation pour la recherche en sciences et en ingénierie. Nous explorons comment la recherche reproductible est essentielle pour les projets où les données et les modèles peuvent devenir puissants mais opaques. Nous nous penchons sur les systèmes de contrôle de version et sur la manière dont ils favorisent la collaboration et la créativité dans le cadre de grands projets complexes. Nous nous penchons sur la programmation orientée objet, afin de nous familiariser avec la manière d'exploiter les interfaces de programmation d'applications (API) des grands projets open source.

échecs

Ce cours est souvent la première expérience de programmation pour nos étudiants, et il peut donc être difficile à couvrir en quelques semaines. Je m'efforce toujours de trouver le bon équilibre entre les concepts de haut niveau et les activités pratiques qui permettent d'affiner les compétences pratiques. N'hésitez pas à me faire part de vos commentaires !

Recherche reproductible

Nous approfondirons ce que nous entendons par "recherche reproductible", ainsi que certaines des meilleures pratiques utilisées par les scientifiques pour mieux documenter et partager leur travail.

Analyse exploratoire des données

Nous récapitulerons rapidement l'introduction à la régression linéaire à partir des devoirs du dernier cours, puis nous passerons un peu de temps à creuser manuellement dans quelques données pour mieux comprendre la première étape de tout projet d'apprentissage automatique : L'analyse exploratoire des données.

Apprentissage automatique et programmation orientée objet

Avant d'étudier les algorithmes d'apprentissage automatique, nous devons nous équiper. Nous étudierons comment la programmation orientée objet (POO) peut nous aider à créer de nouveaux types de données à partir de ceux qui sont natifs de notre langage de programmation. De plus, nous verrons comment une interface de programme d'application (API) peut nous aider à exploiter le code d'autres personnes, pour en faire plus avec moins.

Frontières de l'apprentissage automatique

Nous explorerons certaines des idées les plus influentes dans le domaine de l'apprentissage automatique au cours des vingt dernières années.