Рекомендуйте включити теми до курсу "Інформатика для геопросторових технологій"


24

Я буду викладати курс в місцевому університеті під назвою "Комп'ютерна наука для геопросторових технологій". Це вступний курс, призначений для ознайомлення з поняттями інформатики для студентів геопросторових технологій (ГІС та дистанційне зондування). У минулому я впроваджував концепції програмування, але виявив, що це перейшло через голову учнів.

В даний час я планую обговорити апаратне забезпечення комп’ютера, типи просторових даних (тобто форм-файли проти геоданих баз даних), модель ESRI Geodatabase (університет працює на платформі ESRI), базову теорію баз даних з ArcSDE Personal.

Чи може хтось порекомендувати якісь інші теми, пов'язані з інформатикою, які повинні знати практикуючі ГІС та дистанційного зондування до вступу в робочу силу?

ОНОВЛЕННЯ: Програма з останніх років включала:

  • API Google Maps Javascript / HTML / Google Earth / KML - 5 тижнів
  • Сценарій Python - 6 тижнів
  • Теорія баз даних / доступ до MS - 2 тижні
  • VBA - 2 тижні

Відповідь, яку я отримав від студентів, полягала в тому, що на кожну тему було витрачено недостатньо часу. Я звертаюся до університету, щоб запропонувати курс наступного рівня з програмування ГІС за допомогою Python.


2
Я б точно додав сценарії та прогнози. Ще одна примітка: це короткий ESRI? Я б спробував зробити це агностиком на платформах GI. Я б спробував запровадити і більше проектів з відкритим кодом, оскільки набагато більше компаній та організацій так грабують. Я також запровадив рамки програмування, якщо це можливо. Я знаю, ви сказали, що минулого разу це переходило над їхніми головами, але, принаймні, сценарій потрібен навіть самому простому практику ГІ, іммо.
Волохатий

1
Я включив сценарій в минулому році, але я думаю, що сценарії повинні бути власними курсами. Там просто занадто багато, щоб стиснутись лише на кілька тижнів більшого курсу. Я хотів би запропонувати просунутий курс з програмування ГІС за допомогою Python.
Брайан

2
Хороші бали, @Hairy. Чому ви не поділитесь ними як відповідь?
whuber

1
Брайан, цікаво, що хоч мета курсу характеризується як "впровадження понять з інформатики", лише 2 з 15 тижнів присвячені цьому (теорія бази даних). Решта виглядають як практичні програми, а не концепції. Можливо, вони призначені як засоби для викладання понять, які інакше конкретно не називаються у навчальній програмі? Якщо це так, це допоможе вказати на те, які концепції ви сподіваєтесь викладати в сегментах GM / GE / KML, Python та VBA.
whuber

1
@whuber - Минулого року курс був розроблений на основі більш практичних навичок. Я вважав, що більшість студентів отримали достатньо теорії на своїх традиційних вступних курсах ГІС. Занурившись на практику без належного фону, багато студентів були загублені. Я пригадую, як обговорювали, як сценарій робочого процесу в Python одним із способів проти іншого може впливати на використання пам'яті та процесора, і багатьом студентам здавалося, що вони не розуміють, що таке пам'ять і процесор. Тому в цьому році, я думаю, це має бути трохи більш концептуально, заповнивши прогалини в інших курсах.
Брайан

Відповіді:


29

За 15 років, відповідаючи на питання ГІС на серверах списків, а тепер і на веб-сторінках, я зазначив деякі періодичні проблеми, які передбачають необхідність вивчення практиками певних конкретних обчислювальних концепцій. Жодне з них не є глибоким; все це добре відомо; але всі здаються загальними недоліками у фоновому режимі чи розумінні значної меншини (більшості?) людей із ГІС. У багатьох випадках насправді потрібно вивчити мало, крім визначення чи прикладу. Сенс полягає в тому, щоб попередити учнів про підводні камені, які виникнуть, і дати їм принципи чи інструменти, необхідні для їх вирішення, коли вони з’являються, не обов'язково стаючи експертами.

Посилання у наведеному нижче списку переходять до питань на цьому веб-сайті. Саме існування цих зв'язків свідчить про цінність понять. Перейшовши за посиланнями, ви можете знайти приклади того, як знання цих понять може вирішити проблеми, запобігти їх виникненню та допомогти людям бути більш досвідченими в ГІС.

Обчислювальні системи

