Syllabus Fall 1 2020/21
GEOG 863: Web Application Development for Geospatial Professionals
This syllabus is divided into several sections. Please read the entire document.
- Course Overview
- Course Objectives
- Required Course Materials
- Assignments and Grading
- Course Schedule
- Course Policies
E-mail: Please use Canvas' e-mail client (Canvas Inbox)
Office hours: By appointment
GEOG 863: Web Application Development for Geospatial Professionals.
Recommended preparation: GEOG 485 or other experience in computer programming
GEOG 863 is an elective course in the Postbaccalaureate Certificate Program in GIS and the Master of Geographic Information Systems (MGIS) degree program. It is a required course in the Geospatial Programming and Web Map Development Graduate Certificate Program.
What will be expected of you?
Like any graduate-level course, you will be challenged to move beyond the knowledge and skills that you bring to the class. However, you'll be glad to know that you don't have to show up for the class at a certain time! All you need to do is complete your assignments before the published deadlines. Some of the assignments are one week in length, while others are two.
During the term, I encourage everyone to use the class discussion forums, chat rooms or email to help each other find materials related to the course content. I can always be contacted via class email and will check my account daily during the week (and typically at least once each weekend). If I am traveling, I may check somewhat less frequently, but I will alert you of this beforehand.
My colleagues and I have worked hard to make this the most effective and convenient educational experience possible. How much and how well you learn is ultimately up to you. You will succeed if you are diligent about keeping up with the class schedule and if you take advantage of opportunities to communicate with me, as well as with your fellow students.
For a more detailed look at what will be covered in each lesson, as well as due dates for our assignments and activities, please refer to the semester-specific course schedule that is part of this syllabus (see "Course Schedule").
GEOG 863 will provide students with an understanding of the technology that makes building geospatial web apps possible and teaches them how to build their own apps.
At the successful completion of this course, students should be able to:
- compose a geospatial app using non-programming tools such as app templates and application builders;
- explain the basic rules/terminology of Hypertext Transfer Markup Language (HTML);
- assemble a simple web page containing paragraphs, lists, tables, images, and links without the aid of an HTML editor;
- discuss the benefits of using Cascading Style Sheet (CSS) technology;
- describe how Asynchronous Module Declaration (AMD) work;
- locate and interpret class, property and method documentation in a web mapping API reference;
- identify useful code samples and apply them in a web mapping sandbox;
- explain the concept of class inheritance;
- describe how the REST web services protocol works;
- list the commonly used layer types in a web mapping API and discuss their use;
- diagnose problems in an app using browser debugging tools & strategies;
- describe and employ the user interface widgets available in a web mapping API;
- incorporate HTML form elements into an app;
- depict different geometry types using the appropriate symbol objects;
- choose and implement an appropriate layer renderer to convey the desired information on a web map;
- define popup window content/behavior programmatically;
- define and execute queries to identify features of interest;
- describe the relationship between a server-hosted geoprocessing service and a client-based task; and
- execute a geoprocessing task synchronously and asynchronously.
Required Course Materials
All materials needed for this course are presented online through our course website and in Canvas. In order to access the online materials, you need to have an active Penn State Access Account user ID and password (used to access the online course resources). If you have any questions about obtaining or activating your Penn State Access Account, please contact the Outreach Helpdesk.
You do not need to purchase any materials for this course; however, the following books may be useful as references:
E-Book Option: An online version of one or more of your optional textbooks is available at no cost as a Penn State Library E-Book. Some E-Books will only be available online, while others will be available to download in full or in part. You may choose to use the E-Book as an alternative to purchasing a physical copy of the text. You can access the E-Book by selecting the Library Resources link on the course navigation, and then selecting the E-Reserves link. For questions or issues, you can contact the University Libraries Reserve Help (UL-RESERVESHELP@LISTS.PSU.EDU).
Using the Library
Just like on-campus students, as a Penn State student, you have a wealth of library resources available to you!
As a user of Penn State Libraries, you can...
- search for journal articles (many are even immediately available in full-text);
- request articles that aren't available in full-text and have them delivered electronically;
- borrow books and other materials and have them delivered to your doorstep;
- access materials that your instructor has put on Electronic Reserve;
- talk to reference librarians in real-time using chat, phone, and email;
- ...and much more!
Assignments and Grading
Students earn grades that reflect the extent to which they achieve the learning objectives listed above. Opportunities to demonstrate learning include the following, and grades will be based on points assigned to each of several components of the course as follows:
- 8 Individual Projects - 50% of course grade:
Each lesson concludes with a hands-on project to be completed individually by the student. See the Course Schedule for project due dates. In addition to producing solutions to the programming scenarios presented, you will also sometimes be required to produce a short write-up of what you learned or record a video that presents findings on a research topic.
- 8 Lesson Quizzes - 20% of course grade:
A quiz will be held at the end of each lesson to test the student's comprehension of class materials and other reading as required.
- Final Project - 20% of course grade:
A student-selected final project will be submitted at the end of the course.
- Review Quiz - 10% of course grade:
A 20-question review quiz at the end of the course will cover all of the course material.
Course grades are awarded on the following basis :
Students need to earn at least a "C" grade in all four courses to be eligible for one of our Post-baccalaureate Certificates. Only credits associated with a grade of "B" or higher may be counted toward the MGIS degree.
GEOG 863 Course Schedule
Below, you will find a summary of the learning activities for this course and the associated time frames. We will use the Calendar in Canvas to post assignments, due dates, etc. Please refer to that information in order to keep on top of things! Specific details for each project can be found in each lesson. If the need arises and changes to this syllabus are required, all students will be notified in advance.
|Topics:||ArcGIS Online, Esri configurable apps, Web AppBuilder|
|Topics:||HTML, XML, XHTML, CSS|
|Topics:||Loading ArcGIS Online web maps/web scenes, autocasting, the REST API, layer types, IDEs, debugging, JSLint/JSHint, code beautifiers|
|Topics:||non-programming options, 2D symbols, 3D symbols, Esri's Symbol Playground, renderers, using browser tools to obtain viewpoint values, popup configuration|
|Topics:||the Search widget, promises, layer definition expressions, query definition & execution|
|Topics:||Esri widgets, customizing widget appearance & behavior, incorporation of HTML form elements, event handling|
|Topics:||tasks, identifying geoprocessing service inputs & outputs, synchronous & asynchronous job execution|
Late projects are automatically marked down 10 percent (regardless of how late they're submitted). Hopefully, this will encourage you to stay on track, but not penalize you too harshly should you fall behind.