Instructor: James Lamb
Welcome to R Programming!
In this course, you’ll learn the fundamentals of using the R programming language.
What you’ll learn:
Email is my preferred contact method, and I will do my best to respond to all emails within 24 hours.
Go to https://calendar.app.google/iKAUGVQjBhegyLHH8 to book time for a 1-on-1 video call with me. That service is automatically synced with my calendars.
If you don’t see a time that works with your schedule, please email me with your availability and we can find a time to meet.
No textbooks or other paid resources.
Bookmark these:
All lectures are delivered asynchronously, via those pre-recorded videos.
YOU WILL PRESENT YOUR FINAL PROJECT ON A VIDEO CALL SATURDAY, February 14, 9:00a-12:00P CT.
Videos describing the solutions to quizzes and assignments will be made available after the deadlines for those items.
The course site moved to https://jameslamb.github.io/intro-to-r in late 2025.
If you find any broken links anywhere, please inform the instructor.
If you do not have a personal computer, please let me know as soon as possible.
The use of personal hardware is required because one of the objectives for this course is to help each of you set up a data science development environment on your own machines.
We will be working with the R programming language. For script editing and exploratory analysis, we’ll use RStudio, a popular integrated development environment (IDE) for R.
Instructions for setting up these components can be found in the sections below.
As long as you meet all deadlines in the course, you can approach the material at any pace and in any order you’d like.
Recommended sequence:
pre-course survey on D2LQuiz 1Quiz 2Programming Assignment 1Programming Assignment 2Final Project ProposalFinal Project Script(s)Final Project Written ReportFinal Project Presentation (video call)Extra Credit AssignmentYou will receive a letter grade for this course. Grades will be assigned using the following scheme (also available under the “Grades” section of the course D2L page).
| Grade Item | Proportion of Final Grade |
|---|---|
| Pre-Class Quiz | 5% |
| Quiz 1 | 10% |
| Quiz 2 | 10% |
| Programming Assignment 1 | 15% |
| Programming Assignment 2 | 15% |
| Final Project - Proposal | 10% |
| Final Project - R script | 20% |
| Final Project - Presentation | 10% |
| Final Project - Written Report | 5% |
And letter grades will be assigned using the following
scale:
A - 94% or higher
A- - 87% \(\leq\) grade < 94%
B+ - 85% \(\leq\) grade < 87%
B - 82% \(\leq\) grade < 85%
B- - 75% \(\leq\) grade < 82%
C+ - 73% \(\leq\) grade < 75%
C - 70% \(\leq\) grade < 73%
F - Less than 70%
There will be two quizzes which will test your understanding of topics covered in class. In addition, quizzes may require you to interpret pseudo-code or to write a bit of R code yourself to solve questions.
Quizzes are delivered online via D2L (see the “Quizzes” section of the course site). Quizzes have no time limit. You will be allowed two attempts for each quiz and your grade on each quiz will be the better of your two scores.
| Quiz | Opens | Due |
|---|---|---|
| Pre-course survey | Immediately | 11:00p CT on January 17, 2026 |
| Quiz 1 | Immediately | 11:00p CT on January 24, 2026 |
| Quiz 2 | Immediately | 11:00p CT on January 31, 2026 |
After we’ve covered preliminary topics in the first two weeks of the course, I’ll ask you to complete two programming assignments. In these assignments, you’ll create R scripts to accomplish common tasks in data exploration and statistical analysis.
Assignment rubrics are available on the course site.
Your completed assignment must be uploaded to the appropriate folder
in the “Dropbox” section on the course D2L page by the due date listed
in the table below.
| Quiz | Opens | Due |
|---|---|---|
| Programming Assignment 1 | Immediately | 11:00p CT on January 24, 2026 |
| Programming Assignment 2 | Immediately | 11:00p CT on January 31, 2026 |
Unlike the quizzes and programming assignments, the final project will be relatively unstructured. In this project, you will be asked to augment what you’ve learned about base R with other functionality available in external packages. You will be responsible for building an end-to-end analysis in R…a script that gets/cleans real world data, creates some data visualizations, and executes some statistical analyses.
The project comprises the following parts:
Full details of the project and each of its components are available at https://jameslamb.github.io/intro-to-r/assignments/final_project.html.
| Assignment | Due |
|---|---|
| Final Project proposal | 11:00p CT on February 7, 2026 |
| Final Project script(s) | 11:00p CT on February 14, 2026 |
| Final Project report | 11:00p CT on February 14, 2026 |
| Final Project presentation | live, 9:00a CT February 14, 2026 |
There is an optional Extra Credit assignment available, worth up to 3 percentage points on your final grade. Follow the instructions at https://jameslamb.github.io/intro-to-r/assignments/extra-credit.html.
| Assignment | Due |
|---|---|
| Extra Credit Assignment | 11:59p CT on February 17, 2026 |
Any work submitted after a deadline, without an approved extension, will receive a grade of 0.
The assignments are teaching tools and each is accompanied with a lecture video explaining the answers. These videos are released promptly after assignments are due, so students have time to watch and learn from them.
Therefore, if an extension is approved for any assignments, you will have to complete an alternative version of the assignment.
The grading policies described above will be used to calculate your final grade for the course. Individual assignment grades will follow rubrics available on the course site.
If you disagree with any grade assigned to you in this course, please refer to this document and those rubrics in your appeal.
Please inform me before the first assignment deadline if you have any conditions that may limit or affect your ability to participate in this course so that we can make necessary arrangements. You may also contact the Office of Student Disability Services (https://www.marquette.edu/disability-services/).
See https://www.marquette.edu/university-safety/guides/emergency-planning.php.
The Marquette University Graduate School of Management considers regular class attendance an important component of the learning process. Students are expected to attend scheduled class meetings; excessive absences may have adverse consequences, ranging from a lowered course grade to forced withdrawal from the course. Excessive absence is generally defined as missing more than 10-15 percent of the regularly scheduled class time.
There is only 1 synchronous meeting in this course… the final project presentations. An unexcused absence from the final project presentation will result in a grade of 0 on that portion of the course.
All students are expected to complete all quizzes, assignments, and the final project.
Example situations which are considered “excused” absences:
For more, see https://bulletin.marquette.edu/policies/attendance/management/
Don’t cheat.
For more, see https://www.marquette.edu/provost/integrity-pledge.php.
The university’s policies on artificial intelligence (“AI”), including large language models (“LLMs”), can be found at https://www.marquette.edu/center-for-teaching-and-learning/emerging-technologies-artificial-intelligence.php.
In this course, you are permitted to use LLMs (sometimes called “generative AI” or “agentic AI”) if you think they will aid your learning.
If you use those technologies, I encourage you to only use them for limited debugging help, similar to the way you’d use a search engine or conversation with a trusted colleague. The assignments are designed to gradually increase in difficulty and to teach you the fundamental skills needed to write R code, and it will be difficult to keep progressing if you rely too heavily on AI-generated code you don’t fully understand.
Regardless of the technologies you use, you are responsible for everything you submit and will receive a grade consistent with the rubrics for those assignments. “this AI tool told me this is how R works” will not be considered an acceptable excuse for submissions that fail to meet the requirements.
Your understanding of your final project code will be tested during the Final Project Presentation, and failure to demonstrate understanding there will result in lost points.
See https://www.marquette.edu/central/registrar/2026-spring-academic-calendar.php for dates like the deadlines for dropping or withdrawing from the course.