Комп'ютерна наука

  • Асимптотичний аналіз алгоритмів . На практичному рівні розуміння відмінностей між O (n), O (n log (n)), O (n ^ 2), (і гірше) тимчасовими. Як перевірити, як масштабується алгоритм чорного поля.

  • Принципи взаємодії людина-комп'ютер. Це занадто широко, але деякі принципи дизайну форм та дизайну веб-сторінок можуть пройти довгий шлях.

  • Принципи обчислювальних мов: чого очікувати від мови, різниця між процедурною та об’єктною орієнтацією, які види структур даних та мови об'єктів можуть підтримувати та посилатися, різниця між складеними та інтерпретованими мовами (та компромісами серед них) .

  • Основні принципи проектування структури даних . Взаємодія між структурами, які використовуються для представлення даних, та алгоритмами, які їх використовують. Використання масивів, списків та словників.

  • Відмінність між об'єктами та посиланнями на них. ( Багато помилок роблять люди, які не розпізнають різницю між назвою змінної та цитованим рядком !)

  • Що таке операційна система, яких послуг очікувати від неї та як з нею взаємодіяти.

  • Що таке мережа, яких послуг очікувати від них, порівняння деяких архітектур та відчуття компромісів між отриманням обчислювальних послуг на локальному рівні та віддаленими.

  • Графічно-теоретичні алгоритми: багато ГІС-аналізи можуть бути абстрактно представлені в плані задач на графіках; можливість цього зробити доступ до ефективних алгоритмів. Хороший приклад на нашому сайті тут з участю проблеми , яка спочатку здається , не має нічого спільного з графіками.

  • Рекурсія. Хорошим прикладом для практиків ГІС є створення просторового індексу, такого як цей алгоритм для квадрату адаптивного пункту .

Дані ГІС

Системи баз даних

ГІС

  • Типові алгоритми виконання основних процедур ГІС, включаючи введення в полігон та буферизацію. Чому різні алгоритми можуть бути бажаними для одноразових обчислень порівняно з повторними обчисленнями з тими ж даними, або для статичних даних порівняно з динамічними (в реальному часі) даними.

  • Як можна організувати дані ГІС для пошуку та обробки, наприклад, чотиривірші .

  • Оцінка компромісів між роздільною здатністю / точністю / швидкістю при зберіганні даних ГІС (особливо растрових даних).

Різне


Оскільки це в моїй голові, це, безумовно, неповно. Якщо люди вважають цей список корисним, я працюю над його вдосконаленням - або допоможіть мені, і не соромтесь додати його, якщо у вас є достатня репутація. Щоб зробити це практичним та цілеспрямованим, звертайтесь лише до тих концепцій, які допоможуть людям уникнути проблем, які ви насправді спостерігали (у власній роботі чи в роботі інших).


Я не впевнений, що ваш приклад "Відмінність зовнішньої пам’яті від оперативної пам'яті" означає те, що ви думаєте, що це означає. Оперативні диски існують, і це дійсне використання.
tomfumb

@tom Що я дійсно хотів вирішити з цього приводу - це загальна плутанина між користувачами, які називають усі сховища та ОЗУ "пам'яттю", не розуміючи різних характеристик пристроїв зберігання даних або форм оперативної пам'яті. Навряд чи можливо оцінити, що таке накопичувач оперативної пам’яті або як він працює, поки ви не зрозумієте ... чи не скажу це знову? ... відмінність зовнішньої пам’яті від оперативної пам’яті. Також диск RAM не може вважатися пристроєм зберігання даних через свою мінливість; але SSD, безумовно, розмиває лінії, як і хмарне зберігання у високошвидкісних мережах.
whuber

1
Я впевнений, хотів би приділити більше уваги паралельним концепціям програмування, представленим на уроці. Я, напевно, був надто зайнятим багатозадачністю :) З тривалими запущеними процесами, що поширюються в Інтернеті, я думаю, що це стало дуже важливим. Також було б корисно вирішити проблеми з ниткою зі спадщиною COM.
Кірк Куйкендалл

@ Кірк Гарна пропозиція. Я вважаю, що майже так само швидко, як паралельне програмування стає звичним, його деталі успішно абстрагуються до того, що в багатьох випадках нам не потрібно багато знати, щоб його використовувати. Справа в суті: в Mathematica все, що вам потрібно зробити, це загортати розділ коду в Parallelizeкоманду, і він піклується про інше. (Розуміння базової технології все ще корисно для використання цієї можливості.)
whuber

11

Я закінчив програму, орієнтовану на ESRI, в якій викладачі зробили досить приємну роботу, розділивши концепцію (лекцію) та корисність (лабораторія). Мої основні недоліки після виходу з академій були: 1) я не мав навичок SQL, не знав основних принципів бази даних; і 2) я не був готовий до програмної попередньої обробки, необхідної для більшості наборів даних.

Я рекомендую семінар "обробка даних" для введення належної RDBMS (можливо, PostreSQL з PostGIS) та мови програмування (можливо, Python) для використання при очищенні файлів CSV, TXT або SHP. Зі смаком кожного з ваших учнів будуть готові стояти самостійно "там".


