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 条
  • [31] Supporting the Development of Interactive Applications in Introductory Programming Courses
    Aispuro, Elvia E.
    Licea, Guillermo
    Suarez, Jaime
    Sandoval, Andres
    Carreno, Monica A.
    Estrada, Italia
    Juarez-Ramirez, Reyes
    Aguilar, Leocundo
    Martinez, Luis G.
    COMPUTER APPLICATIONS IN ENGINEERING EDUCATION, 2012, 20 (02) : 214 - 220
  • [32] PEDAGOGICAL PATTERNS USED IN INTRODUCTORY PROGRAMMING COURSES AT MVILLE
    Djordjevic, M.
    EDULEARN16: 8TH INTERNATIONAL CONFERENCE ON EDUCATION AND NEW LEARNING TECHNOLOGIES, 2016, : 3535 - 3535
  • [33] A teaching/learning support tool for introductory programming courses
    Boada, I
    Soler, J
    Prados, F
    Poch, J
    ITHET 2004: PROCEEDINGS OF THE FIFTH INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY BASED HIGHER EDUCATION AND TRAINING, 2004, : 604 - 609
  • [34] Designing SCORM Compliant Courses for Introductory Programming Students
    DiBlasio, Michael
    Vincenti, Giovanni
    Braman, James
    WMSCI 2010: 14TH WORLD MULTI-CONFERENCE ON SYSTEMICS, CYBERNETICS AND INFORMATICS, VOL III, 2010, : 135 - 138
  • [35] Creating an authentic learning experience in introductory programming courses
    Herrmann, Nira
    Popyack, Jeffrey L.
    SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education), 1995, 27 (01):
  • [36] Towards an automatic assessment system in introductory programming courses
    Zougari, Soundous
    Tanana, Mariam
    Lyhyaoui, Abdelouahid
    2016 INTERNATIONAL CONFERENCE ON ELECTRICAL AND INFORMATION TECHNOLOGIES (ICEIT), 2016, : 496 - 499
  • [37] Including Computer Systems Assignments in Introductory Programming Courses
    Reilly, Christine F.
    Prasad, Aarathi
    2021 IEEE FRONTIERS IN EDUCATION CONFERENCE (FIE 2021), 2021,
  • [38] Assessing Student Preparedness for Introductory Engineering and Programming Courses
    Pejcinovic, B.
    Holtzman, M.
    Wong, P. K.
    Recktenwald, G.
    2017 IEEE FRONTIERS IN EDUCATION CONFERENCE (FIE), 2017,
  • [39] Exploring Computational Thinking Assessment in Introductory Programming Courses
    Araujo, Ana Liz Souto O.
    Santos, Jucelio S.
    Andrade, Wilkerson L.
    Serey Guerrero, Dalton D.
    Dagiene, Valentina
    2017 IEEE FRONTIERS IN EDUCATION CONFERENCE (FIE), 2017,
  • [40] Replacing Introductory Programming Courses with a Broader Perspective on Computing
    Hislop, Gregory W.
    ITICSE 2009: PROCEEDING OF THE 2009 ACM SIGSE ANNUAL CONFERENCE ON INNOVATION AND TECHNOLOGY IN COMPUTER SCIENCE EDUCATION, 2009, : 390 - 390