Empfehlen Sie Themen, die in einen Kurs für Informatik für Geoinformatik aufgenommen werden sollen


24

Ich werde einen Kurs mit dem Titel Computer Science for Geospatial Technologies an der örtlichen Universität unterrichten. Dies ist ein Einführungskurs zur Einführung in Informatikkonzepte für Studierende der Geotechnik (GIS & Fernerkundung). In der Vergangenheit habe ich Programmierkonzepte eingeführt, aber ich habe festgestellt, dass dies viele Schüler überfordert hat.

Derzeit plane ich, Computerhardware, räumliche Datentypen (dh Shapefiles im Vergleich zu Geodatabases), das ESRI-Geodatabase-Modell (die Universität arbeitet auf einer ESRI-Plattform) und die grundlegende Datenbanktheorie mit ArcSDE Personal zu diskutieren.

Könnte jemand andere Informatik-bezogene Themen empfehlen, die GIS- und Fernerkundungspraktiker kennen sollten, bevor sie in die Belegschaft eintreten?

UPDATE: Das Curriculum des letzten Jahres beinhaltete:

  • Google Maps Javascript API / HTML / Google Earth / KML - 5 Wochen
  • Python Scripting - 6 Wochen
  • Datenbanktheorie / MS Access - 2 Wochen
  • VBA - 2 Wochen

Die Antwort der Studenten war, dass nicht genug Zeit für jedes Thema aufgewendet wurde. Ich spreche mit der Universität, um einen nächsten Kurs in GIS-Programmierung mit Python anzubieten.


2
Ich würde auf jeden Fall Skripte und Projektionen hinzufügen. Noch eine Anmerkung, ist es ein ESRI-Auftrag? Ich würde versuchen, es auf GI-Plattformen agnostisch zu machen. Ich würde versuchen, mehr Open-Source-Projekte einzuführen, da viel mehr Unternehmen und Organisationen auf diese Weise herumtollen. Wenn möglich, würde ich auch Programmierframeworks einführen. Ich weiß, dass Sie gesagt haben, es sei ihnen beim letzten Mal über den Kopf gegangen, aber das Skripting wird zumindest von selbst dem grundlegendsten GI-Praktiker, imo, benötigt.
Behaarte

1
Ich habe letztes Jahr Scripting aufgenommen, aber ich denke, Scripting sollte ein eigener Kurs sein. Es ist einfach zu viel da, um sich in ein paar Wochen eines größeren Kurses hineinzuzwängen. Ich möchte einen fortgeschrittenen Kurs in GIS-Programmierung mit Python anbieten.
Brian

2
Gute Punkte, @Hairy. Warum teilst du sie nicht als Antwort?
whuber

1
Es ist merkwürdig, Brian, dass, obwohl der Zweck des Kurses darin besteht, "Konzepte der Informatik einzuführen", nur 2 der 15 Wochen diesem Thema gewidmet sind (die Datenbanktheorie). Der Rest sieht eher nach praktischen Anwendungen als nach Konzepten aus. Vielleicht sind sie als Mittel gedacht, um Konzepte zu vermitteln, die sonst im Lehrplan nicht ausdrücklich genannt werden? In diesem Fall ist es hilfreich anzugeben, welche Konzepte Sie in den Segmenten GM / GE / KML, Python und VBA unterrichten möchten.
whuber

1
@whuber - Im letzten Jahr wurde der Kurs so konzipiert, dass er mehr praktische Fähigkeiten bietet. Ich nahm an, dass die meisten Studenten in ihren traditionellen GIS-Einführungskursen genügend Theorie erhalten hatten. Nach dem Eintauchen in die Praxis ohne den richtigen Hintergrund waren viele der Schüler verloren. Ich erinnere mich, dass ich darüber gesprochen habe, wie das Erstellen von Skripten in Python auf eine andere Weise die Speicher- und Prozessorauslastung beeinflussen kann, und viele der Schüler schienen nicht zu verstehen, was Speicher und Prozessor sind. Aus diesem Grund denke ich, dass es dieses Jahr etwas konzeptioneller sein sollte, um die Lücken aus anderen Kursen zu schließen.
Brian

