지리 공간 기술 컴퓨터 공학 과정에 포함시킬 주제 추천


24

저는 지리 공간 기술 컴퓨터 공학이라는 지역 대학에서 강의를 진행할 것입니다. 지리 공간 기술 학생들 (GIS & Remote Sensing)에게 컴퓨터 과학 개념을 소개하기위한 입문 과정입니다. 과거에는 프로그래밍 개념을 소개했지만이 과정이 많은 학생들의 머리 위로 넘어간 것을 발견했습니다.

현재 컴퓨터 하드웨어, 공간 데이터 유형 (예 : 모양 파일과 지오 데이터베이스), ESRI 지오 데이터베이스 모델 (대학교는 ESRI 플랫폼에서 작동), ArcSDE Personal의 기본 데이터베이스 이론에 대해 논의 할 계획입니다.

누구나 GIS 및 원격 감지 실무자가 인력에 들어가기 전에 알아야 할 다른 컴퓨터 과학 관련 주제를 추천 할 수 있습니까?

업데이트 : 지난 몇 년 동안 커리큘럼이 포함되었습니다.

  • Google Maps Javascript API / HTML / Google 어스 / KML-5 주
  • 파이썬 스크립팅-6 주
  • 데이터베이스 이론 / MS 액세스-2 주
  • VBA-2 주

학생들로부터받은 답변은 각 주제에 시간이 충분하지 않다는 것입니다. 저는 대학을 통해 파이썬을 이용한 GIS 프로그래밍의 다음 레벨 코스를 제공하고 있습니다.


2
스크립트와 프로젝션을 확실히 추가했습니다. 또 다른 참고 사항은 ESRI 브리프입니까? GI 플랫폼에서 불가지론 적으로 시도했습니다. 더 많은 회사와 조직이 그런 식으로 약탈하고있을뿐 아니라 더 많은 오픈 소스 프로젝트를 소개하려고합니다. 가능한 경우 프로그래밍 프레임 워크도 소개하겠습니다. 나는 당신이 지난 번에 그들의 머리 위로 갔다고 말했지만, 최소한 가장 기본적인 GI 실무자조차도 스크립팅이 필요합니다.
털이

1
작년에 스크립팅을 포함 시켰지만 스크립팅은 독자적인 과정이어야한다고 생각합니다. 몇 주에 걸쳐 더 큰 코스를 짜기에는 너무 많은 것이 있습니다. Python을 사용하여 GIS 프로그래밍에 고급 과정을 제공하고 싶습니다.
브라이언

2
좋은 지적이다, @Hairy. 답장으로 공유하지 않으시겠습니까?
whuber

1
이 과정의 목적이 "컴퓨터 과학 개념을 소개하는 것"으로 특징 지워졌지만 15 주 중 2 개만이 이것에 전념하는 것으로 보인다 (B 데이터베이스 이론). 나머지는 개념이 아닌 실용적인 응용 프로그램처럼 보입니다. 어쩌면 그들은 교과 과정에서 구체적으로 언급되지 않은 개념을 가르치는 수단으로 사용 되었습니까? 이 경우 GM / GE / KML, Python 및 VBA 세그먼트에서 어떤 개념을 가르치고 싶은지를 나타내는 데 도움이됩니다.
whuber

1
@whuber-작년에이 과정은보다 실용적인 기술로 설계되었습니다. 나는 대부분의 학생들이 전통적인 입문 GIS 과정에서 충분한 이론을 받았다고 생각했습니다. 적절한 배경없이 연습에 뛰어 들어 많은 학생들이 길을 잃었습니다. 파이썬의 워크 플로 스크립팅이 어떻게 메모리와 프로세서 사용에 영향을 미칠 수 있으며 많은 학생들이 메모리와 프로세서가 무엇인지 이해하지 못하는 것처럼 보였습니다. 그렇기 때문에 올해는 다른 과정과의 격차를 메우기 위해 좀 더 개념적이어야한다고 생각합니다.
브라이언

답변:


29

15 년 동안 목록 서버와 웹 페이지에서 GIS 질문에 대답하면서, 실무자들이 특정 컴퓨팅 개념을 배울 필요가 있음을 나타내는 몇 가지 반복되는 문제에 주목했습니다. 이 중 어느 것도 깊지 않습니다. 이것들은 모두 잘 알려져 있습니다. 그러나 GIS 사람들의 소수 (많은 수)에 대한 배경 지식이나 이해에있어 공통적 인 결함 인 것 같습니다. 많은 경우 실제로 정의 나 예제와는 별도로 학습 할 필요가 거의 없습니다. 요점은 학생들에게 일어날 함정에 대해 경고하고 반드시 전문가가되지 않아도 그들이 올 때 해결해야 할 원칙이나 도구를 제공하는 것입니다.

