Рекомендовать темы для включения в курс «Компьютерные науки для геопространственных технологий»

24

Я буду преподавать курс в местном университете под названием «Компьютерные науки для геопространственных технологий». Это вводный курс, предназначенный для ознакомления студентов с концепциями компьютерных наук в области геопространственных технологий (ГИС и дистанционное зондирование). В прошлом я вводил концепции программирования, но обнаружил, что это охватило многие головы студентов.

В настоящее время я планирую обсудить компьютерное оборудование, типы пространственных данных (то есть шейп-файлы и базы геоданных), модель базы геоданных ESRI (университет работает на платформе ESRI), базовую теорию баз данных с ArcSDE Personal.

Может ли кто-нибудь порекомендовать некоторые другие темы, связанные с информатикой, которые должны знать практики ГИС и дистанционного зондирования, прежде чем приступить к работе?

ОБНОВЛЕНИЕ: Учебный план прошлых лет включал:

  • API Google Maps Javascript / HTML / Google Планета Земля / KML - 5 недель
  • Сценарии Python - 6 недель
  • Теория баз данных / MS Access - 2 недели
  • VBA - 2 недели

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

Брайан
источник
2
Я бы определенно добавил сценарии и прогнозы. Еще одно замечание, это краткое изложение ESRI? Я бы попытался сделать это независимым на платформах GI. Я бы также попытался представить больше проектов с открытым исходным кодом, так как гораздо больше компаний и организаций так и делают. Я бы также представил рамки программирования, если это возможно. Я знаю, вы сказали, что в прошлый раз это было у них над головой, но, по крайней мере, написание сценариев необходимо даже самому основному специалисту по ГИ, imo.
Волосатые
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), (и хуже) временем. Как проверить, как масштабируется алгоритм черного ящика.

  • Принципы взаимодействия человека с компьютером. Это слишком широко, но некоторые принципы дизайна форм и дизайна веб-страниц могут иметь большое значение.

  • Принципы вычислительных языков: что ожидать от языка, различие между процедурной и объектной ориентацией, какие типы структур данных и объектов могут поддерживать и ссылаться на языки, различие между компилируемыми и интерпретируемыми языками (и компромиссы между ними) ,

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

  • Различие между объектами и ссылками на них. ( Многие ошибки делают люди, которые не распознают разницу между именем переменной и ее строкой в ​​кавычках !)

  • Что такое операционная система, какие сервисы ожидать от нее и как с ней взаимодействовать.

  • Что такое сеть, какие сервисы ожидать от них, сравнение некоторых архитектур и чувство компромисса между получением вычислительных сервисов локально и удаленно.

  • Теоретико-графовые алгоритмы: многие анализы ГИС могут быть абстрактно представлены в терминах задач на графах; возможность сделать это дает доступ к эффективным алгоритмам. Хороший пример на нашем сайте здесь с участием проблемы , которая изначально кажется , не имеет ничего общего с графиками.

  • Рекурсия. Хорошим примером для специалистов по ГИС является создание пространственного индекса, такого как этот алгоритм, для адаптивного точечного квадродерева .

Данные ГИС

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

ГИС

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

  • Как данные ГИС могут быть организованы для поиска и обработки, например, квадродерево .

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

альманах


Потому что это не в моей голове, это, конечно, неполно. Если люди сочтут этот список полезным, я поработаю над его улучшением - или помогу, и не стесняйтесь добавлять его, если у вас достаточно репутации. Чтобы это было практичным и целенаправленным, пожалуйста, обращайтесь только к тем понятиям, которые помогут людям избежать проблем, которые вы действительно наблюдали (в своей работе или работе других).

whuber
источник
Я не уверен, что ваш пример «Различия между внешним хранилищем и оперативной памятью» означает, что вы думаете, что это значит. RAM-диски существуют, и это правильное использование.
tomfumb
@tom То, что я действительно хотел бы затронуть в этом пункте, - это распространенная путаница среди пользователей, которые называют все хранилище и ОЗУ «памятью», не понимая различных характеристик устройств хранения или форм ОЗУ. Вряд ли можно оценить, что такое RAM-накопитель или как он работает, пока не поймешь ... скажу еще раз? ... различие между внешним хранилищем и RAM. Кроме того, RAM-диск не может считаться устройством хранения из-за его нестабильности; но твердотельные накопители, безусловно, размывают линии, как и облачные хранилища в высокоскоростных сетях.
whuber
1
Я уверен, что хотел бы уделить больше внимания концепциям параллельного программирования, представленным в классе. Я, наверное, был слишком занят многозадачностью :) С учетом того, что в Интернете распространяются длительные процессы, я думаю, что это стало очень важным. Также было бы полезно иметь дело с проблемами многопоточности с устаревшим COM.
Кирк Куйкендалл
@ Кирк Хорошее предложение. Я обнаружил, что почти так же быстро, как параллельное программирование становится обычным делом, его детали успешно абстрагируются до такой степени, что во многих случаях нам не нужно много знать, чтобы использовать его. Показательный пример: в Mathematica все, что вам нужно сделать, это обернуть часть кода в Parallelizeкоманду, и она позаботится обо всем остальном. (Понимание лежащей в основе технологии все еще полезно для максимально эффективного использования этой возможности.)
whuber
11

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

