Dokument se učitava



Academy of Technical and Art Applied Studies

School of Electrical and Computer Engineering

Functional Programming Course code: 150411 | 6 ECTS credits

Basic information
Level of Studies: Undergraduate applied 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:
  1. Python: Syntax, variables, basic operators. Modules.
  2. Python: Management strategies. Module math.
  3. Python: Loop, string, list, n-tuple, dictionary. Module random.
  4. Python: Module datetime. Module calendar. Module os.
  5. Python: Class, objects.
  6. Python: Regular expressions. Module re.
  7. Python: Database access. Module pymysql. Module sqlite3.
  8. Python: CGI. Module cgi.
  9. Python: Networking. Module socket. Sending an e-mail. Module smtplib.
  10. Python: Concurrent programming. Module threading.
  11. Python: JSON processing. Module json.
  12. Python: GUI. Tkinter. Module tkinter.
  13. Python: Map, filter, reduction, lambda.
  14. Lisp: Basic types and basic primitives, procedures, setf, let, let*, predicates. Management strategies: conditional forms, recursion, mapping, iteration.
  15. 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):
  1. Tuition is in compliance to the curriculum.
Textbooks and References
  1. Steven Lott: "Functional Python Programming", Packt Publishing, 2015.
  2. 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
activities during lectures
activities on practial excersises
seminary work
Final exam
Written exam
Oral exam