E M U

advertisement
Request for New Course
EASTERN MICHIGAN UNIVERSITY
DIVISION OF ACADEMIC AFFAIRS
REQUEST FOR NEW COURSE
DEPARTMENT/SCHOOL: GEOGRAPHY AND GEOLOGY___COLLEGE:
ARTS AND SCIENCES
CONTACT PERSON: __HUGH SEMPLE____________________________________________________________
CONTACT PHONE:
734-487-8169
CONTACT EMAIL:
HSEMPLE@EMICH.EDU
REQUESTED START DATE: TERM___FALL__________YEAR____2015_______
A. Rationale/Justification for the Course
The GIS Minor or the proposed undergraduate program in GIS Science and Technology does not have any course in
GIS customization and programming, areas that continue to have the highest demand for GIS graduates. Due to the
high demand for students with skills in GIS programming and customization, it is felt that a course that provides
education and skills in these areas should be immediately established. The emphasis of the course is on concepts and
techniques for constructing tools to solve geographic problems not easily solved using out-of-the-box GIS
functionalities. Students will be exposed to details of both visual programming as well as the object model of the GIS
software.
B. Course Information
1. Subject Code and Course Number:
GEOG 484
2. Course Title:
GIS Customization and Programming
3. Credit Hours:
3 hrs
4. Repeatable for Credit?
Yes_______ No___X___
If “Yes”, how many total credits may be earned?_______
5. Catalog Description (Limit to approximately 50 words.):
This course is designed for students who are familiar with GIS software at a technical level, but who are new to
programming the software. Emphasis is on learning basic programming structures, studying the object model of the
GIS software, reading and writing usable code for typical GIS tasks, and adding new, simple functionalities to out-ofthe-box GIS software. Prerequisite: GEOG 276 or departmental permission.
6. Method of Delivery (Check all that apply.)
a. Standard (lecture/lab)
On Campus
X
X
Off Campus
b. Fully Online
X
c. Hybrid/ Web Enhanced
X
7. Grading Mode:
Miller, New Course
Sept. 09
Normal (A-E) X
Credit/No Credit
New Course Form
8. Prerequisites: Courses that MUST be completed before a student can take this course. (List by Subject Code,
Number and Title.)
GEOG 276
9. Concurrent Prerequisites: Courses listed in #5 that MAY also be taken at the same time as a student is taking this
course. (List by Subject Code, Number and Title.)
None
10. Corequisites: Courses that MUST be taken at the same time as a student in taking this course.
(List by
Subject Code, Number and Title.)
None
11. Equivalent Courses. A student may not earn credit for both a course and its equivalent. A course will count as a
repeat if an equivalent course has already been taken. (List by Subject Code, Number and Title)
None
12. Course Restrictions:
a. Restriction by College. Is admission to a specific College Required?
College of Business
College of Education
Yes
Yes
No
No
X
X
b. Restriction by Major/Program. Will only students in certain majors/programs be allowed to take this course?
Yes
No
X
If “Yes”, list the majors/programs
c. Restriction by Class Level Check all those who will be allowed to take the course:
Undergraduate
Miller, New Course
Sept. ‘09
Graduate
All undergraduates___X____
All graduate students____
Freshperson
Certificate
Sophomore
Masters
Junior
Specialist
Page 2 of 8
New Course Form
Senior
Doctoral
Second Bachelor________
UG Degree Pending_____
Post-Bac. Tchr. Cert._____
Low GPA Admit_______
Note: If this is a 400-level course to be offered for graduate credit, attach Approval Form for 400-level Course for
Graduate Credit. Only “Approved for Graduate Credit” undergraduate courses may be included on graduate
programs of study.
Note: Only 500-level graduate courses can be taken by undergraduate students. Undergraduate students may not
register for 600-level courses
d. Restriction by Permission. Will Departmental Permission be required? Yes
No
X
(Note: Department permission requires the department to enter authorization for every student registering.)
13. Will the course be offered as part of the General Education Program?
Yes
No
X
If “Yes”, attach Request for Inclusion of a Course in the General Education Program: Education for Participation in the
Global Community form. Note: All new courses proposed for inclusion in this program will be reviewed by the
General Education Advisory Committee. If this course is NOT approved for inclusion in the General Education
program, will it still be offered?
Yes
No
C. Relationship to Existing Courses
Within the Department:
14. Will this course be a requirement or restricted elective in any existing program(s)? Yes
X
No
If “Yes”, list the programs and attach a copy of the programs that clearly shows the place the new course will have in
the curriculum.
Program Geospatial Information Science and Technology (B.S. Major)
Required
X Restricted Elective_
Program
Required
Restricted Elective
15. Will this course replace an existing course? Yes
No
X
16. (Complete only if the answer to #15 is “Yes.”)
a. Subject Code, Number and Title of course to be replaced:
b. Will the course to be replaced be deleted?
Yes
No
17. (Complete only if the answer #16b is “Yes.”) If the replaced course is to be deleted, it is not necessary to
submit a Request for Graduate and Undergraduate Course Deletion.
a. When is the last time it will be offered?
Term
Year
b. Is the course to be deleted required by programs in other departments?
Miller, New Course
Sept. ‘09
Page 3 of 8
New Course Form
Contact the Course and Program Development Office if necessary.
Yes
No
c. If “Yes”, do the affected departments support this change?
Yes
No
If “Yes”, attach letters of support. If “No”, attach letters from the affected department explaining the lack of
support, if available.
Outside the Department: The following information must be provided. Contact the Course and Program
Development office for assistance if necessary.
18. Are there similar courses offered in other University Departments?
If “Yes”, list courses by Subject Code, Number and Title
Yes
No
X
19. If similar courses exist, do the departments in which they are offered support the proposed course?
Yes
No
If “Yes”, attach letters of support from the affected departments. If “No”, attach letters from the affected department
explaining the lack of support, if available.
D. Course Requirements
20. Attach a detailed Sample Course Syllabus including:
a.
b.
c.
d.
e.
f.
g.
h.
Course goals, objectives and/or student learning outcomes
Outline of the content to be covered
Student assignments including presentations, research papers, exams, etc.
Method of evaluation
Grading scale (if a graduate course, include graduate grading scale)
Special requirements
Bibliography, supplemental reading list
Other pertinent information.
NOTE: COURSES BEING PROPOSED FOR INCLUSION IN THE EDUCATION FOR PARTICIPATION
IN THE GLOBAL COMMUNITY PROGRAM MUST USE THE SYLLABUS TEMPLATE PROVIDED BY
THE GENERAL EDUCATION ADVISORY COMMITTEE. THE TEMPLATE IS ATTACHED TO THE
REQUEST FOR INCLUSION OF A COURSE IN THE GENERAL EDUCATION PROGRAM: EDUCATION
FOR PARTICIPATION IN THE GLOBAL COMMUNITY FORM.
E. Cost Analysis (Complete only if the course will require additional
University resources. Fill in Estimated Resources for the sponsoring
department(s). Attach separate estimates for other affected departments.)
Estimated Resources:
Faculty / Staff
Miller, New Course
Sept. ‘09
Year One
$_________
Year Two
Year Three
$_________
$_________
Page 4 of 8
New Course Form
SS&M
$_________
$_________
$_________
Equipment
$_________
$_________
$_________
Total
$_________
$_________
$_________
F. Action of the Department/School and College
1. Department/School
Vote of faculty:
For _____18_____
Against ____0______ Abstentions ____0______
(Enter the number of votes cast in each category.)
Dr. Rick Sambrook
Department Head/School Director Signature
10-10-2014
Date
2. College/Graduate School
A. College
College Dean Signature
Date
B. Graduate School (if Graduate Course)
Graduate Dean Signature
Date
G. Approval
Associate Vice-President for Academic Programming Signature
Miller, New Course
Sept. ‘09
Date
Page 5 of 8
rsambroo 10/10/14 4:13 PM
Formatted: Font color: Black
New Course Form
COURSE OUTLINE
GIST 484 - Introduction to GIS Customization and Application Development
COURSE DESCRIPTION:
This course provides a foundation for application development in GIS using Python and ArcObjects. After completing
this course, students will be able to read and understand Python\ArcObjects code, know how to access online help
resources, write simple, usable code for common GIS programming tasks, and start building their own custom
applications. The course is designed for GIS users who are familiar with ArcMap and ArcCatalog at a technical level,
but who are new to programming. No previous exposure to any programming language is necessary for enrollment in
this course.
REQUIRED TEXTBOOK:
Python Scripting for ArcGIS - With DVD - 13 edition by Paul A. Zandbergen, 2013. ESRI Press.
COURSE GOAL
To help students become proficient in basic object-oriented programming as applied to problem solving in geographic
information systems.
COURSE OBJECTIVES
By the end of this course, students should be able to:
1. Describe the Python scripting language and explain how it fits into the ArcGIS geoprocessing framework.
2. Understand how Python integrates with ArcObjects to create customized GIS applications.
3. Investigate relationships between ArcObjects classes, using object model diagrams.
4. Assemble computer code in a logical, well-structured, and easy-to-read manner, including concise commenting.
5. Diagnose and resolve "bugs" and other problems in computer code through the combined processes of analysis
and testing.
6. Employ Python and ArcObjects to create customized applications.
7. Compile Python code into executable files, using various bundling tools.
8. Solve geospatial problems and streamline GIS workflows through the design and development of custom GIS
applications.
COURSE CONTENT
Section 1: Introduction to GIS Customization
- The need for GIS customization and application development
- ESRI and Open Source solutions for application development
- Basic ArcGIS Desktop customization – creating custom toolbars, running macros and dlls, etc.
- Working with Model Builder and available python scripts.
Section 2: Python Language Fundamentals
- Variables, data types, assignment statements,
- Objects, methods, properties, classes
- Using conditional statements in Python
- Looping
Miller, New Course
Sept. ‘09
Page 6 of 8
New Course Form
- Subroutines and functions
- Working with arrays
- Debugging; Error Handling
- Python libraries
Section 3. Programming with ArcObjects
- Introduction to ArcObjects (objects, classes, properties, methods, interface programming, Object Model Diagrams)
- The Geoprocessor Object
- Geoprocessor Object Model Diagram (pdf)
- Geoprocessor Methods - Lists, Describe Method, etc
- Running arcgisscripting and arcpy scripts.
Section 5: Basic Geoprocessing Operations
- Setting workspace in arcpy
- Setting output coordinate system
- Calling standard tools
- Checking if data exists
- Describe Objects. Using describe to test object attributes
- Enumeration Objects
Using the Next and Reset methods
Looping through enumeration objects
- Cursor Objects
Review of search, update, and insert cursors
Section 6: Script Tools, Workflows, Batch Processing
- Creating Script Tools
- Adding Python Scripts as tools to Toolboxes
- Automating workflows with Python
- Automation with Batch File and Scheduled Tasks
- Arcpy.mapping module
Section 7: The Application Development Process
- Overview of the application development process
- Alternative models of application development process
- Waterfall processes
- Agile software development
- Extreme Programming
− Delivering Custom GIS Applications
STUDENT ASSIGNMENTS
Weekly Labs
Each week, students will be given opportunities to write code to solve various types of GIS programming problems.
Final Project
Miller, New Course
Sept. ‘09
Page 7 of 8
New Course Form
Students will be required to complete a final project as part of the course. The project is intended to give students an
opportunity to develop their skills in integrating various programming concepts to create a custom GIS application that
adds additional functionalities to the GIS software.
METHODS OF EVALUATION
Weekly Labs
- 50%
Term Exam 1
- 15%
Term Exam 2
- 15%
Final Project
- 20%
Total
GRADING SCALE
A
100%-92%
A91%-90%
B+
89%-87%
- 100%
B 86%-82%
B- 81%-80%
C+ 79%-77%
C 76%-72%
C- 71%-70%
D+ 69%-67%
D 66%-62%
D- 61%-60%
F below 60%
BIBLIOGRAPHY
Allen David, 2003. Getting to Know ArcGIS ModelBuilder. Redlands, CA: ESRI Press.
Burke Robert, 2003. Getting to Know ArcObjects. Redlands, CA: ESRI Press
Downey Allen, 2012. Python for Software Design: How to Think Like a Computer Scientist. Green Tea Press.
Jennings Nathan, 2011. A Python Primer for ArcGIS. CreateSpace Independent Publishing Platform
Pimpler Eric, 2013. Programming Arcgis 10.1 with Python Cookbook Packt Publishing, Birmingham, U.K.
Langtangen Hansm, Petter, 2011. A Primer on Scientific Programming with Python, Springer, Berlin.
Westra Erik, 2010. Python Geospatial Development, Pakt Publishing
Miller, New Course
Sept. ‘09
Page 8 of 8
Download