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 条
  • [1] Some Pitfalls in Introductory Programming Courses
    Teodosiev, Teodosi
    Nachev, Anatoli
    INFORMATICS IN EDUCATION, 2012, 11 (02): : 241 - 255
  • [2] Study methods in introductory programming courses
    Gomes, Anabela
    Marcelino, Maria Jose
    Correia, Fernanda
    Mendes, Antonio Jose
    PROCEEDINGS OF THE 2020 IEEE GLOBAL ENGINEERING EDUCATION CONFERENCE (EDUCON 2020), 2020, : 898 - 904
  • [3] Introducing Gamification in Introductory Programming Courses
    Hofer, Alexander
    Groher, Iris
    PROCEEDINGS OF THE 15TH EUROPEAN CONFERENCE ON GAME BASED LEARNING (ECGBL 2021), 2021, : 904 - 907
  • [4] Code Complexity in Introductory Programming Courses
    Ihantola, Petri
    Petersen, Andrew
    PROCEEDINGS OF THE 52ND ANNUAL HAWAII INTERNATIONAL CONFERENCE ON SYSTEM SCIENCES, 2019, : 7662 - 7670
  • [5] A Survey of Introductory Programming Courses in Ireland
    Becker, Brett A.
    PROCEEDINGS OF THE 2019 ACM CONFERENCE ON INNOVATION AND TECHNOLOGY IN COMPUTER SCIENCE EDUCATION (ITICSE '19), 2019, : 58 - 64
  • [6] Software Testing in Introductory Programming Courses
    Horvath, R.
    10TH IEEE INTERNATIONAL CONFERENCE ON EMERGING ELEARNING TECHNOLOGIES AND APPLICATIONS (ICETA 2012), 2012, : 133 - 134
  • [7] A Global Survey of Introductory Programming Courses
    Mason, Raina
    Becker, Brett A.
    Crick, Tom
    Davenport, James H.
    PROCEEDINGS OF THE 55TH ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, SIGCSE 2024, VOL. 1, 2024, : 799 - 805
  • [8] A Toolkit for Assessments in Introductory Programming Courses
    Xing, Eric
    Xing, Guangming
    PROCEEDINGS OF THE 54TH ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, VOL 2, SIGCSE 2023, 2023, : 1285 - 1285
  • [9] A Tool Help for Introductory Programming Courses
    Figueiredo, Jose A. Q.
    Jose Garcia-Penalvo, Francisco
    TEEM'21: NINTH INTERNATIONAL CONFERENCE ON TECHNOLOGICAL ECOSYSTEMS FOR ENHANCING MULTICULTURALITY, 2021, : 18 - 24
  • [10] The Flowchart Interpreter for introductory programming courses
    Crews, T
    Ziegler, U
    28TH ANNUAL FRONTIERS IN EDUCATION CONFERENCE - CONFERENCE PROCEEDINGS, VOLS 1-3, 1998, : 307 - 312