Introduction to R programming language

Course Description

The goal of this course is primarily enabling students to efficiently use the R programming language with the emphasis on problem solving and practical application. The R programming language is tailored specifically for exploratory, statistical and data mining analysis of data sets. By its nature, it has a lot in common with classical programming languages such as Python, Java or C ++ but also with statistical tools such as SAS or SPSS. With its interactive approach, but also the ability to write complex programming scripts, R has established itself as one of the leading statistical programming languages which together with the accompanying packages offers a very efficient way to perform complex analysis of data sets and create reports accompanied by complex visualizations and calculations. Learning R requires a specific combination of programming skills, knowledge of elementary statistics, but also a certain level of creativity and readiness for challenges.

Learning Outcomes

  1. analyze small and large data sets in a meaningful and organized manner
  2. identify the nature of the data and the nature of its processing
  3. use the interactive programming approach to data analysis
  4. modify the raw data into a form suitable for analysis
  5. prepare complex scripts and software packages in the programming language R
  6. apply machine learning methods in the programming environment
  7. apply the methodology of preparing reports

Forms of Teaching


Combination of slide presentations and interactive demonstrations of examples in R language with the option of executing examples on personal computers

Laboratory Work

Writing scripts in R language , programmatic data analysis, applying machine learning methods through the R language, writing reports.


Consultations in a predefined weekday time slot or via e-mail correspondence.

Programming Exercises

Dataset analysis and reporting


Solving electronic workbook in RMD format using RStudio tool

Grading Method

Continuous Assessment Exam
Type Threshold Percent of Grade Threshold Percent of Grade
Laboratory Exercises 10 % 20 % 0 % 0 %
Homeworks 5 % 10 % 0 % 0 %
Class participation 0 % 5 % 0 % 0 %
Seminar/Project 5 % 20 % 0 % 0 %
Attendance 0 % 5 % 0 % 0 %
Mid Term Exam: Written 5 % 15 % 0 %
Final Exam: Written 10 % 25 %

Week by Week Schedule

  1. Introduction to R; comparison between R and other programming languages; overview of programming tools and IDEs; presentation of the course execution plan
  2. Basic data types and operators; complex data structures: vectores, matrices, data frames and lists;
  3. Introduction to factors; flow control mechanisms; OOP principles in the R programming language
  4. Working with packages, basic functions and environments
  5. User defined functions; the apply family of functions
  6. Pipeline operator; basic principles of tidy data; working with dates and strings
  7. Data munging; introducing the dplyr package
  8. 1. midexam
  9. 1. midexam
  10. Exploratory analysis and data visualization: grammar of graphics; introducing the ggplot2 package
  11. Exploratory analysis and data visualization: advanced visualization methods; reporting (R Markdown)
  12. Statistical programming; working with distributions; simulations
  13. Descriptive and inferential stastistic in R
  14. Machine learning in R - practical examples: regression (simple linear regression, multiple linear regression, variable selection)
  15. Machine learning in R - practical examples: classification (logistic regression, kNN classification)

Study Programmes

University undergraduate
Computer Engineering (module)
Skills (5. semester)
Computer Science (module)
Skills (5. semester)
Information Processing (module)
Skills (5. semester)
Software Engineering and Information Systems (module)
Skills (5. semester)
Telecommunication and Informatics (module)
Skills (5. semester)
University graduate
Computer Engineering (profile)
Skills (1. semester)
Computer Science (profile)
Skills (1. semester)
Control Engineering and Automation (profile)
Skills (1. semester)
Electrical Engineering Systems and Technologies (profile)
Skills (1. semester)
Electrical Power Engineering (profile)
Skills (1. semester)
Electronic and Computer Engineering (profile)
Skills (1. semester)
Electronics (profile)
Skills (1. semester)
Information Processing (profile)
Skills (1. semester)
Software Engineering and Information Systems (profile)
Skills (1. semester)
Telecommunication and Informatics (profile)
Skills (1. semester)
Wireless Technologies (profile)
Skills (1. semester)


Hadley Wickham, Garrett Grolemund (2016.), R for Data Science, "O'Reilly Media, Inc."
Jared Lander (2013.), R for Everyone, Addison-Wesley Professional
David Diez, Christopher Barr, Mine Çetinkaya-Rundel (2015.), OpenIntro Statistics,
Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani (2013.), An Introduction to Statistical Learning: with Applications in R (Springer Texts in Statistics), Springer
Jiawei Han, Jian Pei, Micheline Kamber (2011.), Data Mining: Concepts and Techniques, Elsevier

Laboratory exercises


ID 147661
  Winter semester
L3 English Level
L3 e-Learning
30 Lectures
0 Exercises
15 Laboratory exercises
0 Project laboratory

Grading System

87,5 Excellent
75 Very Good
62,5 Good
50 Acceptable