1
+1 для PostGIS. Ні Access, ні ArcSDE не заохочують гарний дизайн бази даних. Зрештою, добре знання SQL набагато цінніше, ніж вивчення "способу ESRI" для обробки просторових даних у "щось на зразок" RDBMS.
underdark

@ rec.thegeom - я закінчив аналогічний тип програми (в тому самому університеті, де я викладаю) з тими ж короткочасними приходами, і мене змусили вчитися на роботі. Я думаю, що академічне співтовариство, як правило, не розуміє, які навички та знання необхідні для досягнення успіху в кар’єрі на ГІС. Я думаю, що зберігання та управління даними повинні бути основою будь-якої освіти ГІС. Зрештою, ГІС - це лише ще одна форма аналізу та візуалізації даних. Оскільки студенти знайомі з середовищем ESRI (воно вже встановлено), я сподіваюся використовувати SQL Server Express для роботи з базами даних.
Брайан

10

Навіть якщо університет використовує ESRI, я рекомендував би ввести або описати еквіваленти з відкритим кодом. Для одного, студентам набагато простіше встановити QGIS на своїх ноутбуках, ніж ArcGIS, якщо вони хочуть перевірити відкриття файлу форм, оскільки QGIS значно менший (ArcGIS 10 - 2 - 3 Гб), а студентам не потрібно підключення до Інтернету. У моєму університеті є навчальні програми, орієнтовані на ArcGIS, а не на ГІС; Я особисто думаю, що це відстало.

Представлення KML за допомогою Google Earth або Google Maps може бути способом залучити студентів. KML популярний, а виготовлення інтерактивної карти є дещо цікавішим, ніж паперова карта; особливо, коли ви можете поділитися веб-посиланням з іншими.


2
Я погоджуюсь, що викладання тільки ESRI є зворотним. На жаль, університет не погоджується. Крім того, через обмеження ІТ я не в змозі встановити додаткове програмне забезпечення в комп'ютерній лабораторії, в якій проходить курс.
Брайан

1
@Brian Я розумію. Ще може існувати спосіб формування такої форми навчання, яка зосереджена на різних питаннях, а продукти ESRI - це один із способів відповіді на ці запитання. Я думаю, що інструмент впливає на мислення та вираження (як людська мова), і це важливо виділити.
djq

введення KML здається чудовим способом залучити деяких студентів до.
rec.thegeom

Навіть якщо у вас немає студентів, які встановлюють або використовують продукти з відкритим кодом, все-таки було б дуже корисно провести день або тиждень, де обговорювались альтернативи з відкритим кодом, які доступні лише для того, щоб викрити їх на те, що існують інші варіанти ніж ESRI. Якщо вони хочуть експериментувати або використовувати програмне забезпечення ГІС в домашніх умовах, вони матимуть кілька альтернативних варіантів самостійно дослідити.
RyanDalton

4

Я б точно додав сценарії та прогнози. Ще одна примітка: це короткий ESRI? Я б спробував зробити це «GI агностиком», оскільки їх зараз так багато, що ESRI не має повноцінної монополії, і коли бюджети скорочуються, імо, їхня частка на ринку також зменшиться. Тож я б спробував запровадити і більш відкриті проекти, оскільки набагато більше компаній та організацій рухаються таким шляхом.

Я б також запровадив рамки програмування, якщо це можливо. Я знаю, ви сказали, що минулого разу це переходило над їхніми головами, але, принаймні, сценарії потрібні навіть найпростішим практикам ГІ.

Також потрібні навички бази даних. Знову ж таки, навіть найпростішим практикам ГІ, мабуть, доведеться підтримувати якийсь сховище даних та маніпулювати тим, що дані стануть ключовим елементом їх щоденної роботи.

Одне з найпоширеніших речей, що я маю робити, - це навчити користувачів, якими є насправді ГІС. Іноді це мене глумить, коли мало хто знає про ГІС, окрім Google Maps. Таким чином, можливість мати їх для демонстрації ключового розуміння того, що це, цілісно, ​​від користувачів, до систем, було б корисно для всіх користувачів. Нещодавно я працював з розробником Java, який мав певний досвід, і хтось, кого я оцінив як спеціаліста, але він взагалі не розумів, що таке ГІС.

Також було б добре продемонструвати їм місце розташування, оскільки недостатньо людей думають поза межами поля, що таке місце.

Однак він може бути більшим, ніж Бен Хур. Я вивчав інформатику в університеті, за допомогою модуля ГІС. Незважаючи на те, що потім закінчую ступінь магістра в галузі ГІС, потім працюю 15 років у галузі, я все ще навчаюсь, тому неможливо все це отримати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.