Antworten:


29

In 15 Jahren der Beantwortung von GIS-Fragen zu Listservern und jetzt zu Webseiten habe ich einige wiederkehrende Probleme festgestellt, die darauf hindeuten, dass Praktiker bestimmte spezifische Computerkonzepte erlernen müssen. Nichts davon ist tief; alle diese sind bekannt; Aber alle scheinen gemeinsame Mängel im Hintergrund oder im Verständnis einer signifikanten Minderheit (Mehrheit?) von GIS-Leuten zu sein. In vielen Fällen muss abgesehen von einer Definition oder einem Beispiel eigentlich wenig gelernt werden. Der Punkt ist, die Schüler auf mögliche Fallstricke aufmerksam zu machen und ihnen die Prinzipien oder Werkzeuge zu geben, die sie benötigen, um sie bei ihrem Auftauchen anzugehen, ohne unbedingt zu Experten zu werden.

Links in der folgenden Liste führen zu Fragen auf dieser Site. Das bloße Vorhandensein dieser Verknüpfungen belegt den Wert der Konzepte. Wenn Sie den Links folgen, finden Sie Beispiele dafür, wie Sie Probleme mit diesen Konzepten lösen, verhindern und Menschen helfen können, besser mit GIS umzugehen.

Computersysteme

  • Die Komponenten eines Computers: Öffnen Sie eine Schachtel, nehmen Sie sie auseinander, identifizieren Sie die Teile (CPU, RAM, Festplatten, Motherboard, Netzwerkkarte usw.) und erläutern Sie deren Rolle im System. Entmystifizieren Sie es und machen Sie es für die Schüler konkret.

  • Verständnis, wie Computersysteme Daten auf externen Geräten speichern . Konzepte physikalischer und logischer Formate. Die Unterscheidung zwischen ASCII (und ähnlichen Codierungen) und rohen Binärdateien.

  • Details der internen binären Darstellung von numerischen Daten, einschließlich IEEE einfacher und doppelter Genauigkeit Schwimmern und mit und ohne Vorzeichen ganzen Zahlen . Einschränkungen von jedem. Auswählen des Datentyps für die Darstellung von GIS-Attributen.

  • Die Unterscheidung zwischen externem Speicher und RAM . (Ich weiß, dass dies unglaublich elementar ist, aber es gibt da draußen eine Menge Verwirrung.)

Computerwissenschaften

  • Asymptotische Analyse von Algorithmen . Praktisches Verständnis der Unterschiede zwischen O (n), O (n log (n)), O (n ^ 2) und (noch schlimmer) dem Timing. So testen Sie, wie ein Black-Box-Algorithmus skaliert.

  • Prinzipien der Mensch-Computer-Interaktion. Dies ist zu weit gefasst, aber einige Prinzipien des Formular- und Webseitenentwurfs können weitreichend sein.

  • Prinzipien von Computersprachen: Was von einer Sprache zu erwarten ist, der Unterschied zwischen Verfahrens- und Objektorientierung, welche Arten von Datenstrukturen und Objektsprachen können unterstützt und referenziert werden, der Unterschied zwischen kompilierten und interpretierten Sprachen (und die Kompromisse zwischen ihnen) .

  • Grundprinzipien des Datenstrukturdesigns . Das Zusammenspiel zwischen Strukturen, die zur Darstellung von Daten verwendet werden, und den Algorithmen, die diese verwenden. Die Verwendung von Arrays, Listen und Wörterbüchern.

  • Die Unterscheidung zwischen Objekten und Verweisen auf sie. ( Viele Fehler werden von Leuten gemacht, die den Unterschied zwischen einem Variablennamen und seiner Anführungszeichenfolge nicht erkennen !)

  • Was für ein Betriebssystem ist, welche Dienste von ihm zu erwarten sind und wie man mit ihm interagiert.

  • Was für ein Netzwerk ist, welche Dienste von ihnen zu erwarten sind, Vergleich einiger Architekturen und ein Gefühl der Kompromisse zwischen lokalem und entferntem Beziehen von Computerdiensten.

  • Graphentheoretische Algorithmen: Viele GIS-Analysen können in Bezug auf Probleme in Graphen abstrakt dargestellt werden. Dies ermöglicht den Zugriff auf effiziente Algorithmen. Ein schönes Beispiel auf unserer Website ist hier ein Problem, das anfangs nichts mit Grafiken zu tun zu haben scheint.

  • Rekursion. Ein gutes Beispiel für GIS-Praktiker ist die Erstellung eines räumlichen Index wie dieses Algorithmus für einen adaptiven Punkt-Quadtree .

