This course introduces students to the fundamentals of spatial data science. The first part of the course introduces students to a high-level programming language (currently R). The second part covers methods to incorporate spatial data into data science workflows. The third part addresses the generation of dynamic, reproducible research output including figures, maps, manuscripts, and websites. The course includes an extensive project for students to conduct spatial analysis related to their research. Familiarity with basic GIS concepts (raster, vector, geographic projection, etc.) will be assumed, but no prior coding experience is required.
Professor Adam M. Wilson (adamwilson.us)
Office Hours: Tuesdays & Thursdays 10:00-11:00am
Tuesdays/Thursdays 2-3:20pm in 144 Wilkeson Quad.
The course will focus on programming in the R language. Typical class sessions will consist of a short (<30 minute) lecture followed by interactive exercises and activities. All teaching and exercises are done from within RStudio.
Course announcements and other materials will be distributed through UBLearns. Please check the site regularly (or enable email notifications).
During the course we will complete class exercises on your personal laptop (under any Mac, Linux, or Windows). If you do not have access to a laptop, please let the professor know as soon as possible. Students will need to install RStudio on their laptops (instructions here).
During the week, I will attempt to respond to emails within 24 hours of receiving them (not including weekends). Do not expect an immediate response (please plan accordingly). For example, do not send an email with a question about a homework the same day that the homework is due. If you send an email over the weekend, do not expect any response until Monday or Tuesday.
Successful completion of this course will enable the student to:
These learning outcomes are related to those expected of students completing the Geography program.
The major course components are as follows:
You are expected to attend class, actively participate in class discussions, and follow along during in-class interactive exercises. If you are not able to attend class, please let me know as soon as possible so an alternative can be arranged. The course includes many tasks that are performed both in and out of class (see the tasklist). These are ‘committed’ to your course respository which will be considered for your participation grade.
You are welcome to work collaboratively on in-class assignments but you are responsible for understanding your responses to the various challenges. So an acceptable question to ask a classmate would be, “which functions did you use to answer task 2?,” while an unacceptable question would be “please email/chat/read me your code for task #2.”
Each student will be expected to introduce a package (or two) that is relevant to their research interests in a 5 minute presentation during a class session. See full Package Introduction Description for more details.
Several mini-courses will be assigned via DataCamp throughout the semester. These assignments will be graded as pass/fail (pass if you finish the course, fail if you don’t) and contribute 30% to your final grade. For example, if you complete 75% of the assigned courses, you will receive 30% x 75% = 23% for this component. See full DataCamp Description for more details.
The final project will consist of a poster-length summary of an analysis that tells a story about a topic of interest. This project can be related to the student’s own research or a separate topic.
Project stages
See the schedule for details on deadlines. Unexcused late submissions will be docked 10 percentage points per 24 hour period. See full Project Description for more details.
There will be no final exam.
Course grading will follow the grading procedures of the UB Graduate School.
Quality of Work | Weighted Percentage | Quality Points | Weighted Grade |
---|---|---|---|
Superb | 92+% | 4 | A |
Excellent | 90+% | 3.67 | A– |
Very Good | 88+% | 3.33 | B+ |
Good | 85+% | 3.0 | B |
Acceptable | 80+% | 2.67 | B– |
Adequate | 75+% | 2.33 | C+ |
Barely Adequate | 70+% | 2.0 | C |
Substantially Flawed | 60+% | 1.0 | D |
Flawed | <60% | 0.5 | F |
We will read parts of R for Data Science and Geocomputation with R which are both available online. All additional materials will be available through the course website (http://adamwilson.us/SpatialDataScience/).
This class will include ample opportunities for in-class discussion. You are expected to attend every class session, but you are permitted two unexcused absences during the semester. Please use these wisely, you never know when an unexpected illness or other event will occur.The University at Buffalo’s class attendance policy (http://undergrad-catalog.buffalo.edu/policies/course/attendance.html) is as follows: > Students may be justifiably absent from classes due to religious observances, illness documented by a physician or other appropriate health care professional, conflicts with university-sanctioned activities documented by an appropriate university administrator, public emergencies, and documented personal or family emergencies. The student is responsible for notifying the instructor in writing with as much advance notice as possible.
If a student does not attend a class session they will be counted as absent (as described above) unless they meet ALL THREE of the following criteria:
See the University website for cancellations/delays due to weather or other unforeseen events (http://emergency.buffalo.edu/).
Academic integrity is a fundamental university value. Through the honest completion of academic work, students sustain the integrity of the university while facilitating the university’s imperative for the transmission of knowledge and culture based upon the generation of new and innovative ideas. Examples of academic dishonesty include: submitting work from another course, plagiarism, cheating, falsification, misrepresentation, and usage of confidential documents.
Writing computer code often involves use of existing code chunks (e.g. copying an example from the documentation) which complicates identification of academic dishonesty. Students are responsible for comprehending the code they submit, regardless of its source. If there is reason to believe that submitted code was simply copied from elsewhere, the student will be asked to verbally (and specifically) explain the code used in the analysis to ensure comprehension.
If a student is suspected of academic dishonesty, then a three-step consultative resolution will be employed. First, the instructor will notify the student of the incident and arrange a meeting. Second, the instructor will orally inform the student of the sanction, which could include: warning, revision, reduction in grade, or failure of course. Third, the instructor will provide the student with a written copy of the decision. See the university policy for more information (https://catalog.buffalo.edu/policies/integrity.html). Please review it and ask if you have any questions.
If you have any disability which requires reasonable accommodations to enable you to participate in this course, please contact the Office of Accessibility Resources, 25 Capen Hall, 645-2608, and also the instructor of this course. The office will provide you with information and review appropriate arrangements for reasonable accommodations (http://www.student-affairs.buffalo.edu/ods/)
Course content is designed to be flexible to accommodate student interest and abilities. The order and timing of course topics may change as the semester progresses. See the course schedule on the website for detailed course content.