The online syllabus will always contain the most up-to-date information. This course provides a comprehensive introduction to R programming with an emphasis on data analysis and visualization in environmental and natural resource management contexts. Students will learn through hands-on coding exercises, practical examples, and real-world applications.
This course has three main objectives:
Develop proficiency in R programming fundamentals
Master R syntax, data structures, and basic operations
Learn to write efficient, reproducible code
Understand R’s package ecosystem and workspace management
Build practical data analysis skills
Import, clean, and manipulate various data formats
Create publication-quality visualizations using ggplot2
Perform basic statistical analyses in R
Apply R to environmental and natural resource datasets
Establish foundation for advanced R applications
Develop problem-solving strategies for programming challenges
Learn best practices for documentation and version control
Prepare for advanced R package building
Class time will be devoted to interactive lectures, live coding demonstrations, and hands-on exercises. All lecture materials, including R scripts and data sets, will be available in .html, .R, or .qmd formats on the course website prior to each class. Weekly coding assignments will reinforce concepts covered in lectures. While recorded lectures will be available upon request, active participation in class is essential for developing programming skills.
Required software:
R (latest stable version)
RStudio
Git (for version control)
No prior programming experience is required, but basic statistical knowledge and familiarity with data analysis concepts is recommended. Students should have access to a laptop computer capable of running R and RStudio.
How to Be Successful in This Class
Come to class ready to learn and come with your laptop;
Complete in-class exercises;
If you become confused or don’t fully grasp a concept, ask for help from your instructor;
Know what is going on: keep up with email, course announcements, and the course schedule;
Try to apply the information to your area of interest — if you have a cool research idea, come talk to me!
Focus on tidyverse ecosystem for modern R programming
Integration of professional tools (Quarto, Git)
Culminates in a final project
Two scheduled breaks: MLK Holiday (Week 2) and Spring Break (Week 12)
Learning Progression: The course is designed to progress from basic R fundamentals to advanced data manipulation and visualization techniques, concluding with professional development tools and a practical final project that synthesizes all learned concepts.
Why ITDS?
This book is free and comprehensive for a broad R tasks of data analysis. For example, the book covers R programming (basics of R), data wrangling with dplyr, data visualization with ggplot2, file organization with Unix/Linux shell, version control with Git/Github, and reproducible document preparation with Quarto and knitr.
Course Requirement
Research project using R (80%)
Research Proposal (10%)
Create a GitHub Repository (20%)
Upload R Code and Analysis (40%)
Generate Final Report (20%)
Presentation (10%)
Attendance and In-Class exercises (20%)
In-Class exercises
We will have around one-hour class exercise every lecture. This exercise is not graded.
Bring your own laptop to test and practice. We will leave enough time for Q&A.
Research Project
Overview
The final project is an opportunity to demonstrate your proficiency in R programming or data analysis by conducting an end-to-end data science project. You will apply the skills learned throughout the course to analyze a real-world environmental or natural resource data set of your choice.
The research project can be done by single person or up-to two members as the developer group
Choose one from two types of research:
A research project of data analysis. Provide a research report on data analysis eventually.
Alternatively, a project of developing a R package. Provide a vignette to illustrate the functionality of your R package.
Project Objectives
Demonstrate proficiency in R programming fundamentals
Apply data manipulation and visualization techniques
Create reproducible research documentation
Practice version control and project management
Present findings effectively using R-based tools
Project Components and Weights
Project Proposal (10%) - Due Week 12 (03/31/2025)
Data information (if you choose to do data analysis.)
Research purpose/motivation
Research questions
Proposed research methods
Timeline for completion
Create a GitHub Repository (20%; Optional)
Well-organized project structure
Clear documentation
Regular commits showing progress
README.md file with project description and instructions
Upload R Code and Analysis (40%)
Clean, well-commented R scripts
Efficient use of R functions;Some examples are:
At least three different types of data visualizations using ggplot2
Appropriate data cleaning and transformation steps
Error handling and code optimization
Generate Final Report (20%)
Created using Quarto markdown
Professional formatting
Clear methodology description
Effective visualization presentation
Discussion of findings and limitations
(Optional) 2,500-3,000 words (excluding code)
Presentation (10%) - Week 17
20-minute presentation
5-minute Q&A
Clear communication of findings
Demonstration of R code features
Specific Requirements for project
Data set (for data analysis project only)
At least 100 observations
At least 5 variables
Can be public/private and real/simulated data (with appropriate permissions)
Must require significant cleaning or transformation
Required Technical Elements
Data Processing
Data import from at least two different file formats
Data cleaning and transformation using tidyverse
Creation of derived variables
Data Visualization
Minimum three different types of plots using ggplot2
At least one complex visualization (multiple layers/facets)
Professional formatting and theming
Programming
Use of functions
Proper error handling
Efficient code structure
Well-documented code
Version Control
Minimum 5 meaningful GitHub commits
Clear commit messages
Proper .gitignore file
Well-structured repository
Timeline
Week 12: Project proposal due
Week 15: Progress check-in
Week 16: Code and repository review
Week 17: Final presentation and submission of all materials
Submission Requirements
GitHub repository link containing:
All R scripts (.R files) including R functions
Raw and processed data (or data access instructions)
Quarto markdown files
README.md with setup instructions
Final report in PDF format generated from Quarto
Presentation slides
Evaluation Criteria for Final Report
Code quality and efficiency (25%)
Data analysis depth and appropriateness (25%)
Visualization effectiveness (20%)
Documentation clarity (15%)
Presentation quality (15%)
Tips for Success
Start early and commit code regularly
Choose a data set that interests you
Focus on clean, readable code
Document your process thoroughly
Test your analysis with different approaches
Seek feedback during office hours
Practice your presentation
Academic Integrity
All code must be original or properly cited
Data sources must be properly referenced
Collaboration is encouraged for brainstorming, but all submitted work must be individual
This project is designed to be challenging but achievable with the skills learned in the course. It provides flexibility in topic selection while ensuring rigorous application of R programming concepts.
Academic Policies
AI Statement
Specific permissions will be provided to students regarding the use of generative artificial intelligence tools on certain graded activities in this course. In these instances, I will communicate explicit permission as well as expectations and any pertinent limitations for use and attribution. Without this permission, the use of generative artificial intelligence tools in any capacity while completing academic work submitted for credit, independently or collaboratively, will be considered academic dishonesty and reported to the Office of Academic Initiatives and Integrity.
Academic Integrity
As a core part of its mission, the University of Arkansas provides students with the opportunity to further their educational goals through programs of study and research in an environment that promotes freedom of inquiry and academic responsibility. Accomplishing this mission is only possible when intellectual honesty and individual integrity prevail.
Each University of Arkansas student is required to be familiar with and abide by the University’s Academic Integrity Policy at honesty.uark.edu/policy. Students with questions about how these policies apply to a particular course or assignment should immediately contact their instructor.
Emergency Preparedness
The University of Arkansas is committed to providing a safe and healthy environment for study and work. In that regard, the university has developed a campus safety plan and an emergency preparedness plan to respond to a variety of emergency situations. The emergency preparedness plan can be found at emergency.uark.edu. Additionally, the university uses a campus-wide emergency notification system, UARKAlert, to communicate important emergency information via email and text messaging. To learn more and to sign up: http://safety.uark.edu/emergency-preparedness/emergency-notification-system/
Inclement Weather
If you have any questions about whether or not class will be canceled due to inclement weather, please contact me. If I cancel class, I will notify you via email and/or Blackboard. In general, students need to know how and when they will be notified in the event that class is cancelled for weather-related reasons. Please see here for more information.
Access and Accommodations
Your experience in this class is important to me. University of Arkansas Academic Policy Series 1520.10 requires that students with disabilities are provided reasonable accommodations to ensure their equal access to course content. If you have already established accommodations with the Center for Educational Access (CEA), please request your accommodations letter early in the semester and contact me privately, so that we have adequate time to arrange your approved academic accommodations.
If you have not yet established services through CEA, but have a documented disability and require accommodations (conditions include but not limited to: mental health, attention-related, learning, vision, hearing, physical, health or temporary impacts), contact CEA directly to set up an Access Plan. CEA facilitates the interactive process that establishes reasonable accommodations. For more information on CEA registration procedures contact 479–575–3104, ada@uark.edu or visit cea.uark.edu.
Academic Support
A complete list and brief description of academic support programs can be found on the University’s Academic Support site, along with links to the specific services, hours, and locations. Faculty are encouraged to be familiar with these programs and to assist students with finding an using the support services that will help them be successful. Please see here for more information.
Religious Holidays
The university does not observe religious holidays; however Campus Council has passed the following resolution concerning individual observance of religious holidays and class attendance:
When members of any religion seek to be excused from class for religious reasons, they are expected to provide their instructors with a schedule of religious holidays that they intend to observe, in writing, before the completion of the first week of classes.
Course Evaluation
Course Num - Sec
Course Name
Survey Open
Survey Close
ESRM 6990V - 001
ADVANCED SEMINAR
Apr 22 6:00 AM
May 2 11:59 PM
Schedule
Following materials are only allowed for previewing for students registered in ESRM 6990V. DO NOT DISTRIBUTE THEM on the internet. They will be removed after the course ended.