GEOG 863:
Web Application Development for Geospatial Professionals

Syllabus (Spring 1, 2024)

PrintPrint

GEOG 863: Web Application Development for Geospatial Professionals

This syllabus is divided into several sections. Please read the entire document.

  • Instructor
  • Course Overview
  • Course Objectives
  • Required Course Materials
  • Assignments and Grading
  • Course Schedule
  • Course Policies

Instructor

Jim Detwiler
Jim Detwiler
E-mail:
Please use Canvas' e-mail client (Canvas Inbox)
Office hours: By appointment

Course Author: Jim Detwiler


Course Overview

GEOG 863: Web Application Development for Geospatial Professionals.
Recommended preparation: GEOG 485 or other experience in computer programming

Geographic Information Systems have long provided skilled professionals with the means to map and analyze objects and phenomena on the Earth’s surface using desktop computers. In recent years, the Internet has greatly extended the reach of GIS beyond the desktop. Geospatial technology vendors and the open-source community have devised web service protocols and web mapping application programming interfaces (APIs) so that third-party developers can create their own applications for use on web-enabled devices. These applications serve a wide array of purposes, including place and way finding, data dissemination, and data collection. For example, tabular crime data published on a city’s website can be combined with base data layers such as municipal boundaries and roads to produce a map that is valuable for both the city’s police department and its citizens. This course focuses on how geospatial professionals can create such applications using industry-relevant geospatial APIs. Students will build applications using the core web technologies of HTML, CSS, and JavaScript. Topics covered will include the implementation of 2D maps and 3D scenes, understanding API documentation, layer discovery and visualization, user interface development, data querying, and geoprocessing.

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").


Course Objectives

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;
  • build their own online/mobile map using ArcGIS Field Maps technology;
  • have a better understanding of the various map development / deployment frameworks available;
  • be able to choose an appropriate map framework for a particular task;
  • use Esri's Arcade scripting language to populate form fields automatically;
  • 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;
  • employ JavaScript (JS) to add dynamic content/behavior to a web page;
  • 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;
  • incorporate web maps and web scenes into a JavaScript application;
  • 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;
  • explain the concept of a promise in the context of JavaScript and demonstrate how to code one;
  • define and execute queries to identify features of interest

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:

  • Learning Web Design: A Beginner's Guide to HTML, CSS, JavaScript and Web Graphics by Jennifer Niederst Robbins (ISBN-13: 978-1449319274)
  • Head First JavaScript Programming by Eric T. Freeman & Elisabeth Robson (ISBN-13: 978-1449340131)
  • A Smarter Way to Learn JavaScript by Mark Myers (ISBN-13: 978-1497408180)

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.

Both the lesson quizzes and review quizzes are "open book," meaning you can use any resource available at your disposal to figure out the answer except asking other individuals. I recommend that you keep any web pages you open during the quiz in entirely separate browser windows (not tabs) to avoid accidentally closing the quiz.

Depending on the class size, I may be assisted by graders who will help evaluate the projects and provide feedback to you. Letter grades will be based on the following percentages:

Grading

Course grades are awarded on the following basis :

Grade Assignments
A 93-100%
A- 90-92.9%
B+ 86-89.9%
B 83-85.9%
B- 80-82.9%
C+ 76-79.9%
C 70-75.9%
D 60-69.9%
F <60%
W Withdrew

Assignment due dates and late work

Most activity deliverables are due on Wednesday evenings in your local time zone (refer to the Calendar tab in Canvas for the exact schedule).

Late projects are automatically marked down 10 points, with 10 more points deducted for each week that passes beyond the due date (e.g., two weeks beyond the due date receives a 20-point deduction, three weeks a 30-point deduction), up to a maximum of 30 points.


GEOG 863 Course Schedule

imagePrintable 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.

Lesson 1: Creating Mapping Apps Without Programming
Date: Week 1
Topics: ArcGIS Online, Esri configurable apps, Web AppBuilder

Lesson 2: Creating a Field Data Collection App
Date: Week 2
Topics: ArcGIS Field Maps

Lesson 3: Web Publishing Technologies: HTML/XHTML/CSS
Date: Week 3
Topics: HTML, XML, XHTML, CSS

Lesson 4: Introduction to the ArcGIS API for JavaScript
Date: Week 4
Topics: 2D maps, 3D scenes, JavaScript fundamentals, HTML/CSS/JS separation, Asynchronous Module Definition, the Document Object Model, Esri's JS Software Developer's Kit, graphic overlays

