Functional Programming Course code: 150411 | 6 ECTS credits
Basic information
Level of Studies:
Year of Study:
3
Semester:
6
Requirements:
None.
Goal:
The main objective of the course is to develop a student's approach to understanding and solving functional programming tasks.
Outcome:
After successful completion of this module students should be able to use Python and LISP programming languages to solve programming tasks using functional programming.
Contents of the course
Theoretical instruction:
- Python: Syntax, variables, basic operators. Modules.
- Python: Management strategies. Module math.
- Python: Loop, string, list, n-tuple, dictionary. Module random.
- Python: Module datetime. Module calendar. Module os.
- Python: Class, objects.
- Python: Regular expressions. Module re.
- Python: Database access. Module pymysql. Module sqlite3.
- Python: CGI. Module cgi.
- Python: Networking. Module socket. Sending an e-mail. Module smtplib.
- Python: Concurrent programming. Module threading.
- Python: JSON processing. Module json.
- Python: GUI. Tkinter. Module tkinter.
- Python: Map, filter, reduction, lambda.
- Lisp: Basic types and basic primitives, procedures, setf, let, let*, predicates. Management strategies: conditional forms, recursion, mapping, iteration.
- Lisp: Logical operations, data abstractions. Prototypes of recursive operations, procedures as argument of procedures. Special arguments. Data: properties, input, output.
Practical instruction (Problem solving sessions/Lab work/Practical training):
- Tuition is in compliance to the curriculum.
Textbooks and References
- Steven Lott: "Functional Python Programming", Packt Publishing, 2015.
- David S. Touretzky: "Common Lisp: A Gentle Introduction to Symbolic Computation", Dover Publications, 2013.
Number of active classes (weekly)
Lectures:
3
Practical classes:
2
Other types of classes:
0
Grading (maximum number of points: 100)
Pre-exam obligations
Points
activities during lectures
0
activities on practial excersises
10
seminary work
0
colloquium
60
Final exam
Points
Written exam
30
Oral exam
0