GIS-Daten

Datenbanksysteme

GIS

  • Typische Algorithmen zur Durchführung grundlegender GIS-Verfahren, einschließlich Point-in-Polygon und Pufferung. Warum können unterschiedliche Algorithmen für einmalige Berechnungen im Vergleich zu wiederholten Berechnungen mit denselben Daten oder für statische Daten im Vergleich zu dynamischen (Echtzeit-) Daten wünschenswert sein?

  • Wie GIS-Daten für die Suche und Verarbeitung organisiert werden können, z. B. Quadtrees .

  • Bewertung der Kompromisse zwischen Auflösung / Präzision / Geschwindigkeit beim Speichern von GIS-Daten (insbesondere Rasterdaten).

Verschiedenes

  • Debugging - Techniken: wie zu isolieren, zu identifizieren und zu arbeiten um Fehler. Wie man offensichtliche Bugs und Anomalien beschreibt und meldet. So stellen Sie gute Fragen im Web!

  • So invertieren Sie Funktionen mit Root-Finding-Algorithmen . (Wird dies nicht erkannt, führt dies häufig zu äußerst ineffizienten Algorithmen oder kann ein Problem nicht vollständig lösen.)

  • Auswahl zwischen Black-Box- Optimierungsprogrammen (stetig vs. ganzzahlig, konvex vs. nicht, univariat vs. multivariat, linear vs. nicht usw.). Weitere Beispiele finden Sie unter Problem mit der Gerätelage und unter Problem mit der Polygonpackung .

  • So navigieren Sie in Hilfesystemen. Was zu suchen und was als nutzlos abzulehnen. (Die Online-ArcGIS-Hilfe von ESRI bietet hervorragende Beispiele für die sehr guten und die sehr schlechten.) Dies kann sogar Anweisungen zum Lesen von Objektdiagrammen enthalten .


Da dies nicht auf meinem Kopf liegt, ist es sicherlich unvollständig. Wenn die Leute die Liste nützlich finden, arbeite ich daran, sie zu verbessern - oder helfe mir und füge sie hinzu, wenn du einen ausreichenden Ruf hast. Um dies praktisch und fokussiert zu halten, wenden Sie sich bitte nur an Konzepte, die Menschen dabei helfen, Probleme zu vermeiden, die Sie tatsächlich beobachtet haben (in Ihrer eigenen Arbeit oder bei anderen).


Ich bin mir nicht sicher, ob Ihr Beispiel für "Die Unterscheidung zwischen externem Speicher und RAM" Ihrer Meinung nach die Bedeutung hat. RAM-Disks existieren und dies ist eine gültige Verwendung von einem.
Tomfumb

@tom Was ich an dieser Stelle unbedingt ansprechen wollte, ist die allgemeine Verwirrung unter Benutzern, die den gesamten Speicher und RAM als "Speicher" bezeichnen, ohne die verschiedenen Merkmale von Speichergeräten oder die RAM-Formen zu kennen. Es ist kaum möglich zu verstehen, was ein RAM-Laufwerk ist oder wie es funktioniert, bis Sie verstehen ... soll ich es noch einmal sagen? ... die Unterscheidung zwischen externem Speicher und RAM. Außerdem kann eine RAM-Disk aufgrund ihrer Flüchtigkeit nicht als Speichergerät betrachtet werden. Aber SSDs verwischen mit Sicherheit die Leitungen, ebenso wie Cloud-basierter Speicher über Hochgeschwindigkeitsnetzwerke.
Whuber

