Thesis (Selection of subject)Thesis (Selection of subject)(version: 368)
Thesis details
   Login via CAS
Reconstructing the Pygmalion programming environment
Thesis title in Czech: Reconstructing the Pygmalion programming environment
Thesis title in English: Reconstructing the Pygmalion programming environment
Key words: programming by demonstration|history of programming|pygmalion|programming environments
English key words: programming by demonstration|history of programming|pygmalion|programming environments
Academic year of topic announcement: 2023/2024
Thesis type: Bachelor's thesis
Thesis language: angličtina
Department: Department of Distributed and Dependable Systems (32-KDSS)
Supervisor: Mgr. Tomáš Petříček, Ph.D.
Author: hidden - assigned and confirmed by the Study Dept.
Date of registration: 26.09.2023
Date of assignment: 26.09.2023
Confirmed by Study dept. on: 23.11.2023
Guidelines
Pygmalion [1] is an early programming by demonstration [4] system developed at Xerox PARC in the 1970s. It pioneered many later influential ideas such as the use of icons or the use of "remembering mode" (macro recording) for constructing reusable logic. Despite being very influential, Pygmalion is not something one can readily run. It was implemented in Smalltalk-72 and the source code is available as an appendix of a poorly scanned PhD thesis.

The aim of the thesis is to create a reconstruction of a small subset of the Pygmalion system. The author will implement a basic programming system that will follow the style of interaction introduced in Pygmalion. The system should allow users to construct one of the basic case studies described in the Pygmalion report, such as the construction of the factorial function. It should follow the interaction pattern of Pygmalion, but it is expected that it will not be fully accurate and the author will need to develop their own design for aspects not documented well enough in the original report. The thesis is not expected to result in a rich programming system, but it should include a critical reflection on the differences between Pygmalion and the developed system. In this, the thesis may follow other such "reconstructions" [2]. The resulting project should be available as an interactive web application, possibly utilizing the F# Elmish framework [3].
References
[1] Smith, D.C., Pygmalion: a creative programming environment. Stanford University, 1975.
[2] Petricek, T., The Lost Ways of Programming: Commodore 64 BASIC. 2020, Available at: https://tomasp.net/commodore64/, Accessed 9/2023
[3] Ajaj, Z., The Elmish Book. Available at: https://zaid-ajaj.github.io/the-elmish-book/, Accessed 9/2023
[4] Cypher, A, Halbert, D. C., eds. Watch what I do: programming by demonstration. MIT press, 1993.
 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html