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
- analyze small and large data sets in a meaningful and organized manner
- identify the nature of the data and the nature of its processing
- use the interactive programming approach to data analysis
- modify the raw data into a form suitable for analysis
- prepare complex scripts and software packages in the programming language R
- apply machine learning methods in the programming environment
- apply the methodology of preparing reports
Forms of Teaching
Lectures
Combination of slide presentations and interactive demonstrations of examples in R language with the option of executing examples on personal computers
Laboratory WorkWriting scripts in R language , programmatic data analysis, applying machine learning methods through the R language, writing reports.
ConsultationsConsultations in a predefined weekday time slot or via e-mail correspondence.
Programming ExercisesDataset analysis and reporting
E-learningSolving 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
- Introduction to R; comparison between R and other programming languages; overview of programming tools and IDEs; presentation of the course execution plan
- Basic data types and operators; complex data structures: vectores, matrices, data frames and lists;
- Introduction to factors; flow control mechanisms; OOP principles in the R programming language
- Working with packages, basic functions and environments
- User defined functions; the apply family of functions
- Pipeline operator; basic principles of tidy data; working with dates and strings
- Data munging; introducing the dplyr package
- 1. midexam
- 1. midexam
- Exploratory analysis and data visualization: grammar of graphics; introducing the ggplot2 package
- Exploratory analysis and data visualization: advanced visualization methods; reporting (R Markdown)
- Statistical programming; working with distributions; simulations
- Descriptive and inferential stastistic in R
- Machine learning in R - practical examples: regression (simple linear regression, multiple linear regression, variable selection)
- 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)
Literature
Laboratory exercises
General
ID 147661
Winter semester
4 ECTS
L2 English Level
L2 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