1
Ich wünschte, ich hätte den Konzepten der gleichzeitigen Programmierung im Unterricht mehr Aufmerksamkeit geschenkt . Ich war wahrscheinlich zu beschäftigt mit Multitasking :) Bei lang laufenden Prozessen, die im Web verteilt sind, denke ich, dass dies sehr wichtig geworden ist. Auch wäre hilfreich bei der Behandlung von Threading-Problemen mit Legacy-COM.
Kirk Kuykendall

@ Kirk Guter Vorschlag. Ich stelle fest, dass die parallele Programmierung fast so schnell zur Gewohnheit wird, dass ihre Details erfolgreich abstrahiert werden, sodass wir in vielen Fällen nicht viel wissen müssen, um sie zu nutzen. Ein typisches Beispiel: In Mathematica müssen Sie nur einen Codeabschnitt in einen ParallelizeBefehl einbinden, um den Rest zu erledigen . (Es ist jedoch immer noch hilfreich, die zugrunde liegende Technologie zu verstehen, um diese Funktion
optimal zu

11

Ich absolvierte ein ESRI-zentriertes Programm, in dem die Fakultät ein ziemlich gutes Trennungskonzept (Vorlesung) und Nutzen (Labor) lieferte. Meine hauptsächlichen Schwächen beim Verlassen der akademischen Welt waren: 1) Ich hatte keine SQL-Kenntnisse, keine Kenntnisse der grundlegenden Datenbankprinzipien; und 2) ich war nicht auf die programmatische Vorverarbeitung vorbereitet, die für die meisten Datensätze erforderlich ist.

Ich empfehle einen "Datenhandhabungs" -Workshop, um ein geeignetes RDBMS (wahrscheinlich PostreSQL mit PostGIS) und eine Programmiersprache (wahrscheinlich Python) für die Bereinigung von CSV-, TXT- oder SHP-Dateien einzuführen. Mit nur einem Vorgeschmack sind Ihre Schüler eher darauf vorbereitet, "da draußen" für sich zu stehen.


1
+1 für PostGIS. Weder Access noch ArcSDE fördern ein gutes Datenbankdesign. Auf lange Sicht sind gute SQL-Kenntnisse viel wertvoller als das Erlernen der "ESRI-Methode" zum Umgang mit räumlichen Daten in "so etwas wie" einem RDBMS.
Underdunkel

@ rec.thegeom - Ich habe ein ähnliches Programm (an derselben Universität, an der ich unterrichte) mit denselben Nachteilen absolviert und musste im Beruf lernen. Ich glaube, der akademischen Gemeinschaft fehlt es an einem Verständnis dafür, welche Fähigkeiten und Kenntnisse erforderlich sind, um in einer GIS-Karriere erfolgreich zu sein. Ich denke, Datenspeicherung und -verwaltung sollten das Rückgrat jeder GIS-Ausbildung sein. Schließlich ist GIS nur eine andere Form der Datenanalyse und -visualisierung. Da die Schüler mit der ESRI-Umgebung vertraut sind (und bereits installiert sind), hoffe ich, SQL Server Express für die Datenbankarbeit zu verwenden.
Brian

10

Selbst wenn die Universität ESRI verwendet, würde ich empfehlen, Open-Source-Entsprechungen einzuführen oder zu beschreiben. Zum einen ist es für Schüler viel einfacher, QGIS auf ihren Laptops zu installieren als für ArcGIS, wenn sie das Öffnen eines Shapefiles testen möchten, da QGIS erheblich kleiner ist (ArcGIS 10 ist 2 bis 3 GB groß) und Schüler keine Internetverbindung benötigen. Meine Universität hat Lehrpläne, die sich eher auf ArcGIS als auf GIS konzentrieren. Ich persönlich denke, das ist rückwärts.

