VERIFICATION AND SYNTHESIS OF PROGRAMS IN INTRODUCTORY COURSES IN FUNCTIONAL PROGRAMMING

被引:0
|
作者
Todorova, Magdalina [1 ]
Orozova, Daniela [2 ]
机构
[1] Sofia Univ, Fac Math & Informat, Sofia, Bulgaria
[2] Burgas Free Univ, Fac Comp Sci & Engn, Burgas, Bulgaria
关键词
Specification; Program Verification; Program Synthesis; Equivalence of Functions; INDUCTIVE METHODS;
D O I
暂无
中图分类号
G40 [教育学];
学科分类号
040101 ; 120403 ;
摘要
The so called "polyglot programming" has been a paradigm gaining speed during the last decade. It requires the developers to employ the most suitable programming language depending on the particular task to be solved. This motivates the programmers to integrate languages realizing different programming styles in the program environments they develop. The functional programming languages are among the most appropriate for a number of applications in the field of artificial intelligence, for execution of program prototypes with dynamic design, for scientific research, for studying program properties, etc. The declarative nature of these languages makes them suitable for expressing the laws and relations between the parts of the program, for modelling business rules, for applying as meta-languages, describing specifications and models, etc. This explains the emerging of a great number of contemporary languages of functional programming, as well as the programming language creators' strife to integrate the functional style into the contemporary programming environments. Responding to the practice needs, and in order to provide highly-trained specialists, the universities providing software engineer education increase the training in functional languages programming. In order to achieve this, formal methods through which to investigate program properties have been introduced in addition to the basic structures of the functional languages. This article presents its authors' experience in applying formal methods of verification and synthesis of functional programs, as well as of proving properties of functional programs, in introductory courses in functional programming. It analyzes the benefits and drawbacks of education through applying formal methods. Opportunities for improving the results of such type of education are discussed. The work is based on Haskell and Scheme languages of functional programming.
引用
收藏
页码:8195 / 8203
页数:9
相关论文
共 50 条
  • [41] Virtual Reality Instructional Modules for Introductory Programming Courses
    Stigall, James
    Sharma, Sharad
    PROCEEDINGS OF THE 2017 7TH IEEE INTEGRATED STEM EDUCATION CONFERENCE (ISEC), 2017, : 34 - 42
  • [42] Experiences with tutored video instruction for introductory programming courses
    Anderson, R
    Dickey, M
    Perkins, H
    PROCEEDINGS OF THE THIRTY-SECOND SIGCSE TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 2001, 33 (01): : 347 - 351
  • [43] A web-based programming environment for introductory programming courses in higher education
    Horvath, Gyozo
    ANNALES MATHEMATICAE ET INFORMATICAE, 2018, 48 : 23 - 32
  • [44] Is Computer Programming a Boys' Club? Evaluating Performance in Introductory Java Programming Courses
    Kinnett, Seth J.
    30th Americas Conference on Information Systems, AMCIS 2024, 2024,
  • [45] SMOOTH TRANSITION FROM PROBLEMS TO PROJECTS IN INTRODUCTORY PROGRAMMING COURSES
    Azalov, Pavel
    MATHEMATICS AND INFORMATICS, 2013, 56 (03): : 224 - 238
  • [46] Blended learning models for introductory programming courses: A systematic review
    Alammary, Ali
    PLOS ONE, 2019, 14 (09):
  • [47] Applying software development lifecycles in teaching introductory programming courses
    Rahman, Syed M.
    Juell, Paul L.
    19TH CONFERENCE ON SOFTWARE ENGINEERING EDUCATION & TRAINING, PROCEEDINGS, 2006, : 17 - +
  • [48] Poster Abstract: Knowledge Sequencing in Online Courses for Introductory Programming
    Crow, Tyne
    Luxton-Reilly, Andrew
    Wuensche, Burkhard
    2018 6TH INTERNATIONAL CONFERENCE ON LEARNING AND TEACHING IN COMPUTING AND ENGINEERING (LATICE), 2018, : 112 - 113
  • [49] Inquiry-based Active Learning in Introductory Programming Courses
    Qian, Kai
    Lo, Chia-Tien Dan
    Yang, Li
    Liu, Jigang
    ITICSE 2010: PROCEEDINGS OF THE 2010 ACM SIGCSE ANNUAL CONFERENCE ON INNOVATION AND TECHNOLOGY IN COMPUTER SCIENCE EDUCATION, 2010, : 312 - 312
  • [50] Customizing Feedback for Introductory Programming Courses Using Semantic Clusters
    Marin, Victor J.
    Hosseini, Hadi
    Rivero, Carlos R.
    INTELLIGENT TUTORING SYSTEMS (ITS 2021), 2021, 12677 : 279 - 285