Upload
duongthien
View
219
Download
0
Embed Size (px)
Citation preview
IntroductionThe coursewareOS community resourcesSummary
Developing a Distance Education Programming Skillscourse for Geo-information sciences and Earth observation
students
Ivana Ivanova, Otto Huisman, Rolf de By, Martin Rutzinger, WimBakker, Wim Feringa
Faculty of Geo-Information and Earth Observation of the University of Twente
2010
ISPRS Commision VI Sympozium page 1 of 24
IntroductionThe coursewareOS community resourcesSummary
Programming skills at ITCDistance education: Programming skills
Typical geo-information problem
An example of a free natural language description of a locality, like thefollowing:
Paciencia: A village or farm in Sao Paulo state, visited by Natterer,24-25 Mar. 1824: Natterer’s itinerary indicates locality inne Sao Paulo, north of Casa Branca [2146/4705(USBGN)].
How to obtain as precise as possible the lat/long of this locality?
A possible strategy:1 natural language parsing,2 use of gazetteer service for ‘Casa Branca’,3 use of web feature service for Brazilian states,4 a) use of gazetteer service for Paciencia, or b) use of a freeform
internet searhc engine for it, and5 application of an advanced spatial predicate to combine the various
obtained inputs to list Paciencia candidate localities.
ISPRS Commision VI Sympozium page 2 of 24 sub 1 of 3
IntroductionThe coursewareOS community resourcesSummary
Programming skills at ITCDistance education: Programming skills
Typical geo-information problem
An example of a free natural language description of a locality, like thefollowing:
Paciencia: A village or farm in Sao Paulo state, visited by Natterer,24-25 Mar. 1824: Natterer’s itinerary indicates locality inne Sao Paulo, north of Casa Branca [2146/4705(USBGN)].
How to obtain as precise as possible the lat/long of this locality?
A possible strategy:1 natural language parsing,2 use of gazetteer service for ‘Casa Branca’,3 use of web feature service for Brazilian states,4 a) use of gazetteer service for Paciencia, or b) use of a freeform
internet searhc engine for it, and5 application of an advanced spatial predicate to combine the various
obtained inputs to list Paciencia candidate localities.
ISPRS Commision VI Sympozium page 2 of 24 sub 2 of 3
IntroductionThe coursewareOS community resourcesSummary
Programming skills at ITCDistance education: Programming skills
Typical geo-information problem
An example of a free natural language description of a locality, like thefollowing:
Paciencia: A village or farm in Sao Paulo state, visited by Natterer,24-25 Mar. 1824: Natterer’s itinerary indicates locality inne Sao Paulo, north of Casa Branca [2146/4705(USBGN)].
How to obtain as precise as possible the lat/long of this locality?
A possible strategy:1 natural language parsing,2 use of gazetteer service for ‘Casa Branca’,3 use of web feature service for Brazilian states,4 a) use of gazetteer service for Paciencia, or b) use of a freeform
internet searhc engine for it, and5 application of an advanced spatial predicate to combine the various
obtained inputs to list Paciencia candidate localities.ISPRS Commision VI Sympozium page 2 of 24 sub 3 of 3
IntroductionThe coursewareOS community resourcesSummary
Programming skills at ITCDistance education: Programming skills
Programming and Geo-Information Science
Solution to many geoscientific problems require high-level analyticalthinking, with the application of algorithmic and computational principles.
The standard application fields where programming skills are used are:(spatial) databasesspatial analysisimage processing(geo)-web services.
ISPRS Commision VI Sympozium page 3 of 24
IntroductionThe coursewareOS community resourcesSummary
Programming skills at ITCDistance education: Programming skills
Programming and Geo-Information Science
Programming skills at ITC is embedded to modules that contribute toknowledge and skills:
1 in fundamentals of geographical information systems (GIS) and remotesensing (RS) at ITC also nicked as: Core GIS & RS, and
2 in advanced topics of geo-information science and Earth observation.
Programming skills at ITC is a special module spread through variousmodules (few days in each) in two parts.
Programming skills are essential to all study and research programs atITC!
The challenge of teaching programming skills (not only at ITC!) is:to teach students how to approach problem-solving in a structuredlogical way, andto help students to develop computational solutions for givenproblems.
ISPRS Commision VI Sympozium page 4 of 24 sub 1 of 3
IntroductionThe coursewareOS community resourcesSummary
Programming skills at ITCDistance education: Programming skills
Programming and Geo-Information Science
Programming skills at ITC is embedded to modules that contribute toknowledge and skills:
1 in fundamentals of geographical information systems (GIS) and remotesensing (RS) at ITC also nicked as: Core GIS & RS, and
2 in advanced topics of geo-information science and Earth observation.
Programming skills at ITC is a special module spread through variousmodules (few days in each) in two parts.
Programming skills are essential to all study and research programs atITC!
The challenge of teaching programming skills (not only at ITC!) is:to teach students how to approach problem-solving in a structuredlogical way, andto help students to develop computational solutions for givenproblems.
ISPRS Commision VI Sympozium page 4 of 24 sub 2 of 3
IntroductionThe coursewareOS community resourcesSummary
Programming skills at ITCDistance education: Programming skills
Programming and Geo-Information Science
Programming skills at ITC is embedded to modules that contribute toknowledge and skills:
1 in fundamentals of geographical information systems (GIS) and remotesensing (RS) at ITC also nicked as: Core GIS & RS, and
2 in advanced topics of geo-information science and Earth observation.
Programming skills at ITC is a special module spread through variousmodules (few days in each) in two parts.
Programming skills are essential to all study and research programs atITC!
The challenge of teaching programming skills (not only at ITC!) is:to teach students how to approach problem-solving in a structuredlogical way, andto help students to develop computational solutions for givenproblems.
ISPRS Commision VI Sympozium page 4 of 24 sub 3 of 3
IntroductionThe coursewareOS community resourcesSummary
Programming skills at ITCDistance education: Programming skills
The programming language
Python is a general purpose, open-source computer programminglanguage.
Python is easy-to-learn no-frills syntax and insightful commandstructure.
Python is an extremely powerful language with many extensionsmodules available.
Python is widely used in geo-software projects (e.g.PostgreSQL+PostGIS, ArcGIS & ERDAS, QuantumGIS, GeoDjango).
http://python.org
ISPRS Commision VI Sympozium page 5 of 24
IntroductionThe coursewareOS community resourcesSummary
Programming skills at ITCDistance education: Programming skills
Teaching problem solving skillsDidactical principles applied in DEPSCourse content
Teaching programming skills on distance
Distance education:comprises learning episodes, during which educator and the educated(student) are typically not at the same location.
Teaching programming skills requires:in case of a group of students with various background, an approachbased on common knowledge (i.e. simple mathematics and geometry).
Teaching programming skills on distance requires:compensation of the missing face-to-face contact hours withimplementation of:
animated content, and/orinteractive learning tools.
ISPRS Commision VI Sympozium page 6 of 24
IntroductionThe coursewareOS community resourcesSummary
Programming skills at ITCDistance education: Programming skills
Teaching problem solving skillsDidactical principles applied in DEPSCourse content
Rationale for DEPS
Distance education on Programming skills (DEPS):covers the same topics as in the Core GIS & RS.
is not a translation, nor a transition, but a re-designed face-to-facePS!
offers a ‘stand-alone’ introduction to Python with the focus on thedomain of GIS & RS.
is self-instructive, i.e. offers to the student the possibility to study ather/his own pace, in her/his own time, and at her/his own location.
ISPRS Commision VI Sympozium page 7 of 24 sub 1 of 4
IntroductionThe coursewareOS community resourcesSummary
Programming skills at ITCDistance education: Programming skills
Teaching problem solving skillsDidactical principles applied in DEPSCourse content
Rationale for DEPS
Distance education on Programming skills (DEPS):covers the same topics as in the Core GIS & RS.
is not a translation, nor a transition, but a re-designed face-to-facePS!
offers a ‘stand-alone’ introduction to Python with the focus on thedomain of GIS & RS.
is self-instructive, i.e. offers to the student the possibility to study ather/his own pace, in her/his own time, and at her/his own location.
ISPRS Commision VI Sympozium page 7 of 24 sub 2 of 4
IntroductionThe coursewareOS community resourcesSummary
Programming skills at ITCDistance education: Programming skills
Teaching problem solving skillsDidactical principles applied in DEPSCourse content
Rationale for DEPS
Distance education on Programming skills (DEPS):covers the same topics as in the Core GIS & RS.
is not a translation, nor a transition, but a re-designed face-to-facePS!
offers a ‘stand-alone’ introduction to Python with the focus on thedomain of GIS & RS.
is self-instructive, i.e. offers to the student the possibility to study ather/his own pace, in her/his own time, and at her/his own location.
ISPRS Commision VI Sympozium page 7 of 24 sub 3 of 4
IntroductionThe coursewareOS community resourcesSummary
Programming skills at ITCDistance education: Programming skills
Teaching problem solving skillsDidactical principles applied in DEPSCourse content
Rationale for DEPS
Distance education on Programming skills (DEPS):covers the same topics as in the Core GIS & RS.
is not a translation, nor a transition, but a re-designed face-to-facePS!
offers a ‘stand-alone’ introduction to Python with the focus on thedomain of GIS & RS.
is self-instructive, i.e. offers to the student the possibility to study ather/his own pace, in her/his own time, and at her/his own location.
ISPRS Commision VI Sympozium page 7 of 24 sub 4 of 4
IntroductionThe coursewareOS community resourcesSummary
Programming skills at ITCDistance education: Programming skills
Teaching problem solving skillsDidactical principles applied in DEPSCourse content
Why and how to teach problem solving skills?
Many geo-computational problems are common and well-known andhave found solutions built into off-the-shelf systems.
‘Knowing how to program’ is about more than just specific syntax of acomputer language it involves:
computational thinking, andan ability to conceptualize solutions by applying abstractions.
Computers and computer languages are only tools to turn theseabstractions into reality.
With DEPS, we want to equip our students with skills to tackle alsoless common problems that are often more complex and requirehigh-level analytical thinking and problem solving skills.
Our strategy is using real life examples (start with easy end withcomplex) and follow this didactical approach:
1 abstract solution to the problem in the form of the list of steps, and then2 coding and testing.
ISPRS Commision VI Sympozium page 8 of 24 sub 1 of 4
IntroductionThe coursewareOS community resourcesSummary
Programming skills at ITCDistance education: Programming skills
Teaching problem solving skillsDidactical principles applied in DEPSCourse content
Why and how to teach problem solving skills?
Many geo-computational problems are common and well-known andhave found solutions built into off-the-shelf systems.
‘Knowing how to program’ is about more than just specific syntax of acomputer language it involves:
computational thinking, andan ability to conceptualize solutions by applying abstractions.
Computers and computer languages are only tools to turn theseabstractions into reality.
With DEPS, we want to equip our students with skills to tackle alsoless common problems that are often more complex and requirehigh-level analytical thinking and problem solving skills.
Our strategy is using real life examples (start with easy end withcomplex) and follow this didactical approach:
1 abstract solution to the problem in the form of the list of steps, and then2 coding and testing.
ISPRS Commision VI Sympozium page 8 of 24 sub 2 of 4
IntroductionThe coursewareOS community resourcesSummary
Programming skills at ITCDistance education: Programming skills
Teaching problem solving skillsDidactical principles applied in DEPSCourse content
Why and how to teach problem solving skills?
Many geo-computational problems are common and well-known andhave found solutions built into off-the-shelf systems.
‘Knowing how to program’ is about more than just specific syntax of acomputer language it involves:
computational thinking, andan ability to conceptualize solutions by applying abstractions.
Computers and computer languages are only tools to turn theseabstractions into reality.
With DEPS, we want to equip our students with skills to tackle alsoless common problems that are often more complex and requirehigh-level analytical thinking and problem solving skills.
Our strategy is using real life examples (start with easy end withcomplex) and follow this didactical approach:
1 abstract solution to the problem in the form of the list of steps, and then2 coding and testing.
ISPRS Commision VI Sympozium page 8 of 24 sub 3 of 4
IntroductionThe coursewareOS community resourcesSummary
Programming skills at ITCDistance education: Programming skills
Teaching problem solving skillsDidactical principles applied in DEPSCourse content
Why and how to teach problem solving skills?
Many geo-computational problems are common and well-known andhave found solutions built into off-the-shelf systems.
‘Knowing how to program’ is about more than just specific syntax of acomputer language it involves:
computational thinking, andan ability to conceptualize solutions by applying abstractions.
Computers and computer languages are only tools to turn theseabstractions into reality.
With DEPS, we want to equip our students with skills to tackle alsoless common problems that are often more complex and requirehigh-level analytical thinking and problem solving skills.
Our strategy is using real life examples (start with easy end withcomplex) and follow this didactical approach:
1 abstract solution to the problem in the form of the list of steps, and then2 coding and testing.
ISPRS Commision VI Sympozium page 8 of 24 sub 4 of 4
IntroductionThe coursewareOS community resourcesSummary
Programming skills at ITCDistance education: Programming skills
Teaching problem solving skillsDidactical principles applied in DEPSCourse content
Didactical principles applied in DEPS
Based on existing DE course Distance education: Principles ofdatabases (developed in 2008)
The ICARE system supported by principles of instructional theory,which uses various taxonomies:
Gagne’s Nine events of instructionsMerill’s Component display theoryBloom’s Taxonomy of higher order learning
Introduce Introduction to (Unit, Lesson, Lecture, Exercises)Connect Lecture, DemonstrationApply Demonstration, ExerciseReflect Self-test, Discussion boardExtend e-Book, Additional links
Table: Application of ICARE system
ISPRS Commision VI Sympozium page 9 of 24 sub 1 of 2
IntroductionThe coursewareOS community resourcesSummary
Programming skills at ITCDistance education: Programming skills
Teaching problem solving skillsDidactical principles applied in DEPSCourse content
Didactical principles applied in DEPS
Based on existing DE course Distance education: Principles ofdatabases (developed in 2008)
The ICARE system supported by principles of instructional theory,which uses various taxonomies:
Gagne’s Nine events of instructionsMerill’s Component display theoryBloom’s Taxonomy of higher order learning
Introduce Introduction to (Unit, Lesson, Lecture, Exercises)Connect Lecture, DemonstrationApply Demonstration, ExerciseReflect Self-test, Discussion boardExtend e-Book, Additional links
Table: Application of ICARE system
ISPRS Commision VI Sympozium page 9 of 24 sub 2 of 2
IntroductionThe coursewareOS community resourcesSummary
Programming skills at ITCDistance education: Programming skills
Teaching problem solving skillsDidactical principles applied in DEPSCourse content
DEPS didactical structure
ISPRS Commision VI Sympozium page 10 of 24
IntroductionThe coursewareOS community resourcesSummary
Programming skills at ITCDistance education: Programming skills
Teaching problem solving skillsDidactical principles applied in DEPSCourse content
DEPS course content
Unit 1:Lesson 1.1 Introduction to programmingLesson 1.2 Variables, expressions andstatementsLesson 1.3 FunctionsLesson 1.4 Conditionals and recursions
Unit 2:Lesson 2.1 Fruitful functionsLesson 2.2 IterationsLesson 2.3 StringsLesson 2.4 Lists and tuples
Unit 3:Lesson 3.1 DictionariesLesson 3.2 Files (I/O)Lesson 3.3 Classes and objectsLesson 3.4 Case study spatial processing
ISPRS Commision VI Sympozium page 11 of 24
IntroductionThe coursewareOS community resourcesSummary
Main ‘knowledge vehicles’Other components
Plug&Play learning environment
DEPS course components
ISPRS Commision VI Sympozium page 12 of 24
IntroductionThe coursewareOS community resourcesSummary
Main ‘knowledge vehicles’Other components
Plug&Play learning environment
Lecture as the ‘knowledge glue’
The content of a lecture (.pdf) acts as ‘knowledge glue’
parts sections sub-sections
glossary,on-rollover
demoexercisebookpagenavigation
bookpage-numberto previous visited slide, search, to next visited slide
ISPRS Commision VI Sympozium page 13 of 24
IntroductionThe coursewareOS community resourcesSummary
Main ‘knowledge vehicles’Other components
Plug&Play learning environment
Lecture with Python flavour
ISPRS Commision VI Sympozium page 14 of 24
IntroductionThe coursewareOS community resourcesSummary
Main ‘knowledge vehicles’Other components
Plug&Play learning environment
Self-instructive learning of practical programming skills
ISPRS Commision VI Sympozium page 15 of 24
IntroductionThe coursewareOS community resourcesSummary
Main ‘knowledge vehicles’Other components
Plug&Play learning environmentExtending programming skills theory& practiceReflect on the acquired knowledge
e-Book
ISPRS Commision VI Sympozium page 16 of 24
IntroductionThe coursewareOS community resourcesSummary
Main ‘knowledge vehicles’Other components
Plug&Play learning environmentExtending programming skills theory& practiceReflect on the acquired knowledge
Demonstrations
ISPRS Commision VI Sympozium page 17 of 24
IntroductionThe coursewareOS community resourcesSummary
Main ‘knowledge vehicles’Other components
Plug&Play learning environmentExtending programming skills theory& practiceReflect on the acquired knowledge
Self-test
ISPRS Commision VI Sympozium page 18 of 24
IntroductionThe coursewareOS community resourcesSummary
Main ‘knowledge vehicles’Other components
Plug&Play learning environment
Technical solution
Introductions, Lectures:LATEX+ beamer class with ‘home-made’ style files
Exercises:(.html) editor + Python Crunchy
Demonstrations, Self-tests:Adobe Captivate 3
Unit tests, Exam:Blackboard LMS
To see creation of every element, come and see our demonstration!
ISPRS Commision VI Sympozium page 19 of 24 sub 1 of 2
IntroductionThe coursewareOS community resourcesSummary
Main ‘knowledge vehicles’Other components
Plug&Play learning environment
Technical solution
Introductions, Lectures:LATEX+ beamer class with ‘home-made’ style files
Exercises:(.html) editor + Python Crunchy
Demonstrations, Self-tests:Adobe Captivate 3
Unit tests, Exam:Blackboard LMS
To see creation of every element, come and see our demonstration!
ISPRS Commision VI Sympozium page 19 of 24 sub 2 of 2
IntroductionThe coursewareOS community resourcesSummary
Main ‘knowledge vehicles’Other components
Plug&Play learning environment
Course delievry & communication
The end-product is a Plug-&-PlayDEPS:
Students plug USB to their PC,
Backpack with pre-downloadedDEPS will be installed, and
through Backpack students canaccess the course content.
Expected size ≈ 300MB.
ISPRS Commision VI Sympozium page 20 of 24 sub 1 of 3
IntroductionThe coursewareOS community resourcesSummary
Main ‘knowledge vehicles’Other components
Plug&Play learning environment
Course delievry & communication
The end-product is a Plug-&-PlayDEPS:
Students plug USB to their PC,
Backpack with pre-downloadedDEPS will be installed, and
through Backpack students canaccess the course content.
Expected size ≈ 300MB.
ISPRS Commision VI Sympozium page 20 of 24 sub 2 of 3
IntroductionThe coursewareOS community resourcesSummary
Main ‘knowledge vehicles’Other components
Plug&Play learning environment
Course delievry & communication
The end-product is a Plug-&-PlayDEPS:
Students plug USB to their PC,
Backpack with pre-downloadedDEPS will be installed, and
through Backpack students canaccess the course content.
Expected size ≈ 300MB.
ISPRS Commision VI Sympozium page 20 of 24 sub 3 of 3
IntroductionThe coursewareOS community resourcesSummary
Main ‘knowledge vehicles’Other components
Plug&Play learning environment
Course delievry & communication
ISPRS Commision VI Sympozium page 21 of 24
IntroductionThe coursewareOS community resourcesSummary
UseContribution
Use of open-source content
Python Programming Language is free & open-source available fromhttp://python.org
The content of face-to-face module Programming skills as well asDEPS is based on the book available fromhttp://www.greenteapress.com
Source code of the book on Python Downey, A.: Think Python.How to think like computer scientist? available from the authors’swebpage: http://www.greenteapress.com
ISPRS Commision VI Sympozium page 22 of 24
IntroductionThe coursewareOS community resourcesSummary
UseContribution
Payback to open-source community
New chapter to the book - on ‘Case study Spatial processing’.
Topics discussed in the new chapter:What is spatial data?
Which Python modules allow working with spatial data?
How to input spatial data to Python and what type of output spatial datacan be produced?
What type of spatial processing functions can be used?
How can one develop custom spatial functions?
ISPRS Commision VI Sympozium page 23 of 24
IntroductionThe coursewareOS community resourcesSummary
Summary
Summary
New distance course at ITC Distance education: ProgrammingSkills
DEPS will be reaady & first time offered on 4.10.2010 (registration isstill open).
Plug&Play learning environment to see more, find us during‘Session 07: Demonstrations’ (when: June 3, 2010 - 15:30 - 17:00,location: 0-145 or 0-165)
DEPS uses and contributes to the resources of open-sourcecommunity, which fits well with the emerging view of knowledge as ashared resource.
Thank you very much for attention!
ISPRS Commision VI Sympozium page 24 of 24 sub 1 of 2
IntroductionThe coursewareOS community resourcesSummary
Summary
Summary
New distance course at ITC Distance education: ProgrammingSkills
DEPS will be reaady & first time offered on 4.10.2010 (registration isstill open).
Plug&Play learning environment to see more, find us during‘Session 07: Demonstrations’ (when: June 3, 2010 - 15:30 - 17:00,location: 0-145 or 0-165)
DEPS uses and contributes to the resources of open-sourcecommunity, which fits well with the emerging view of knowledge as ashared resource.
Thank you very much for attention!
ISPRS Commision VI Sympozium page 24 of 24 sub 2 of 2