Syllabus

FOR 128: Practical Computing and Data Science Tools, Fall 2024

Useful Information

Instructor: Andrew Finley (finleya@msu.edu, Room 211 Natural Resources Building)

Research Assistant: Grayson White (whitegra@msu.edu, Room 211 Natural Resources Building)

Emails: Direct all email inquiries regarding the course and material covered to both the Instructor and Research Assistant, Andrew Finley and Grayson White (both as recipient, or CC’d).

Links:

  • The course website, www.for128.org, for course information, lecture slides, and course materials.

  • D2L, for course feedback and non-public course materials.

Course Description:

This course covers foundational skills needed to work efficiently within a computing environment. The course serves as an introduction to exploratory data analysis (EDA) using the R programming language. Use of R focuses on cleaning, structuring, and enriching raw data to facilitate EDA. The course is designed as a general precursor for subsequent discipline-specific courses. Learning occurs in a hands-on active environment with topics motivated using real datasets from environmental and biological sciences.


Learning Outcomes

Upon completion of this course students should be able to:

  1. apply best practices for naming and organizing files within a directory structure to facilitate an efficient and reproducible workflow,

  2. transform raw data into more readily used formats, i.e., perform key “data wrangling” tasks such as data cleaning, structuring, enriching, and validating,

  3. conduct basic Exploratory Data Analysis (EDA), i.e., apply built-in and costume written functions to explore data characteristics and communicate findings using summary tables, graphics, and basic summary statistics.


Learning Materials & Tools

Textbook: Introduction to Forestry Data Analysis with R, by Andrew O. Finley and Jeffrey W. Doser. Available free, online: www.finley-lab.com/files/ifdar/

R and RStudio: R is a free and open source programming language, and RStudio is an Integrated Development Environment (IDE) which allows for streamlined use of the R programming language. Both are free to install, and installation instructions will be provided in this course. A laptop that can run R and RStudio is required for this course.


Meetings & Office Hours

We’ll have a lecture-style meeting twice a week, and a lab meeting once a week.

  • Lectures are on Tuesdays and Thursdays, 9:10am - 10am, Natural Resources Building, Room 152.

  • Labs are on Thursdays, 10:20am - 12:10pm, Natural Resources Building, Room 223.

Outside of lectures and labs, I will also hold office hours.

  • Office hours will be held Tuesdays (10:30am - 11:30am) and Thursdays (1:30pm - 2:30pm), Natural Resources Building, Room 211.

  • If these times do not work for you, we also hold office hours by appointment. Please email to set up a time to meet.

Office hours are a great way to get help on assignments you are stuck on, ask questions you didn’t get a chance to ask in class, familiarize yourself with the instructor and course expectations, and much more! Further, office hours can be a very helpful tool for your success in this course and beyond in college. Attending office hours is a great habit!


Assessments

In this course, you’ll be assessed based on your work and participation. In particular:

  • Lab reports (40%)
    • Lab reports are assigned on Thursdays during lab time, and due the following Wednesday at 5pm on D2L. We will have a lab each week (except for the week of the midterm exam).
    • The lowest lab grade is dropped.
  • Midterm Exams (20%)
    • There will be two midterm exams, one on week 6 and one on week 12. Each midterm is worth 10% of the final grade.
  • Final Project (15%)
    • Rather than a final exam, we will have a final group project with project presentations during the final exam time period. More details to come as the semester goes on.
  • In-class quizzes (15%)
    • In-class quizzes do not have a regular schedule and will occur based on the material we get through.
    • The lowest in-class quiz grade is dropped.
  • Lecture tickets (10%)
    • Lecture tickets are due at the beginning of every lecture, handed in in-person, by you.
    • The lowest three (3) lecture ticket grades will be dropped.

Grades are calculated on a four point scale and correspond to the following grade percent:

Grade percent Grade points
90% - 100% 4.0
85.0% - 89.9% 3.5
80.0% - 84.9% 3.0
75.0% - 79.9% 2.5
70.0% - 74.9% 2.0
65.0% - 69.9% 1.5
60.0 - 64.9% 1.0
0% - 60% 0.0

Late work policy

  • Labs turned in after the deadline will not be accepted unless an extension was granted by the Instructor and/or Research Assistant prior to the deadline. Note though that one (1) lab will be dropped and not counted towards your grade.

  • If you anticipate not being able to make a midterm, reach out to the Instructor and/or Research Assistant at least a week in advance. Note that midterms will occur during lab time on weeks 6 and 12.

  • Late lecture tickets will not be accepted. Note though that three (3) lecture tickets will be dropped and not counted towards your grade.

  • In-class quizzes cannot be made up outside of class. Note though that one (1) in-class quiz will be dropped and not counted towards your grade.

  • The final project must be turned in on time.


Collaboration Policy for FOR 128

Working with your classmates on difficult and interesting problems can not only help your learning, but help you get to know each other. Therefore, we allow and encourage collaboration on lab reports and lecture tickets. However, collaboration on exams and quizzes is strictly prohibited and will be considered academic misconduct.

If you choose to collaborate with a classmate, please add their name to the top of your assignment, and list them as a collaborator, e.g.:

Collaborator(s): Elliot Shannon, Romain Boutelet

But what is collaboration?

For FOR 128, collaboration can look like: working with classmates together on a given problem, doing scratch work, helping each other get un-stuck on a part of a problem, and even coming to a solution. However, you must write up your own problem solutions individually and cannot copy other’s solutions (even those who you have collaborated with). Further, copying code from a collaborator, classmate, or generative AI tool (see the following section) is strictly prohibited and will be considered academic misconduct.


AI Policy for FOR 128

Artificial intelligence (AI) tools, such as ChatGPT, are being used to generate code, analyze data, and much more. However, a key goal of this course is for you to learn how to thoughtfully, ethically, and independently write code and extract knowledge from data. Therefore, the use of generative AI tools, such as ChatGPT and others, are strictly prohibited in any stage of the work process for this course. If you have questions about whether a tool is allowed for this course, ask the Instructor before using it.

Violations of this policy are considered academic misconduct.