Lesson 5: Adding Layers
Date: Week 5
Topics: Loading ArcGIS Online web maps/web scenes, autocasting, the REST API, layer types, IDEs, debugging, JSLint/JSHint, code beautifiers

Lesson 6: Layer Visualization
Date: Week 6
Topics: non-programming options, 2D symbols, 3D symbols, Esri's Symbol Playground, renderers, using browser tools to obtain viewpoint values, popup configuration

Lesson 7: Building Search/Query Capability
Date: Week 7
Topics: the Search widget, promises, layer definition expressions, query definition & execution

Lesson 8: GUI Development
Date: Week 8
Topics: Esri widgets, customizing widget appearance & behavior, incorporation of HTML form elements, event handling


Course Policies

Withdrawals and Refunds

Students who officially withdraw from the class may be entitled to a pro-rated refund of tuition. For more information, see Refund Policy under World Campus Student Policies.

Use of Trade Names

Where trade names are used, no discrimination is intended and no endorsement by the World Campus, Outreach and Cooperative Extension, the College of Earth and Mineral Sciences, or The Pennsylvania State University is implied.

Technical Requirements

For this course, we recommend the minimum technical requirements outlined on the World Campus Technical Requirements page, including the requirements listed for same-time, synchronous communications. If you need technical assistance at any point during the course, please contact the IT Service Desk (for World Campus students) or Penn State's IT Help Portal (for students at all other campus locations).

Internet Connection

Access to a reliable Internet connection is required for this course. A problem with your Internet access may not be used as an excuse for late, missing, or incomplete coursework. If you experience problems with your Internet connection while working on this course, it is your responsibility to find an alternative Internet access point, such as a public library or Wi-Fi ® hotspot.

Mixed Content

This site is considered a secure web site, which means that your connection is encrypted. We do, however, link to content that isn't necessarily encrypted. This is called mixed content. By default, mixed content is blocked in Internet Explorer, Firefox, and Chrome. This may result in a blank page or a message saying that only secure content is displayed. Follow the directions on our Technical Requirements page to view the mixed content.

Equations

This course must be viewed using the latest version of Firefox, Safari, Chrome, or Edge. Internet Explorer is not supported. If you use any other browser, or if you are not using the latest version of your browser, some pages containing equations may not render properly. In addition, javascript must be enabled for equations to render properly. If you have any issues with equations not rendering properly, please update your browser to the latest version or try using a different browser. If you need additional technical assistance at any point during the course, please contact the HelpDesk (for World Campus students) or the IT Service Desk (for students at all other campus locations).

Penn State E-mail Accounts

All official communications from Penn State are sent to students' Penn State e-mail accounts. Be sure to check your Penn State account regularly, or forward your Penn State e-mail to your preferred e-mail account, so you don't miss any important information.

Academic Integrity

This course follows the procedures for academic integrity of Penn State's College of Earth and Mineral Sciences. Penn State defines academic integrity as "the pursuit of scholarly activity in an open, honest and responsible manner." Academic integrity includes "a commitment not to engage in or tolerate acts of falsification, misrepresentation, or deception." In particular, the University defines plagiarism as "the fabrication of information and citations; submitting others' work from professional journals, books, articles, and papers; submission of other students' papers, lab results or project reports and representing the work as one's own." Penalties for violations of academic integrity may include course failure. To learn more, see Penn State's Academic Integrity Training for Students

Course Copyright

All course materials students receive or to which students have online access are protected by copyright laws. Students may use course materials and make copies for their own use as needed, but unauthorized distribution and/or uploading of materials without the instructor’s express permission is strictly prohibited. University Policy AD 40, the University Policy Recording of Classroom Activities and Note Taking Services addresses this issue. Students who engage in the unauthorized distribution of copyrighted materials may be held in violation of the University’s Code of Conduct, and/or liable under Federal and State laws.

For example, uploading completed labs, homework, or other assignments to any study site constitutes a violation of this policy.

Accommodations for Students with Disabilities

Penn State welcomes students with disabilities into the University's educational programs. Every Penn State campus has an office for students with disabilities. The Office for Student Disability Resources website provides contact information for Campus Disability Coordinators at every Penn State campus. For further information, please visit the Office for Student Disability Resources website.

In order to receive consideration for reasonable accommodations, you must contact the appropriate disability services office at the campus where you are officially enrolled. You will participate in an intake interview and provide documentation. See documentation guidelines at Applying for Services from Student Disability Resources. If the documentation supports your request for reasonable accommodations, your campus’s disability services office will provide you with an accommodation letter. Please share this letter with your instructors and discuss the accommodations with them as early in your courses as possible. You must follow this process for every semester that you request accommodations.