다음 목록의 링크는 모두이 사이트의 질문으로 이동합니다. 이러한 링크의 존재는 개념의 가치에 대한 증거를 제공합니다. 링크를 따라 가면 이러한 개념을 아는 것이 문제를 해결하고, 문제가 발생하는 것을 방지하고, 사람들이 GIS에보다 능숙하게 도움을 줄 수있는 방법에 대한 예를 찾을 수 있습니다.

컴퓨팅 시스템

  • 컴퓨터의 구성 요소 : 상자를 열고 상자를 꺼내어 조각 (CPU, RAM, 디스크, 마더 보드, 네트워크 카드 등)을 식별하고 시스템에서의 역할을 설명합니다. 그것을 이해하고 학생들을 위해 구체적으로 만드십시오.

  • 컴퓨팅 시스템이 방법의 이해 외부 장치에 데이터를 저장 . 물리적 및 논리적 형식의 개념 . ASCII (및 유사한 인코딩)와 원시 이진의 차이점.

  • 를 포함한 숫자 데이터의 내부 이진 표현의 세부 사항 IEEE 단일 및 이중 정밀도 수레서명 부호없는 정수 . 각각의 한계. GIS 속성을 나타내는 데 사용할 데이터 유형을 선택하는 방법

  • 외부 저장소와 RAM 의 차이점 . (이것이 엄청나게 초등 적이라는 것을 알고 있지만 많은 혼란이 있습니다.)

컴퓨터 과학

  • 알고리즘의 점근 분석 . 실제적인 수준에서, O (n), O (n log (n)), O (n ^ 2) 및 (그리고 더 나쁜) 타이밍 간의 차이를 이해합니다. 블랙 박스 알고리즘이 어떻게 확장되는지 테스트하는 방법.

  • 인간과 컴퓨터의 상호 작용 원리. 이것은 너무 광범위하지만 양식 디자인 및 웹 페이지 디자인의 일부 원칙은 먼 길을 갈 수 있습니다.

  • 컴퓨팅 언어의 원칙 : 언어에서 예상되는 것, 절차 및 객체 방향의 차이, 지원할 수있는 데이터 구조 및 객체의 종류, 컴파일 된 언어와 해석 된 언어의 차이 (및 이들 간의 상충 관계) .

  • 데이터 구조 설계 의 기본 원칙 . 데이터를 나타내는 데 사용되는 구조와이를 사용하는 알고리즘 간의 상호 작용입니다. 배열, 목록 및 사전 사용.

  • 객체와 객체에 대한 참조의 구별. ( 변수 이름과 인용 문자열 사이차이를 인식하지 못하는 사람들은 많은 실수를 저지 릅니다 !)

  • 운영 체제가 무엇인지, 어떤 서비스가 기대되며, 어떻게 상호 작용하는지.

  • 네트워크가 무엇인지, 네트워크에서 기대할 수있는 서비스, 일부 아키텍처 비교, 컴퓨팅 서비스를 로컬에서 또는 원격으로 얻는 것 사이의 균형 감각.

  • 그래프 이론 알고리즘 : 많은 GIS 분석은 그래프의 문제 측면에서 추상적으로 표현 될 수 있습니다. 이렇게하면 효율적인 알고리즘에 액세스 할 수 있습니다. 우리의 사이트에 좋은 예입니다 여기에 처음 그래프와는 아무 상관이없는 것처럼 보이는 문제를 포함.

  • 재귀. GIS 실무자에게 좋은 예는 적응 포인트 쿼드 트리에 대한이 알고리즘과 같은 공간 인덱스를 만드는 것입니다 .

GIS 데이터

데이터베이스 시스템

GIS

  • Point-in-polygon 및 버퍼링을 포함한 기본 GIS 절차를 수행하기위한 일반적인 알고리즘 . 동일한 데이터를 사용한 반복 계산과 비교하거나 동적 (실시간) 데이터와 비교 한 정적 데이터에 대해 일회성 계산에 다른 알고리즘이 필요한 이유는 무엇입니까?

  • GIS 데이터와 같은, 검색 및 처리를 위해 구성 할 수있는 방법 쿼드 트리 .

  • GIS 데이터 (특히 래스터 데이터) 저장시 해상도 / 정밀도 / 속도 간의 트레이드 오프 평가

