This is an introductory class to R programming language designed for senior undergrads and junior graduate students. It lays out all the fundamentals of R, such as syntax, data structure, function design, package design, etc. Some important advanced features and packages will also be introduced, including dplyr, ggplot2, Rmarkdown and shiny. The objective is to give a comprehensive view about R, to provide as many guidance for future studying and practicing, and at the same time to distribute as many raw materials as possible for a jump start.