Die Einführung von KML mit Google Earth oder Google Maps könnte eine Möglichkeit sein, Schüler zu motivieren. KML ist beliebt, und das Erstellen einer interaktiven Karte ist viel aufregender als eine Papierkarte. Insbesondere, wenn Sie einen Weblink mit anderen teilen können.


2
Ich bin damit einverstanden, dass das Lehren nur von ESRI rückwärts ist. Leider stimmt die Universität nicht zu. Aufgrund von IT-Einschränkungen kann ich im Computerraum, in dem der Kurs stattfindet, keine zusätzliche Software installieren.
Brian

1
@ Brian Ich verstehe. Möglicherweise gibt es noch eine Möglichkeit, den Unterricht so zu gestalten, dass er sich auf verschiedene Fragen konzentriert, und ESRI-Produkte sind eine Möglichkeit, diese Fragen zu beantworten. Ich denke, das Tool beeinflusst das Denken und den Ausdruck (wie die menschliche Sprache), und dies ist wichtig hervorzuheben.
Djq

Einführung von KML scheint wie eine gute Möglichkeit , in ein paar Studenten zu ziehen.
rec.thegeom

Selbst wenn Sie keine Studenten haben, die Open-Source-Produkte installieren oder verwenden, wäre es dennoch sehr vorteilhaft, einen Tag oder eine Woche Zeit zu haben, in denen die verfügbaren Open-Source-Alternativen besprochen werden, um sie der Tatsache auszusetzen, dass es andere Optionen gibt als ESRI. Wenn sie zu Hause mit GIS-Software experimentieren oder sie verwenden möchten, haben sie einige alternative Optionen, die sie selbst untersuchen können.
RyanDalton

4

Ich würde auf jeden Fall Skripte und Projektionen hinzufügen. Noch eine Anmerkung, ist es ein ESRI-Auftrag? Ich würde versuchen, es als „GI-agnostisch“ zu bezeichnen, da es mittlerweile so viele gibt, dass ESRI kein vollständiges Monopol hat, und wenn die Budgets kleiner werden, wird auch ihr Marktanteil kleiner. Daher würde ich versuchen, mehr Open-Source-Projekte einzuführen, da sich viel mehr Unternehmen und Organisationen in diese Richtung bewegen.

Wenn möglich, würde ich auch Programmierframeworks einführen. Ich weiß, dass Sie gesagt haben, es sei ihnen beim letzten Mal über den Kopf gegangen, aber Skripte werden zumindest von den grundlegendsten GI-Praktikern benötigt.

Datenbankkenntnisse sind ebenfalls erforderlich. Auch hier müssen selbst die einfachsten GI-Praktiker wahrscheinlich eine Art Datenspeicher unterhalten und die Manipulation dieser Daten wird ein Schlüsselelement ihrer täglichen Arbeit sein.

Eines der häufigsten Dinge, die ich tun muss, ist Benutzern beizubringen, was GIS tatsächlich ist. Manchmal wundert es mich, wie wenig Leute über GIS Bescheid wissen, außer über Google Maps. Es wäre also für alle Benutzer von Vorteil, sie dazu zu bringen, ein Schlüsselverständnis darüber zu demonstrieren, was es ganzheitlich von den Benutzern auf die Systeme abgesehen hat. Vor kurzem habe ich mit einem erfahrenen Java-Entwickler zusammengearbeitet, der als Spezialist eingestuft wurde, der jedoch nicht wirklich verstand, was ein GIS insgesamt ist.

Es wäre auch gut, ihnen den Standort zu demonstrieren, da nicht genügend Leute über den Tellerrand hinaus darüber nachdenken, was ein Standort ist.

Es hat jedoch das Potenzial, größer als Ben Hur zu sein. Ich habe an der Universität Informatik mit einem Modul von GIS studiert. Obwohl ich dann ein Masterstudium in GIS abschloss und dann 15 Jahre in der Branche arbeitete, lerne ich immer noch, so dass es unmöglich ist, alles zu schaffen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.