잡록

  • 디버깅 기술 : 오류 를 격리, 식별 및 해결 하는 방법 명백한 버그 및 이상을 설명하고보고하는 방법 웹에서 좋은 질문을하는 방법!

  • 루트 찾기 알고리즘으로 함수를 반전시키는 방법 . (이 점을 이해하지 못하면 알고리즘이 매우 비효율적이거나 문제를 완전히 해결하지 못합니다.)

  • 블랙 박스 최적화 프로그램 중에서 선택하는 방법 (연속 대 정수, 볼록 대 대 비, 일 변량 대 다변량, 선형 대 비 등). 더 많은 예 는 장비 위치 문제다각형 패킹 문제를 참조하십시오 .

  • 도움말 시스템을 탐색하는 방법 무엇을 찾고 쓸모없는 것으로 거부 할 것. (ESRI의 온라인 ArcGIS 도움말은 아주 좋은 점과 나쁜 점에 대한 훌륭한 예를 제공합니다.) 여기에는 객체 다이어그램읽는 지침이 포함될 수도 있습니다 .


이것은 내 머리 꼭대기에서 떨어져 있기 때문에 반드시 불완전합니다. 사람들이 유용한 목록을 찾으면 개선하기 위해 노력할 것입니다. 또는 명성이 충분하면 자유롭게 추가하여 추가 할 수 있습니다. 이를 실용적이고 집중적으로 유지하려면 사람들이 실제로 관찰 한 문제 (자신의 작업 또는 다른 작업에서)를 피하는 데 도움이되는 개념 만 다루십시오.


'외부 저장소와 RAM의 구별'에 대한 귀하의 예가 확실하지 않다는 것을 의미합니다. RAM 디스크가 존재하며 이것의 유효한 사용입니다.
tomfumb

@tom이 점에서 실제로 해결하고자하는 것은 저장 장치의 다양한 특성이나 RAM의 형태를 이해하지 않고 모든 저장 장치와 RAM을 "메모리"라고 부르는 사용자들 사이의 일반적인 혼란 입니다. RAM 드라이브가 무엇인지 또는 어떻게 작동하는지 이해할 수 없을 것입니다. 다시 말할까요? ... 외부 스토리지와 RAM의 차이점. 또한 RAM 디스크는 변동성 때문에 저장 장치로 간주 될 수 없습니다. 그러나 SSD는 확실히 선을 흐리게하고 있으며 고속 네트워크를 통한 클라우드 기반 스토리지도 마찬가지입니다.
whuber

1
클래스에서 제공되는 동시 프로그래밍 개념에 더 많은 관심을 기울 였으면 좋겠습니다 . 나는 아마 너무 바빠서 멀티 태스킹 :) 웹에 오래 실행되는 프로세스가 배포되면서 이것이 매우 중요하다고 생각합니다. 레거시 COM의 스레딩 문제를 처리하는데도 도움이됩니다.
Kirk Kuykendall

@Kirk 좋은 제안. 병렬 프로그래밍이 거의 일반화되고있는만큼 거의 모든 세부 사항이이를 활용하기 위해 많은 것을 알 필요가 없다는 점까지 세부 사항이 성공적으로 추상화되고 있습니다. 예를 들어 Mathematica 에서는 Parallelize명령 내에서 코드 섹션을 랩핑 하고 나머지를 처리하기 만하면됩니다. (하지만 기본 기술을 이해하는 것이 여전히이 기능을 최대한 활용하는 데 도움이됩니다.)
whuber

11

나는 교수가 개념 (강의)과 유틸리티 (실험실)를 분리하는 훌륭한 일을 한 ESRI 중심의 프로그램을 졸업했습니다. 학계를 마칠 때의 주요 약점은 다음과 같습니다. 1) SQL 기술이없고 기본 데이터베이스 원칙에 대한 지식이 없습니다. 2) 대부분의 데이터 세트에 필요한 프로그래밍 방식의 사전 처리를 위해 준비되지 않았습니다.

CSV, TXT 또는 SHP 파일을 정리할 때 사용할 적절한 RDBMS (아마 PostGIS가 포함 된 PostreSQL) 및 프로그래밍 언어 (아마도 Python)를 소개하는 "데이터 처리"워크숍을 추천합니다. 각각의 취향에 따라 학생들은 자신의 "외부"에 서기 위해 더 준비 될 것입니다.


1
PostGIS의 경우 +1 Access 나 ArcSDE 모두 데이터베이스 설계를 장려하지 않습니다. 장기적으로, SQL에 대한 좋은 지식은 RDBMS와 같은 무언가에서 공간 데이터를 처리하는 "ESRI 방식"을 배우는 것보다 훨씬 가치가 있습니다.
underdark

