Instructor: James Lamb

I. Course Info

Welcome to R Programming!

A. Learning Objectives and Outcomes

In this course, you’ll learn the fundamentals of using the R programming language.

What you’ll learn:

  • syntax (i.e. “this is the command to do this thing in R”)
  • how to write complex R programs
  • how to use R to read data, conduct statistical analyses and create data visualizations

B. Course Resources and Communication

Instructor

Email is my preferred contact method, and I will do my best to respond to all emails within 24 hours.

Office 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.

Course Materials

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.

A note on the course site

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.

Required Hardware

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.

Required Software

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.

C. Course Outline

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:

  1. Read this syllabus
  2. Watch the syllabus review video (link)
  3. Accept the calendar invitation for the final project presentation call.
  4. bookmark the course resources:
  5. Watch the course intro video (link)
  6. (due January 17, 2026) Take the pre-course survey on D2L
  7. Set up your development environment
  8. Review Week 1 lecture materials
    • lecture videos (link)
    • Programming Supplement topics (link):
      • “Variables and Namespaces”
      • “Dollarstore Calculator Math”
      • “Data Structures”
      • “Logical Operators”
      • “Subsetting”
      • “Controlling Program Flow”
    • (optional) Quiz Description video (link)
  9. (due January 24, 2026) Complete Quiz 1
  10. Watch solution videos:
  11. Review Week 2 lecture materials
    • lecture videos (link)
      • “Functions”
      • “Using External Packages”
      • “Debugging”
      • “Working with Files”
    • (optional) Programming Assignment 1 description video (link)
  12. (due January 31, 2026) Complete Quiz 2
  13. (due January 31, 2026) Submit Programming Assignment 1
  14. Watch solution videos
    • Quiz 2 (link)
    • Programming Assignment 1 (link)
  15. Review Week 3 lecture materials
    • lecture videos (link)
    • Programming Supplement topics (link):
      • “Missing Values”
      • “Plotting”
      • “Manipulating Data Frames”
    • (optional) Programming Assignment 2 description video (link)
  16. Review Final Project materials
    • videos (link)
    • rubrics (link)
    • “Practices to Avoid in R Programming” (link)
  17. (due February 7, 2026) Submit Programming Assignment 2
  18. (due February 7, 2026) Submit Final Project Proposal
  19. Watch solution videos
    • Programming Assignment 2 pt.1 (link)
    • Programming Assignment 2 pt.2 (link)
    • Programming Assignment 2 pt.3 (link)
  20. Review Week 4 lecture materials
    • lecture videos (link)
    • Programming Supplement topics (link):
      • “Statistical Analysis”
      • “Text Processing”
      • “Software Principles”
      • “R Programming Best Practices”
  21. (due February 14, 2026) Submit Final Project Script(s)
  22. (due February 14, 2026) Submit Final Project Written Report
  23. (due February 14, 2026) Attend Final Project Presentation (video call)
  • present your final project code to your classmates
  • provide peer review feedback to your classmates
  1. (due February 17, 2026) (optional) complete Extra Credit Assignment

II. Grading and Assignments

You 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%

A. Quizzes (25%)

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

B. Programming Assignments (30%)

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.

  • Assignment 1 (link)
  • Assignment 2 (link)

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


C. Final Project (45%)

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:

  1. Final project proposal: A 1-2 page briefing on your planned project
  2. Final project script: The R script/scripts supporting your project
  3. Final project report: A 2-4 page report detailing the outcome of your analysis
  4. Final project presentation: A 5-10 minute overview of your project, presented live in the final week of the course.

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


D. Extra Credit

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

D. Deadlines and Late Policy

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.

E. Grade Appeal

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.

III. Administrative Information

A. Special Needs

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/).

C. Attendance Statement

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:

  • legal obligations (such as jury duty)
  • university-sanctioned activities and related travel
  • religious observance
  • other situations with written approval from the instructor

For more, see https://bulletin.marquette.edu/policies/attendance/management/

D. Academic Integrity

Don’t cheat.

For more, see https://www.marquette.edu/provost/integrity-pledge.php.

E. AI Policy

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.

F. Important Dates

See https://www.marquette.edu/central/registrar/2026-spring-academic-calendar.php for dates like the deadlines for dropping or withdrawing from the course.