13M111FP - Functional Programming
Course specification | ||||
---|---|---|---|---|
Course title | Functional Programming | |||
Acronym | 13M111FP | |||
Study programme | Electrical Engineering and Computing | |||
Module | Software Engineering | |||
Type of study | master academic studies | |||
Lecturer (for classes) | ||||
Lecturer/Associate (for practice) | ||||
Lecturer/Associate (for OTC) | ||||
ESPB | 6.0 | Status | elective | |
Condition | Formal prerequisite does not exist, but it is expected that the student is familiar with Java programming language (the course 13S112OO2) | |||
The goal | Understanding and becoming adept in functional programming concepts through Scala programming language. Understanding the specifics of functional programming program structure and differences to imperative programming. Introduction to functional programming techniques. Development of parallel functional programs. | |||
The outcome | Upon successful completion of the course, the students will be able to: - understand specifics of functional programming - write sequential and parallel functional programs in Scala programming language - use standard Java or Scala libraries in software development | |||
Contents | ||||
URL to the subject page | http://rti.etf.bg.ac.rs/rti/ms1fp/ | |||
Contents of lectures | Overview of Scala programming language. Values, variables and control structures. Objects and companion objects. Classes. Functions and control abstractions. Wrapper objects. Traits as means of code reusability. Mixing Java and Scala code, concurrent programming in Scala language, graphical user interface programming using Scala Swing package. | |||
Contents of exercises | Auditory practices. Projects/home works. | |||
Literature | ||||
| ||||
Number of hours per week during the semester/trimester/year | ||||
Lectures | Exercises | OTC | Study and Research | Other classes |
2 | 2 | 1 | ||
Methods of teaching | Lectures are supplied with electronic presentations. Students individually develop projects as home works. Assessment on acquired knowledge through oral presentation of completed projects. | |||
Knowledge score (maximum points 100) | ||||
Pre obligations | Points | Final exam | Points | |
Activites during lectures | Test paper | 40 | ||
Practical lessons | Oral examination | |||
Projects | 20 | |||
Colloquia | 40 | |||
Seminars |