@ rec.thegeom-나는 같은 단점을 가진 비슷한 유형의 프로그램 (내가 가르치고있는 대학에서)을 졸업했으며 직장에서 배우도록 강요 받았다. 나는 학계가 GIS 경력에 성공하기 위해 어떤 기술과 지식이 필요한지 이해하지 못하는 경향이 있다고 생각합니다. 데이터 저장 및 관리는 모든 GIS 교육의 중추가되어야한다고 생각합니다. 결국 GIS는 또 다른 형태의 데이터 분석 및 시각화입니다. 학생들은 ESRI 환경 (이미 설치되어 있음)에 익숙하기 때문에 데이터베이스 작업에 SQL Server Express를 사용하려고합니다.
Brian

10

대학에서 ESRI를 사용하더라도 오픈 소스 동등 물을 소개하거나 설명하는 것이 좋습니다. 첫째, QGIS가 상당히 작고 (ArcGIS 10은 2-3GB) 학생들이 인터넷 연결이 필요하지 않기 때문에 셰이프 파일 열기를 테스트하려는 경우 학생들이 ArcGIS보다 랩톱에 QGIS를 설치하는 것이 훨씬 쉽습니다. 우리 대학은 GIS보다는 ArcGIS에 중점을 둔 커리큘럼을 가지고 있습니다. 나는 개인적으로 이것이 거꾸로 생각합니다.

Google 어스 또는 Google지도와 함께 KML을 소개하면 학생들의 참여를 유도 할 수 있습니다. KML은 대중적이며 대화 형지도를 만드는 것은 종이지도보다 훨씬 흥미 롭습니다. 특히 다른 사람들과 웹 링크를 공유 할 수있을 때.


2
ESRI 만 가르치는 것이 거꾸로되는 것에 동의합니다. 불행히도 대학은 동의하지 않습니다. 또한 IT 제약으로 인해 코스가 진행되는 컴퓨터 실에 추가 소프트웨어를 설치할 수 없습니다.
브라이언

1
@Brian 이해합니다. 다양한 질문에 중점을 둔 교수법을 짜는 방법이 여전히있을 수 있으며 ESRI 제품은 이러한 질문에 답하는 한 가지 방법입니다. 나는이 도구가 인간의 언어와 같은 사고와 표현에 영향을 미치며 강조해야 할 중요한 요소라고 생각합니다.
djq

KML을 소개하는 것은 몇몇 학생들을 끌어들이는 좋은 방법 인 것 같습니다.
rec.thegeom

학생들에게 오픈 소스 제품을 설치하거나 사용하지 않더라도 다른 옵션이 있다는 사실에 노출시킬 수있는 오픈 소스 대안에 대해 논의한 날이나 일주일을 갖는 것이 여전히 유익 할 것입니다 ESRI보다. 집에서 GIS 소프트웨어를 실험하거나 사용하려는 경우 스스로 조사 할 수있는 대체 옵션이 있습니다.
RyanDalton

4

스크립트와 프로젝션을 확실히 추가했습니다. 또 다른 참고 사항은 ESRI 브리프입니까? ESRI는 독점권이없고 예산이 줄어듦에 따라 시장 점유율도 줄어 듭니다. 그래서 더 많은 회사와 조직이 그와 같은 방식으로 더 많은 오픈 소스 프로젝트를 도입하려고 노력하고 있습니다.

가능한 경우 프로그래밍 프레임 워크도 소개하겠습니다. 나는 당신이 지난 번에 그들의 머리 위로 갔다고 말했지만, 최소한 가장 기본적인 GI 실무자조차도 스크립팅이 필요합니다.

데이터베이스 기술도 필요합니다. 다시 말하지만, 가장 기본적인 GI 실무자조차도 일종의 데이터 저장소를 유지하고 데이터가 일상 업무의 핵심 요소가 될 수 있도록 조작해야 할 것입니다.

내가해야 할 가장 일반적인 것 중 하나는 사용자에게 GIS가 실제로 무엇인지 가르치는 것입니다. Google지도가 아닌 다른 사람이 GIS에 대해 아는 사람이없는 경우가 종종 있습니다. 따라서 그들이 사용자로부터 시스템에 이르기까지 그것이 전체적으로 무엇인지에 대한 주요 이해를 논증시킬 수있게하는 것은 모든 사용자에게 유익 할 것입니다. 나는 최근에 경험이 풍부한 Java 개발자와 전문가로 평가 한 사람과 함께 일하고 있었지만 실제로 GIS가 무엇인지 완전히 이해하지 못했습니다.

사람들이 상자 밖에서 위치가 무엇인지 생각하지 않기 때문에 위치를 보여주는 것이 좋습니다.

그러나 벤 허보다 더 큰 잠재력이 있습니다. 저는 GIS 모듈로 대학에서 컴퓨터 과학을 전공했습니다. 그런 다음 GIS에서 석사 학위를 마치고 업계에서 15 년 동안 일하면서도 여전히 배우고 있기 때문에 모든 것을 받아 들일 수는 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.