Skip to content

jmdelvecchio/geol437

Repository files navigation

GEOL 437 - Computers and Geology

Instructor: Dr. Joanmarie Del Vecchio

Location: McGlothlin-Street Hall TC

Meeting times: M 5:00-6:50 pm

Office Hours: M 4:00-5:00 pm or by appointment

Class format

To take advantage of hands-on coding with peers and a mentor, this class will be run largely as a flipped classroom. Instructional material will be made available ahead of time in the form of tutorial Jupyter Notebooks. You will be expected to come to class having completed any pre-meeting assignments as described in each module's README.md, which will review or teach new skills to be implemented or improved upon during the class meeting. At William and Mary, each credit hour of face-to-face instruction requires a student work two hours out of class student work. This means that for this two credit-hour class, you should be spending four hours a week on pre-meeting activities and wrapping up in-class assignments.

Learning objectives

The primary goal for students for this course is to learn to think algorithmically. But what does that mean? I'd break it down as follows:

  1. Learn coding (and specifically Python) tools for common scientific tasks and identify appropriate uses for these tools

  2. Break down complex scientific tasks (e.g. collecting and organizing data, apply a transformation to a dataset, synthesize results) into a logical flow of calculations or data manipulations using code

  3. Implement functions and methods that transform data for scientific tasks by understanding inputs and outputs for these algorithms

  4. Create original analyses and/or data visualizations from "real world" data, either from student research or a topic of interest

Grading

Let's begin by saying that this class is intended to help you build useful and transferrable skills for research and industry - therefore you will get out of this class what you put into it! It's also a 400 level class, so you are expected to know how to manage your time and deadlines (but be in touch if you'd like to talk strategies). Therefore grading will be relatively simple:

  • 50% of your grade will come from completing weekly tutorial material. These will be graded on a scale of (2) satisfactory, (1) unsatisfactory, and (0) missing. You will depart class Monday evening with a head start from your in-class work and instructions on what is "satisfactory," and you will have until 5pm the next Monday to turn in the assignment. Because you will work on the assignment in class, late assignments will not be accepted, but I will drop your two lowest assignment grades this semester.
  • 50% of your grade will come from a capstone project in which you generate publication-worthy analyses and figures for a dataset or system close to your heart

Class schedule

This schedule is highly subject to change based on class interest - I picked these topics, but if I sense we need more time on something or want to go in a totally different direction, we might!

Date Topic Pre-assignment
1/26/2026 Course intro, Python, environments Account registration (HPC, GitHub), Module 00
2/2/2026 numpy and matplotlib Modules 01 and 02
2/9/2026 pandas and plotting Modules 03 and 04
2/16/2026 Mini-capstone Mini-capstone work
2/23/2026 Iterating Module 05
3/2/2026 Photogrammetry I Reading
3/9/2026 No meeting (Spring Break) Collect images/scans
3/16/2026 Geospatial data - vector and raster data Module 06
3/23/2026 Statistics and plotting - scikit-learn and seaborn Module 07 (*Models must be built and sent to VR lab by 3/23!)
3/30/2026 Photogrammetry II Models must be built and sent to VR lab by 3/23!
4/6/2026 Numerical solutions - forward model Module 08
4/13/2026 Flex / Machine learning TBA
4/20/2026 Flex / Machine learning TBA
4/27/2026 Capstone presentations TBA

Each week will have a corresponding folder in the GitHub repo - this will be where your assignments and instructions will live (each week will have its own README.md)

Honor code etc

The university prides itself on creating the nation’s first Honor Code. The Code provides an environment in which trust can thrive and a level playing field for students, ensuring students are evaluated based on their own effort and ability and in which students can be taken at their word. The Code reflects the university’s value of integrity—in our words and our deeds. As an instructor, I strive to provide an environment that promotes integrity. Reasonable measures taken to protect us from temptation are not antithetical to the Honor Code; thus, I reserve the option to proctor exams, provide multiple copies of exams for distribution, and restrict the technology tools students can possess while taking exams. I support the Honor Code and am obligated to report concerns for review and resolution by the Honor Council. As it is your obligation to resolve any perceived lack of understanding of my expectations in advance of submitting any work, I encourage you to contact me with any questions about my course and testing policies. You also are welcome to contact me if you have concerns that any fellow students are not fulfilling their obligation to uphold the Honor Code. All work submitted in this course, whether in draft or final form, must be your own and must be cited appropriately.

Now for the course-specific material:

Unauthorized Aid/Collaboration

Rarely do geoscientists or data scientists code alone (or entirely from memory or the official docs), and I want to acknowledge that by permitting and even encouraging a certain level of collaboration on assignments. Here's a spectrum:

  • I fully endorse asking a classmate for assistance in understanding an error message and how to resolve it.
  • I encourage you to share tips and tricks about skills like plot formatting, efficient list comprehension, helpful functions, with the caveat that you will not simply copy and paste from each other but rather help each other fully embrace the power of computational methods.
  • I will insist that you first consult Google and related resources (StackExchange, StackOverflow, etc) before turning to a classmate or myself when you are stuck. If you use a code snippet from one of the above websites, add the URL as a comment in your code.
  • I do not permit the use of generative AI without express permission from Joanmarie, which includes a discussion and understanding of the benefits and drawbacks to using ChatGPT's coding skills (tl;dr: it definitely steals from repos without permission and is sometimes wrong, but maybe you are truly a 1 in 1,000 instance where truly no one else has asked your question on StackExchange). I will consider mindless copy-and-paste from ChatGPT plagiarism. 99% of what we are doing in this class can be troubleshooted with Google.

Plagiarism

Plagiarism is “the presentation, with intent to deceive, or with disregard for proper scholarly procedures of a ignificant scope, of any information, ideas or phrasing of another as if they were one’s own without giving appropriate credit to the original source.” (the faculty resource that lists this definition does not, in fact, cite this definition...). See above, and know that I can copy and paste your code to search for where you may have lifted it from, so please don't do that.

Community

The W&M Geology Department welcomes, supports, engages, and celebrates the broad range of backgrounds and experiences in our community. We affirm our individual and collective responsibility for creating and fostering a respectful, cooperative, inclusive, and equitable campus environment for all individuals, regardless of race, ethnicity, nationality, culture, religion, political beliefs, gender, gender identity / expression, sexual orientation, age, disability, or marital, parental, or veteran status. All people have the right to be addressed and referred to in accordance with their personal identity. In this class, you will have the chance to indicate the name that you prefer to be called and the pronouns with which you would like to be addressed.

Student Accessibilty Services

William & Mary accommodates students with disabilities in accordance with federal laws and university policy. Any student who feels they may need an accommodation based on the impact of a learning, psychiatric, physical, or chronic health diagnosis should contact Student Accessibility Services staff at 757-221-2512 or at sas@wm.edu to determine if accommodations are warranted and to obtain an official letter of accommodation. For more information, please see www.wm.edu/sas.

Mental and Physical Wellbeing

William & Mary recognizes that students juggle different responsibilities and can face challenges that make learning difficult. There are many resources available at W&M to help students navigate emotional/psychological, physical/medical, material/accessibility concerns, including:

  • The W&M Counseling Center at (757) 221-3620. Services are free and confidential.
  • The W&M Health Center at (757) 221-4386.
  • To seek assistance for interpersonal, academic, and wellness challenges, please contact Care Support Services at wm.edu/care (care@wm.edu).
  • For a list of other resources available to students, see here

About

Computers and Geology class offered at William & Mary

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors