Course Syllabus

R Programming (MEES 708N)


Dr. Slava Lyubchich

Chesapeake Biological Laboratory
University of Maryland Center for Environmental Science
P.O. Box 38, 146 Williams St., Solomons, MD


January 3 to 17, 2017

Monday through Friday 9:00–12:00 p.m. (noon)

Class will be taught at the Chesapeake Biological Laboratory and over the IVN system (#800414).

Office hours:

Monday and Wednesday 1:00–2:00 p.m.

Web page:

UMCES Courseware Server (Moodle,
Note: thouse who do not have an account on the CBL Moodle, please, send an email to the instructor stating your name and email address that you would like to use for the course and Moodle login — we will create an account for you.

Required textbook:

Venables, W. N., Smith, D. M. and the R Core Team. An Introduction to R. https://cran.r-

Required technology:

Personal computer with Internet access at the lectures with the following (free) software installed: R (, MiKTeX ( or its alternative for Mac users (e.g., MacTEX,, R Studio (, and Git (


This course is for all new R users. No prior (R) programming experience is required.


This is a 2-credit course.

Course objectives:

Through hands-on experience with examples, students will learn the basics of R language. After taking this course, students will be independent R programmers comfortable with finding, developing, and using R tools in their own research.

Course description:

This course will engage you into programming in the world's most popular language for statistical computing — R. Nowadays, R is used in governmental organizations, in academia, and in industry (i.e., everywhere) for everything from financial forecasting to studying new drug efficiency to evaluating the impacts of global warming. We invite you to be a part of the rich and diverse R community and to acquire the computing skills necessary for your research.

You will learn R language with examples by practicing them in class on your machine (yes, you will need to bring your laptop to each lecture). We will start from foundations — installing R and getting data into it — and will continue with blocks on data manipulation, visualization, writing functions, etc. The course focuses on a programming part (how to do this and that), but remember that R is a language for statistical computing, so some basic understanding of statistics is desired. You may need to consult a statistical text to interpret some of the results. This course covers only a few statistical procedures, it will not provide a thorough introduction to statistical analysis.

Grading and philosophy for the course:

This course is of tutorial type, thus, students' participation is very important and represents 30% of the final grade. It is expected that students will follow the instructor by writing their own code in class and communicating any issues that will arise. Office hours are reserved for extraordinary cases, which can not be resolved during the class.

A higher weight (70%) is assigned to an individual project that will require the following steps to be completed:

1. Read in a data set from your research.

2. Use R to clean the data for analysis.

3. Use R to perform the analysis.

4. Report (and interpret) the results in a format of a presentation, a report, or a scientific paper.

The last day of classes will be reserved for project presentations. Time for each presentation will depend on the total enrollment and will be determined during the course.

There will be no homeworks nor exams in this course. It will be graded in a pass/fail system, with a passing grade of at least 50%.

Recommended reading:

Torfs, P. and Brauer, C. 2014. A (very) short introduction to R.

Crawley, M. J. 2013. The R Book (2nd edition). John Wiley and Sons. ISBN 978-0-470-97392-9 (available as an e-book)

CRAN Task Views.

Tentative topics:

1. Getting started

2. Importing and exporting data, data extraction from online sources

3. Working with data frames, date and time objects

4. Sorting, printing and summarizing data

5. Modifying and combining data

6. Visualizing data using R graphics

7. Using basic statistical functions

8. Writing R functions and packages

9. Debugging

10. Code sharing and version control

11. Running simulations

12. Functions for time series analysis

13. Preparing reports in R

Copyright notice:

Lectures and course materials, including presentation slides, tests, outlines, and similar materials, are protected by copyright. The instructor is the exclusive owner of copyright in those materials he creates. You may take notes and make copies of course materials for your own use. You may not and may not allow others to reproduce or distribute lecture notes and course materials publicly whether or not a fee is charged without instructor's written consent. Similarly, you own copyright in your original papers and exam essays. If instructor is interested in posting your answers or papers on the course web site, he will ask for your written permission.

Persons who publicly distribute or display or help others publicly distribute or display copies or modified copies of an instructor's course materials may be considered in violation of the University Code of Student Conduct, Part 9(k).