GEOG 178/258:
Conceptual Modeling and Programing for the Geo-Sciences Usage

Course Info

Term: Spring 2020

Description: A project-based course introducing major conceptual modeling paradigms and object-oriented programming from a Geoinformatics perspective. The class is intended for undergraduate students from Geography and the broader Geo-Sciences who have limited (or no previous) experience in software engineering. GEOG 178 is the undergraduate portion of the class while GEOG 258 is the graduate section.

Instructor: Krzysztof Janowicz
Office Hours: Monday 10:30 - 11:30
Email: jano@ucsb.edu

TA: Mike Johnson
Office Hours: Wednesday 12 - 2
Email: jmj00@ucsb.edu
Grade Explorer: https://mikejohnson51.shinyapps.io/geog178_gradebook_2020/

Weekly Info:

Week 1: Installs

Section slides
Java JDK SE Download
Eclipse IDE Download
Pro Git PDF
Eclipse and Github

Week 2: OGC, Variables, Debugging, Loops

Section slides: OGC Simple Features
Section slides: Varibables, Loops, Debugging
Example Code
Homework 1

Week 3: Arrays, Objects and Classes

Section slides
Homework 2

Week 4: ArrayLists, Delegation, and Randomization:

Modeling COVID spread I

Section slides
Homework 3

Week 5: Overriding, Overloading, Inheritance:

Modeling COVID spread II

Section slides
Starting Code (Geometry, Person, bbox classes)
Homework 4
Midterm Practice
Midterm Practice Answers

Week 6: UML, Inheritance, Interfaces:

Section slides
Homework 5

Week 7: Polygons, GUIs, draw**:

Section slides
Starting Code (GUIs)
Homework 6

Week 8: Model-View-Controller, TinyGIS:

Section slides
Starting Code (TinyGIS)
Homework 7
campus image

Week 9: Cellular Automaton / MVC:

Section slides
Starting Code (COVID19-CA)
Homework 8