Suite

Recommander des sujets à inclure dans un cours d'informatique pour les technologies géospatiales


Je donnerai un cours à l'université locale intitulé Computer Science for Geospatial Technologies. Il s'agit d'un cours d'introduction destiné à présenter les concepts de l'informatique aux étudiants en technologies géospatiales (SIG et télédétection). Dans le passé, j'ai introduit des concepts de programmation, mais j'ai trouvé que cela dépassait la tête de nombreux étudiants.

Actuellement, je prévois de discuter du matériel informatique, des types de données spatiales (c.

Quelqu'un pourrait-il recommander d'autres sujets liés à l'informatique que les praticiens des SIG et de la télédétection devraient connaître avant d'entrer sur le marché du travail ?

MISE À JOUR : Le programme des dernières années comprenait :

  • Google Maps Javascript API/HTML/Google Earth/KML - 5 semaines
  • Script Python - 6 semaines
  • Théorie des bases de données/MS Access - 2 semaines
  • VBA - 2 semaines

La réponse que j'ai reçue des étudiants était qu'il n'y avait pas assez de temps consacré à chaque sujet. Je parle à l'université pour offrir un cours de niveau supérieur en programmation SIG à l'aide de Python.


En 15 ans de réponses aux questions SIG sur les serveurs de listes et, maintenant, sur les pages Web, j'ai noté des problèmes récurrents qui suggèrent un besoin pour les praticiens d'apprendre certains concepts informatiques spécifiques. Aucun de ceux-ci n'est profond ; tout cela est bien connu ; mais tous semblent être des lacunes communes dans le contexte ou la compréhension d'une minorité significative (majorité ?) de personnes SIG. Dans de nombreux cas, il n'y a pas grand-chose à apprendre en dehors d'une définition ou d'un exemple. Il s'agit d'alerter les élèves sur les écueils qui vont se présenter et de leur donner les principes ou les outils dont ils ont besoin pour y faire face lorsqu'ils se présentent, sans pour autant devenir des experts.

Les liens dans la liste suivante renvoient tous à des questions sur ce site. La simple existence de ces liens prouve la valeur des concepts. En suivant les liens, vous pouvez trouver des exemples de la façon dont la connaissance de ces concepts peut résoudre des problèmes, les empêcher de se produire et aider les gens à mieux maîtriser les SIG.

Systèmes informatiques

  • Les composants d'un ordinateur : ouvrir une boîte, la démonter, identifier les pièces (CPU, RAM, disques, carte mère, carte réseau, etc.) et expliquer leurs rôles dans le système. Démystifiez-le et rendez-le concret pour les élèves.

  • Compréhension de la façon dont les systèmes informatiques stockent les données sur des appareils externes. Concepts de formats physiques et logiques. La distinction entre ASCII (et codages similaires) et binaire brut.

  • Détails de la représentation binaire interne des données numériques, y compris les flottants IEEE simple et double précision et les entiers signés et non signés. Limites de chacun. Comment choisir le type de données à utiliser pour représenter les attributs SIG.

  • La distinction entre stockage externe et RAM. (Je sais que c'est incroyablement élémentaire, mais il y a beaucoup de confusion là-bas.)

L'informatique

  • Analyse asymptotique d'algorithmes. Comprendre, à un niveau pratique, les différences entre O(n), O(n log(n)), O(n^2), (et pire) le timing. Comment tester l'évolution d'un algorithme de boîte noire.

  • Principes de l'interaction homme-machine. C'est trop large, mais certains principes de conception de formulaires et de conception de pages Web peuvent aller très loin.

  • Principes des langages informatiques : à quoi s'attendre d'un langage, la différence entre l'orientation procédurale et l'orientation objet, quels types de structures de données et d'objets les langages peuvent prendre en charge et auxquels se référer, la différence entre les langages compilés et interprétés (et les compromis entre eux) .

  • Principes de base de la conception de structures de données. L'interaction entre les structures utilisées pour représenter les données et les algorithmes qui les utilisent. Les utilisations des tableaux, des listes et des dictionnaires.

  • La distinction entre les objets et les références à ceux-ci. (Beaucoup des erreurs sont commises par des personnes qui ne reconnaissent pas la différence entre un nom de variable et sa chaîne entre guillemets !)

  • Qu'est-ce qu'un système d'exploitation, quels services en attendre et comment interagir avec lui.

  • Qu'est-ce qu'un réseau, quels services en attendre, comparaison de certaines architectures et sens des compromis entre l'obtention de services informatiques localement et à distance.

  • Algorithmes de théorie des graphes : de nombreuses analyses SIG peuvent être représentées de manière abstraite en termes de problèmes sur des graphes ; pouvoir le faire donne accès à des algorithmes efficaces. Un bel exemple sur notre site concerne ici un problème qui semble initialement n'avoir rien à voir avec les graphes.

  • Récursivité. Un bon exemple pour les praticiens SIG est la création d'un index spatial tel que cet algorithme pour un quadtree ponctuel adaptatif.

Données SIG

  • Comment les données vectorielles et raster sont stockées, à la fois en interne et pour l'échange de données.

  • Comment les topologies de multipoints, polylignes, polygones et TIN peuvent être représentées et traitées.

  • Principes de base de la compression des données tels qu'ils sont appliqués aux données SIG, en particulier l'encodage de la longueur d'exécution.

Systèmes de bases de données

  • Qu'est-ce qu'un système de gestion de bases de données relationnelles, en quoi il diffère de certaines autres grandes conceptions de bases de données, quels sont ses avantages et ses inconvénients.

  • Normalisation et conception de bases de données.

  • Comment interroger des bases de données (par exemple, SQL).

  • Méthodes de documentation, en particulier les métadonnées et les dictionnaires de données.

SIG

  • Algorithmes typiques pour effectuer des procédures SIG de base, y compris le point dans un polygone et la mise en mémoire tampon. Pourquoi des algorithmes différents peuvent être souhaitables pour des calculs ponctuels par rapport à des calculs répétés avec les mêmes données, ou pour des données statiques par rapport à des données dynamiques (en temps réel).

  • Comment les données SIG peuvent être organisées pour la recherche et le traitement, comme les arbres quaternaires.

  • Évaluer les compromis entre résolution/précision/vitesse dans le stockage des données SIG (en particulier les données raster).

Recueil

  • Techniques de débogage : comment isoler, identifier et contourner les erreurs. Comment décrire et signaler les bogues et anomalies apparents. Comment poser les bonnes questions sur le Web !

  • Comment inverser des fonctions avec des algorithmes de recherche de racine. (Le fait de ne pas comprendre cela conduit souvent à des algorithmes extrêmement inefficaces ou à l'échec à résoudre complètement un problème.)

  • Comment choisir parmi les programmes d'optimisation de type boîte noire (continu vs entier, convexe vs non, univarié vs multivarié, linéaire vs non, etc.). Pour plus d'exemples, voir un problème de localisation d'équipement et un problème d'emballage de polygones.

  • Comment naviguer dans les systèmes d'aide. Que rechercher et que rejeter comme inutile. (L'aide en ligne ArcGIS d'ESRI fournit de splendides exemples du très bon et du très mauvais.) Cela peut même inclure des instructions sur la lecture des diagrammes d'objets.


Parce que cela vient du haut de ma tête, c'est sûrement incomplet. Si les gens trouvent la liste utile, je m'efforcerai de l'améliorer ou de m'aider et n'hésitez pas à la compléter si vous avez une réputation suffisante. Pour que cela reste pratique et ciblé, veuillez n'aborder que les concepts qui aideront les gens à éviter les problèmes que vous avez réellement observés (dans votre propre travail ou celui des autres).


Je suis diplômé d'un programme centré sur l'ESRI dans lequel la faculté a fait un travail assez agréable en séparant concept (conférence) et utilité (laboratoire). Mes principales faiblesses à la sortie du monde universitaire étaient les suivantes : 1) je n'avais aucune compétence en SQL, aucune connaissance des principes de base des bases de données ; et 2) je n'étais pas préparé au pré-traitement programmatique requis pour la plupart des ensembles de données.

Je recommande un atelier de « traitement des données » pour présenter un SGBDR approprié (probablement PostreSQL avec PostGIS) et un langage de programmation (probablement Python) à utiliser pour nettoyer les fichiers CSV, TXT ou SHP. Avec juste un avant-goût de chacun, vos élèves seront mieux préparés à se débrouiller seuls.


Même si l'université utilise ESRI, je recommanderais d'introduire ou de décrire des équivalents open source. D'une part, il est beaucoup plus facile pour les étudiants d'installer QGIS sur leurs ordinateurs portables que ArcGIS s'ils souhaitent tester l'ouverture d'un fichier de formes car QGIS est beaucoup plus petit (ArcGIS 10 fait 2 à 3 Go) et les étudiants n'ont pas besoin d'une connexion Internet. Mon université a des programmes axés sur ArcGIS plutôt que sur les SIG ; Je pense personnellement que c'est à l'envers.

L'introduction de KML avec Google Earth ou Google Maps pourrait être un moyen d'impliquer les élèves. KML est populaire, et faire une carte interactive est un peu plus excitant qu'une carte papier ; en particulier lorsque vous pouvez partager un lien Web avec d'autres.


J'ajouterais certainement des scripts et des projections. Une autre note, est-ce un brief ESRI ? J'essaierais de le rendre " agnostique GI " car il y en a tellement maintenant, qu'ESRI n'a pas un monopole complet, et à mesure que les budgets diminuent, imo, leur part de marché diminuera également. J'essaierais donc d'introduire davantage de projets open source, car beaucoup plus d'entreprises et d'organisations évoluent dans cette direction.

J'introduirais également des cadres de programmation si possible. Je sais que vous avez dit que cela leur avait débordé la dernière fois, mais le script, au moins, est nécessaire même pour le praticien de GI le plus élémentaire.

Des compétences en bases de données sont également nécessaires. Encore une fois, même le praticien GI le plus élémentaire devra probablement maintenir une sorte de magasin de données et la manipulation de ces données sera un élément clé de son travail quotidien.

L'une des choses les plus courantes que je dois faire est d'enseigner aux utilisateurs ce qu'est réellement le SIG. Cela me stupéfie, parfois, de voir à quel point les gens connaissent peu les SIG, à part Google Maps. Ainsi, être en mesure de les amener à démontrer une compréhension clé de ce que c'est, de manière holistique, des utilisateurs aux systèmes serait bénéfique pour tous les utilisateurs. Je travaillais, récemment, avec un développeur Java d'une certaine expérience, et quelqu'un que j'ai évalué comme un spécialiste, mais il ne comprenait pas vraiment ce qu'était un SIG, en totalité.

Il serait également bon de leur montrer l'emplacement, car peu de gens pensent en dehors des sentiers battus quant à ce qu'est un emplacement.

Il a cependant le potentiel d'être plus gros que Ben Hur. J'ai étudié l'informatique à l'université, avec un module de SIG. Bien que j'aie ensuite terminé une maîtrise en SIG, puis travaillé 15 ans dans l'industrie, j'apprends toujours, il est donc impossible de tout comprendre.


Voir la vidéo: Big Data et audiovisuel: un tandem pour optimiser la valorisation des contenus (Octobre 2021).