Course assignments will be posted on the course Canvas site.
Get over the hump in learning the R programming language and become proficient in using R for a variety of purposes. The goal isn’t to learn everything you need to know about R–that is impossible to accomplish in a semester. Rather, we will focus on building the foundations that will allow you to continue learning beyond this class as needs arise.
Learn that there is more to data analysis than lines of code: we cover topics such as data structure, version control, wrangling data, dealing with text, generating plots, conducting analyses, and generating reports.
Learn to conduct reproducible research and to reproduce research of others.
Get experience making brief presentations on research to an interdisciplinary audience, and to gain a broad sense for the types of work that graduate student peers are conducting.
Make progress on own research by tackling complex tasks with R
Laptop computer: You will need access to a laptop computer that you can reliably use during class each week.
Installed programs: see the ** Before the Course ** section below
Each class session will have an acommpanying web module that provides details and codes. These are designed to be guides that will help you retain the information in the future. Compiled together, this will essentially be your textbook.
There will be weekly assignments where students will do a ‘run-through’ of one or two modules ahead of class time and answer some simple questions.
During class, we will engage in live-coding sessions led by the instructor, as well as individual and group exercises to address and challenging topics and tasks.
Three times during the semester, we will have project presentation sessions. See below for details.
The last part of the semester will mostly be dedicated to conducting independent research projects.
Students will be evaluated based on 4 criteria. (1) Participation & take-home assignments [25 points], (2) Presentations [30 points], (3) Project Proposal & Progress Reports [15 points], (5) Independent Project Final Products [30 points].
Here are the basic expectations for each of the above categories:
Take-home assignments: There will be take-home assignments over the course of the semester, which are designed to guide you through some independent exploration of material covered in lecture. These sill be posted via Canvas.
Presentations: Three times during the semester, we will have project presentation sessions. In the first session near the beginning of the semester, each student will present a brief overview of their research theme. This can be very broad description of the theme or a detailed account of a specific project. In the second session in the middle of the semester, students will present a ‘progress report’–a description of the project that they settled on, and where they are on the project. In the third session, the students will present their final products.
Project Proposal & Progress Reports: The student will develop a project proposal in two steps: submission of an initial project idea, and submission of a 2-page project proposal that includes objectives and description of the dataset (i.e., how it was collected). During the last third of the semester, students will submit progress reports every 2 weeks.
Independent Project Final Products: At the end of the semester, students will submit a final report (4-5 pages), the data file, and the R script(s).
You will spend several weeks during the course conducting independent projects. We will have regular class during this time, but I will be available to help you with your R codes. This is an opportunity for you to work on something new that will further your research goals.
The independent project requires you to have some type of dataset. Ideally, this will be related to your thesis/dissertation project. If you do not yet have your own data, it is preferred that you get data from your research lab. I will guide you in this process.
You will submit a brief plan (< 2 pages) of your project during the 8th week of the course. However, you can start your project earlier than that. You will submit a final report, along with the dataset and R scripts needed to reproduce the results.
Students with disabilities are encouraged to contact the instructor for a confidential discussion of their individual needs for academic accommodation. It is the policy of the University of Nebraska-Lincoln to provide flexible and individualized accommodation to students with documented disabilities that may affect their ability to fully participate in course activities or to meet course requirements. To receive accommodation services, students must be registered with the Services for Students with Disabilities (SSD) office, 132 Canfield Administration, 472-3787 voice or TTY.
I acknowledge that AI has become a useful tool for generating code in many programming languages, including R. However, generating code with AI without the ability to understand what it does (sometimes called ‘vibe coding’) is ultimately limiting, as it does not allow you to develop a broader vision for how to create a workflow. The goal of this class is not to give you lines of code–it is to enable you to think through the whole process of using programming to tackle research tasks.
Since AI-assisted coding is still new (at least to me), we will often be learning how to integrate it into development of R scripts together. There may be some experimentation throughout the course.
For course modules, I ask you to follow the code that I have provided, rather than finding other solutions (though there almost certainly will be alternative ways to do the same thing). In many cases, there are reasons I teach the specific codes I teach (e.g., using ‘base R’ functions rather than functions from packages that can be ephemeral and become unsupported in the future). We can discuss alternative solutions during live-coding sessions in class.
The use of AI for generating code for your project will not be prohibited. However, you will be required to annotate your code with explanation of the whole workflow. The expectation is that you will UNDERSTAND the whole code script that you are creating. The more you do this during THIS CLASS, the better off you will be as you grow as a researcher: relying too much on AI in this class will ultimately hamper your abilities later on.
Week 1 (Aug 26,28): Intros & Getting started with R; Objects
Week 2 (Sep 2,4): RStudio Projects; working with data
Week 3 (Sep 9,11): Plotting basics; 2-minute Presentations 1: Research Themes
Week 4 (Sep 16,18): Intro to ggplot; (no class Thursday, Sept 14)
Week 5 (Sep 23,25): Data Wrangling
Week 6 (Sep 30, Oct 2): apply functions, loops, statements, custom functions
Week 7 (Oct 7,9): Resampling & bootstrapping, simulations
Week 8 (Oct 14,16): Batch processing, Submit proposal for independent project
Week 9 (Oct 21,23): no class Oct 21st: Fall Break; 2-minute Presentations 2: Project Plans
Week 10 (Oct 28,30): Setting up GitHub; Independent project work (in person)
Week 11 (Nov 4,6): Independent project work (in person Nov 4; no class Nov 6)
Week 12 (Nov 11,13): Independent projects (in person)
Week 13 (Nov 18,20): Independent projects (in person)
Week 14 (Nov 25, 27): No class for Thanksgiving
Week 15 (Dec 2,4): Independent projects (in person)
Week 16 (Dec 9,11): Presentation 3: Independent projects presentations; submit independent projects
Please do the following things before we meet for the first class.
Download and Install R and RStudio Desktop
Go to https://posit.co/download/rstudio-desktop/
and follow directions for downloading and installing R and RStudio If
you already have R, upgrade to the latest version. It will make things
easier to have everyone on the same version.