Change in Normal Campus Operations

In case of weather-related delays or other emergency campus disruptions or closures at the University, this online course will proceed as planned. Your instructor will inform you if there are any extenuating circumstances regarding content or activity due dates in the course due to these delays or closures. If you are affected by a weather-related emergency, please contact your instructor at the earliest possible time to make special arrangements.

Reporting Educational Equity Concerns

Penn State takes great pride in fostering a diverse and inclusive environment for students, faculty, and staff. Acts of intolerance, discrimination, or harassment due to age, ancestry, color, disability, gender, gender identity, national origin, race, religious belief, sexual orientation, or veteran status are not tolerated (Policy AD29 Statement on Intolerance) and can be reported through Educational Equity via Report Bias.

Counseling and Psychological Services

Many students at Penn State face personal challenges or have psychological needs that may interfere with their academic progress, social development, or emotional well-being.  The university offers a variety of confidential services to help you through difficult times, including individual and group counseling, crisis intervention, consultations, online chats, and mental health screenings.  These services are provided by staff who welcome all students and embrace a philosophy respectful of clients’ cultural and religious backgrounds, and sensitive to differences in race, ability, gender identity, and sexual orientation.  Services include the following:

Counseling and Psychological Services at University Park  (CAPS): 814-863-0395
Counseling Services at Commonwealth Campuses
Penn State Crisis Line (24 hours/7 days/week): 877-229-6400
Crisis Text Line (24 hours/7 days/week): Text LIONS to 741741

Military Personnel

Veterans and currently serving military personnel and/or spouses with unique circumstances (e.g., upcoming deployments, drill/duty requirements, disabilities, VA appointments, etc.) are welcome and encouraged to communicate these, in advance if possible, to the instructor in the case that special arrangements need to be made.

Connect Online with Caution

Penn State is committed to educational access for all. Our students come from all walks of life and have diverse life experiences. As with any other online community, the lack of physical interaction in an online classroom can create a false sense of anonymity and security. While one can make new friends online, digital relationships can also be misleading. Good judgment and decision-making are critical when choosing to disclose personal information to others whom you do not know.

Deferred Grades

If you are prevented from completing this course within the prescribed amount of time for reasons that are beyond your control, it is possible to have the grade deferred with the concurrence of the instructor, following Penn State Deferred Grade Policy 48-40. To seek a deferred grade, you must submit a written request (by e-mail or U.S. post) to the instructor describing the reason(s) for the request. Non-emergency permission for filing a deferred grade must be requested before the beginning of the final examination period.  It is up to the instructor to determine whether or not you will be permitted to receive a deferred grade. If permission is granted, you will work with the instructor to establish a communication plan and a clear schedule for completion within policy.  If, for any reason, the coursework for the deferred grade is not complete by the assigned time, a grade of "F" will be automatically entered on your transcript.

Diversity, Inclusion, and Respect

Penn State is “committed to creating an educational environment which is free from intolerance directed toward individuals or groups and strives to create and maintain an environment that fosters respect for others” as stated in Policy AD29 Statement on Intolerance. All members of this class are expected to contribute to a respectful, welcoming, and inclusive environment and to interact with civility.

For additional information, see:

Attendance

This course will be conducted entirely online. There will be no set class meeting times, but you will be required to complete weekly assignments with specific due dates. Many of the assignments are open for multiple days, so it is your responsibility to complete the work early if you plan to travel or participate in national holidays, religious observances or University approved activities.

If you need to request an exception due to a personal or medical emergency, contact the instructor directly as soon as you are able. Such requests will be considered on a case-by-case basis.

Mandated Reporting Statement

Penn State’s policies require me, as a faculty member, to share information about incidents of sex-based discrimination and harassment (discrimination, harassment, sexual harassment, sexual misconduct, dating violence, domestic violence, stalking, and retaliation) with Penn State’s Title IX coordinator or deputy coordinators, regardless of whether the incidents are stated to me in person or shared by students as part of their coursework. For more information regarding the University's policies and procedures for responding to reports of sexual or gender-based harassment or misconduct, please visit Penn State's Office of Sexual Misconduct Prevention & Response website.

Additionally, I am required to make a report on any reasonable suspicion of child abuse in accordance with the Pennsylvania Child Protective Services Law.


Disclaimer

Please note that the specifics of this Course Syllabus can be changed at any time, and you will be responsible for abiding by any such changes. All changes will be communicated to you via e-mail, course announcement and/or course discussion forum.