Я рекомендую семинар по «обработке данных», чтобы представить правильную СУБД (вероятно, PostreSQL с PostGIS) и язык программирования (возможно, Python) для использования при очистке файлов CSV, TXT или SHP. Просто почувствовав вкус каждого из них, ваши ученики будут более подготовлены к тому, чтобы стоять самостоятельно.

rec.thegeom
источник
1
+1 для PostGIS. Ни Access, ни ArcSDE не поощряют хороший дизайн базы данных. В конечном счете, хорошее знание SQL гораздо ценнее, чем изучение «способа ESRI» обработки пространственных данных в «что-то вроде» СУБД.
Подземье
@ rec.thegeom - я закончил программу аналогичного типа (в том же университете, где я преподаю) с теми же недостатками, и я был вынужден учиться на работе. Я думаю, что академическое сообщество имеет тенденцию испытывать недостаток в понимании того, какие навыки и знания необходимы, чтобы преуспеть в карьере ГИС. Я думаю, что хранение данных и управление должны быть основой любого образования в области ГИС. В конце концов, ГИС - это просто еще одна форма анализа и визуализации данных. Поскольку студенты знакомы со средой ESRI (она уже установлена), я надеюсь использовать SQL Server Express для работы с базами данных.
Брайан
10

Даже если в университете используется ESRI, я бы порекомендовал ввести или описать эквиваленты с открытым исходным кодом. С одной стороны, студентам гораздо проще установить QGIS на свои ноутбуки, чем ArcGIS, если они хотят проверить открытие шейп-файла, поскольку QGIS значительно меньше (ArcGIS 10 составляет 2–3 ГБ) и студентам не требуется подключение к Интернету. В моем университете учебные программы ориентированы на ArcGIS, а не на ГИС; Я лично думаю, что это задом наперед.

Знакомство с KML с помощью Google Earth или Google Maps может помочь студентам вовлечься. KML популярен, и создание интерактивной карты намного интереснее бумажной карты; особенно когда вы можете поделиться веб-ссылкой с другими.

djq
источник
2
Я согласен, что преподавание только ESRI - это задом наперед. К сожалению, университет не согласен. Кроме того, из-за ограничений ИТ я не могу установить какое-либо дополнительное программное обеспечение в компьютерную лабораторию, в которой проходит курс.
Брайан
1
@ Брайан, я понимаю. Тем не менее, может существовать способ структурировать преподавание таким образом, чтобы сосредоточиться на различных вопросах, и продукты ESRI являются одним из способов ответа на эти вопросы. Я думаю, что инструмент влияет на мышление и выражение (как человеческий язык), и это важно подчеркнуть.
DJN
Представление KML кажется отличным способом привлечь некоторых студентов.
rec.thegeom
Даже если у вас нет учеников, устанавливающих или использующих продукты с открытым исходным кодом, все равно было бы очень полезно провести день или неделю, на которых обсуждались бы доступные альтернативы с открытым исходным кодом, просто чтобы показать им тот факт, что есть другие варианты чем ESRI. Если они захотят поэкспериментировать или использовать программное обеспечение ГИС в домашних условиях, у них будут альтернативные варианты для самостоятельного исследования.
RyanDalton
4

Я бы определенно добавил сценарии и прогнозы. Еще одно замечание, это краткое изложение ESRI? Я бы попытался сделать его «независимым от ГИ», так как сейчас их так много, что у ESRI нет полного монополима, а по мере сокращения бюджетов их доля на рынке также будет уменьшаться. Поэтому я бы попытался представить больше проектов с открытым исходным кодом, так как гораздо больше компаний и организаций движутся в этом направлении.

Я бы также представил рамки программирования, если это возможно. Я знаю, что вы сказали, что в прошлый раз это было у них над головой, но сценарий, по крайней мере, нужен даже самому основному специалисту по GI.

Навыки работы с базами данных также необходимы. Опять же, даже самому основному специалисту по GI, вероятно, придется поддерживать какое-то хранилище данных, и манипулирование этими данными станет ключевым элементом их повседневной работы.

Одна из самых распространенных вещей, которую я должен сделать, это научить пользователей тому, что такое ГИС. Иногда я удивляюсь тому, как мало людей знают о ГИС, кроме карт Google. Поэтому возможность заставить их продемонстрировать ключевое понимание того, что это такое, от пользователей до систем, было бы полезно для всех пользователей. Недавно я работал с Java-разработчиком, имеющим некоторый опыт, и с кем-то, кого я оценил как специалиста, но он не совсем понимал, что такое ГИС, в целом.

Также было бы хорошо продемонстрировать им местоположение, так как мало людей за пределами коробки думают о том, что такое местоположение.

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

волосатый
источник