Course: Modern Programming Methods

» List of faculties » FP » NTI
Course title Modern Programming Methods
Course code NTI/AMP
Organizational form of instruction Lecture + Lesson
Level of course Master
Year of study not specified
Semester Summer
Number of ECTS credits 5
Language of instruction Czech
Status of course Compulsory, Compulsory-optional
Form of instruction Face-to-face
Work placements Course does not contain work placement
Recommended optional programme components None
Lecturer(s)
  • Satrapa Pavel, doc. RNDr. Ph.D.
Course content
Lectures: 1. Overview of programming paradigms 2. Prolog introduction, basic terms 3. Resolution mechanism 4. Boolean and numeric values, lists 5. Call templates, cut 6. Files 7. Operators, Prolog application design 8. Scheme introduction, lists and their usage 9. Function definition, recursion 10. List processing, data structures 11. Number sorting, recursive data 12. Trees, processing of multiple lists 13. Local definitions, functional parameters 14. Function as a value, lambda expressions, set! Practices: 1. Paradigms and programming languages 2. SWI Prolog - environment introduction 3. Simple examples in Prolog 4. Computations, list processing 5. Cut usage, determined predicates 6. File processing 7. Operator definition, appliaction in Prolog 8. DrScheme - environment introduction 9. Simple examples in Scheme, recursion replaces iteration 10. List processing, data structures 11. Recursive data structures and their processing 12. Data structure representation in Scheme 13. Local definitions, functional parameters 14. Function as a value, lambda expressions, set! ----- The range of attendance/lessons for extra-mural study: Lectures: 10 hours / semester Seminars: 10 hours / semester

Learning activities and teaching methods
Monological explanation (lecture, presentation,briefing)
  • Home preparation for classes - 24 hours per semester
  • Preparation for credit - 30 hours per semester
  • Preparation for exam - 40 hours per semester
  • Class attendance - 56 hours per semester
Learning outcomes
Technics, methods and tools of application development in the MS Windows environment.
Students gain theoretical knowledge and practical experience with programming approaches which differ fundamentally from the usual imperative approach of common programming languages. They learn Prolog and Scheme programming languages.
Prerequisites
Knowledge of procedural programming.

Assessment methods and criteria
Combined examination

Requirements for getting a credit are activity at the practicals /seminars and successful passing the tests. Examination is of the written and oral forms.
Recommended literature
  • Bratko I.: Prolog Programming for Artificial Itelligence, Addison Wesley, 3. vydání, 2000.
  • Dybvig, R. Kent: Scheme Programming Language, MIT Press, 3. vydání, 2003.
  • Felleisen M., Findler R. B., Flatt M., Krishnamurthi S.: How to Design Programs, MIT Press, 2001.
  • Salus, Peter H.:. The Handbook of Programming Languages. Volume 1: Object-Oriented Programming Languages Volume 2: Imperative Programming Languages Volume 3: Little Languages and Tools Volume 4: Functional and Logic Programming Languages.. Macmillan Technical Public, 1998.


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester
Faculty: Faculty of Science, Humanities and Education Study plan (Version): Teacher Training for Lower and Upper Secondary Schools - Informatics (20) Category: Pedagogy, teacher training and social care - Recommended year of study:-, Recommended semester: Summer
Faculty: Faculty of Mechatronics, Informatics and Interdisciplinary Studies Study plan (Version): Information Technology (2013) Category: Informatics courses 1 Recommended year of study:1, Recommended semester: Summer