MAP672 - Programming for Web Mapping Syllabus

MAP 672: Programming for Web Mapping

MAP 672: Programming for Web Mapping

Module 01: Setting up a modern mapping environment and workflow

  • installing a text editor
  • managing file/directory structures
  • installing and using a distributed version control system (GitHub)
  • getting to know the 'git' workflow:
    • creating remote repositories
    • cloning remote repos to your local machine
    • adding & changing files
    • making & reverting commits
    • syncing with remote ( repositories

Module 02: Learning foundations of the technology stack: HTML, CSS, and JS

  • understanding the HTML document and Document Object Model (DOM)
  • structuring content with HTML
  • selecting and styling markup with CSS rules
  • adding behavior with JavaScript
  • using the in-browser development tools and JavaScript Console
  • developing within a local host server environment

Module 03: The Building Blocks of Programming: Statements, Expressions, Data Types, Operators, Variables, and Array Data Structures

  • writing code: the atomic, building-block elements of JS programming:
    • statements
    • expressions
    • data types
    • operators
    • variables
  • building and using an array data structure:
    • array construction
    • accessing array values
    • adding elements to arrays

Module 04: JavaScript Control Structures

  • understanding program flow
  • looping in JS programming
    • for loops
    • while loops
  • conditional logic in JS programming (if/else statements)

Module 05: JavaScript Functions

  • mastering JavaScript functions:
    • declaring and calling custom functions
    • passing arguments and using function parameters
    • using return values
    • understanding function scope

Module 06: JavaScript Objects and Methods

  • using JavaScript objects:
    • creation of objects
    • accessing object properties
    • looping through a JavaScript object
  • using JavaScript methods (vs functions)

Module 07: Introduction to Leaflet and Drawing SVG

  • getting acquainted with the Leaflet JavaScript mapping library
  • reading and understanding the Leaflet API Reference
  • creating a basic Leaflet map, including:
    • providing initial options for how a map is displayed
    • modifying these options after a map has been created
    • providing a user with basic map interaction capabilities
    • adding and switching between different tile set layers using a Leaflet map
  • understanding how Leaflet employs SVG to draw features on a map
    • drawing Leaflet marker objects using options, events, and methods
    • drawing Leaflet's objects using options, events, and methods

Module 08: Using GeoJSON data

  • understanding the GeoJSON specification and encoding data within it
  • using to create and display GeoJSON data
  • using GeoJSON-encoded data within Leaflet to draw layers
  • exploring the Leaflet options and methods available to a Leaflet GeoJson layer
  • Using external GeoJSON files in Leaflet
  • storing GeoJSON data in an external file and loading into the script
  • designing and developing a thematic proportional symbol map using Leaflet
  • retrieving specific data values from point symbols

Module 09: Mastering Leaflet's GeoJSON Methods and Layer Controls

  • creating and using Leaflet L.GeoJson layers
  • using a layer control to manage multiple data layers
  • setting universal styles and layer-specific styles using the L.GeoJson style option
  • invoking Leaflet methods on layer groups and individual layers after creation
  • creating a bi-variate map
  • introduces advanced techniques for code refactoring and debugging

Module 10: Creating a final project, building a portfolio page, and web hosting

  • designing and developing a final web map using original data
  • building and customizing an HTML portfolio page from template
  • hosting your maps on a remote web server (GitHub Pages)
In Front Previews: