László Kalmár and the First University-Level Programming and Computer Science Training in Hungary

. Abstract The aim of this case study is to provide a detailed description of the first university-level programming and computer science training in Hungary, which started in 1957 at the University of Szeged. The program began due to the strenuous efforts of Professor László Kalmár, who is considered to be “the father of computer science in Hungary.” The aim of this study is to add to the literature on Kalmár's work, focusing on his activities in the field of computer science education, and at the same time, to add a detailed study from the Eastern Block to the history of computer science education..


Introduction
This case study provides a detailed description of the first university-level programming and computer science training in Hungary, which started in 1957 at the University of Szeged due to the strenuous efforts of Professor László Kalmár. The aim of 1 this study is twofold: to add to the literature on Kalmár's work, focusing on his activities in the field of computer science education, and, at the same time, to add a detailed study from the Eastern Block to the research on the history of computer science education.
Kalmár is recognized internationally more for his work in mathematical logic through the 1930s to the 1950s than for his contributions to computer science, even though his achievements in the field were (posthumously) recognized by IEEE with the Computer Pioneer Award in 1996. In Hungary he is often referred to as "the father of computer science in Hungary" or "the pioneer of Hungarian computer Between 1962 and 1999 the university adopted the name of the Hungarian poet Attila József 1 and was called József Attila Tudományegyetem, JATE. Throughout this paper we will refer consistently to the university as University of Szeged to avoid confusion. science" ([1], [2]). Kalmár earned such epithets due to his tremendous impact on the field of computer science in Hungary. He devoted the last two decades of his life to computer science and contributed to every aspect of it, including theoretical computer science, computer design, philosophy of cybernetics, organization of the field in Hungary, and its education. Thus, it is impossible to understand the history of computing in Hungary without Kalmár's contributions. Still, the only source in English devoted solely to his work in the field is Makay's short [3], and some sections of survey papers, e.g. Kovács' ([4], Section 7), while the Hungarian sources that discuss his work in the field ([5]. [1] and [2]) touch upon his educational activities only briefly. This paper addresses this gap in the literature concerning Kalmár's educational work in computer science and its impact on the early generations of programmers in Hungary.
The other goal of this case study is to contribute to the history of computer science education. Just as in the case of the history of computing in general, the history of computer science education has only a few sources in English from the Eastern Block. In the case of Hungary, only Raffai's ([6], Section 3) and Sántáné-Tóth's [7] are available in English besides some scattered remarks in survey papers discussing the history of computing of the country as a whole. Although this paper focuses narrowly on Hungary, it displays some more general challenges such a program had to face in the Eastern Block as well.
When the training started in 1957, there was no running computer in the country yet, and there was no computer at Szeged until 1965. Thus, it had to function without a computer in place for several years while being the only training for programmers at the university-level in the country. This led to some serious problems in the beginning, as well as rather unique solutions, as discussed in detail in the sections Lack of Internships and Programming Without Computers. Although this case might be extreme even within the Eastern Block, it shows rather well that some of these countries faced quite different challenges that those of the West. Besides the scarcity of computers, many of these countries lacked nationwide strategic plans and funding for years to come, unlike for example in the UK ([8], [9]) and France [10]. Hence, this study not merely augments the sources in English on the history of computer science education in Hungary, but serves as an addition to a broader Eastern European picture as well. In order to be a useful source for further research, quite a lot of detail is provided, especially in the appendices, about early enrollments, curricula and faculty etc.
This case study is based on the following archival sources besides the already available literature on Kalmár's work in English and Hungarian. The Kalmár Nachlass in the Klebelsberg Library at the University of Szeged holds several relevant documents. Most importantly, the folder 'Lev-12' contains about 100 pages of Kalmár's official correspondence related to the different programming and computer science training and majors from 1957 to 1974 [11]. The section The Fast Track to the First Programming and Computer Science Training and many details in the appendices are based on this folder. Besides this folder, I used Kalmár's personal correspondence and some of his unpublished manuscripts, for example [12]. The use of these archival materials is indicated throughout the text below. Another source for this paper that has to be mentioned here is Sántáné-Tóth's [13], which is an indispensable source on the history of computer science in Hungarian higher education. The book contains infor-

Computers and Education in Late 1950s Hungary
To provide context for the programming and computer science training at Szeged I quickly describe the level of computerization in Hungary and the relevant features of its university education system. It is well known that the computerization of the Eastern Block lagged behind the US and Western Europe (e.g. [14], [15] and [16]). However, the computerization of Hungary started out relatively slowly even within the Eastern Block, not only in comparison to the Soviet Union but to Poland and Czechoslovakia as well ( [17], [16]).
The first vacuum tube computer in Hungary was running reliably only from early 1959. It was built by the Cybernetics Research Group (founded in early 1956) of the 2 Hungarian Academy of Sciences in Budapest. The group received the blueprints and some of the parts of the Soviet M-3 computer and built the first electronic vacuum tube computer in the country. The M-3 showed its first "signs of life" during 1958 and ran reliably by 1959 ( [18], [19] and [20]). By the end of that year there were three running computers in the country (two Ural-1 computers were installed in other research institutes), all of them in the capital, Budapest. In fact, there was no computer outside of Budapest until 1965! Hungary caught up with the region by the early 1970s and became a successful member of the Ryad project in the 1970s [21]. For an overview of the history of information technology and computer developments in Hungary, see Szentgyörgyi's [22].
In order to understand the beginnings of computer science education, we should consider natural sciences education in Hungary in the 1950s. Those who wanted to Kibernetikai Kutatócsoport, often referred to as KKCs in papers in Hungarian. 2 study natural sciences had to enroll as high school teachers with two majors (with very few exceptions). Thus, most people who received education in mathematics earned a mathematics-physics or a mathematics-descriptive geometry high school teacher degree. These degrees are considered to be equivalent to a Master's Degree. Their program consisted of four years of coursework including pedagogy and psychology classes. By the late 1950s these programs were extended to five years to include about a year of teaching practice in a high school at the end, and required a thesis to be written and defended in one of the two majors.
The only exception in the case of mathematics was the `applied mathematician' major offered by Eötvös University in Budapest from 1950. It trained the students to be employed in the industry or at research institutes and did not require coursework in pedagogy and psychology. However, this major accepted less than 15 people per year.

László Kalmár's Work in Szeged
As we will see below, programming and computer science education in Szeged was started due to Kalmár's one-man mission in 1957. The training that started with only three students gradually became a major with higher enrollments. Of course, this growth required an increase in the number of instructors and in the institutional background. In this section, I briefly discuss Kalmár's career and the institutional changes that accommodated the growing program. László Kalmár was born in 1905 and worked at the University of Szeged from 1927 until his retirement in 1975. He became an eminent mathematical logician by the end of the 1920s. Although he first learned about mathematical logic and Hilbert's proof theory from von Neumann's [23], meeting Hilbert was decisive for Kalmár's career in choosing mathematical logic as his main focus. In 1928, Kalmár attended Hilbert's address at the International Congress of Mathematicians in Bologna [24] and spent the Summer Term of 1929 in Göttingen. There he attended Hilbert's course on Set Theory, the last third of which was devoted to mathematical logic and proof theory ( [25], p. 2, 5, and 19). From the 1930s through the 1950s he worked on recursion theory, the reduction of the decision problem, incompleteness and undecidability; see his [26], [27] and [28] for examples. The following two facts show Kalmár's acknowledgement of and acceptance by the international community of logicians. First, during the 1940s and 1950s, Kalmár was a member of the editorial board of the Journal of Symbolic Logic, the first journal dedicated solely to the topic of logic. Second, when Kalmár applied for a professorship at the University of Szeged in 1946 (which he received in 1947), his letters of recommendation were from John von Neumann ( [29], p. 226), Alonzo Church ( [30], pp. 156-157) and Haskell B. Curry.
Besides research, Kalmár was clearly interested in education as well. Together with his lifelong colleague and friend Rózsa Péter, he paved the way for the acceptance of logic in Hungarian mathematics. They presented expository talks and papers both for academic ( [31] and [32]) and wider audiences [33], and introduced logic as a subject to university curricula. (On Kalmár and Péter's contributions to mathematics and logic education in Hungary see [34].) ! 5 Around the mid 1950s, Kalmár's interest turned towards the applications of logic to computer design and to engineering in general, automata theory, and cybernetics. He devoted most of his time to these subjects until his death in 1976. Kalmár was extremely productive in his last two decades and had a tremendous impact on computer science research and education in Hungary. His work earned him such epithets as "the father of computer science in Hungary" and "the pioneer of Hungarian computer science" ([1], [2]), and was also recognized by IEEE, receiving their Computer Pioneer Award posthumously in 1996. Because it is almost impossible to list all of Kalmár's achievements in this field, I can only provide a short but hopefully illuminating list of his activities below.
Kalmár knew about the newly founded Cybernetics Research Group in Budapest and the plans to build the M-3 computer. He regularly visited the Group, attended and delivered talks at their meetings and maintained a good relationship with the members of the Group.  [48][49][50][51][52][53][54][55][56][57][58][59]. Kalmár also designed a computer that could be programmed in a mathematical formula language [36]. Although he had several iterations of the plans, the computer was sadly never built in Hungary. However, it had an impact on the MIR computer built between 1963 and 1966 at the ! 6 Kiev Institute of Cybernetics. In 1963 he founded the Cybernetics Laboratory, which 3 grew rapidly after the arrival of the M-3 computer to Szeged in 1965, and later became the first computer center outside the capital. In 1967, another research group was founded in Szeged to conduct research in mathematical logic and automata theory. Besides designing computing devices, Kalmár published extensively in theoretical computer science and even on the philosophical problems of cybernetics. He founded the journal Acta Cybernetica in 1969 and it is still running today. Kalmár also organized several domestic and international workshops and conferences devoted to these topics. The Colloquium on the Foundations of Mathematics, Mathematical Machines and Their Applications, which he organized in 1962 in Tihany, Hungary, was attended by such illustrious scholars as Alonzo Church (Figure 2), Haskell B. Curry, John Mc-Carthy and Yehoshua Bar-Hillel [39]. In addition, he regularly attended and contributed papers to conferences on computational linguistics [40], and applications of computers and computer science in the fields of medicine [41] and heavy industry [42]. Through these activities, Kalmár had a tremendous impact on the scientific communities in Hungary that did research in computer science or its a Kalmár was an active member of the international community as well. In addition to attending multiple international conferences every year, he had an extensive correspondence with scholars from both the "East" and the "West" and visited academic institutions and computer centers around the world. Furthermore, he spent the winter of 1958-1959 in China at the invitation of Fudan University in Shanghai as part of the Hungarian-Chinese cultural treaty. China's first computer, the DJS-1 (or 103) built from 1961, was also based on the Soviet M-3 computer ( [43] and [44], pp. 151-157). Over the course of three months, Kalmár delivered lectures about the general problems of programming computers, particular arithmetic operators and algorithms for the M-3 computer, and mathematical logic and computability in Shanghai, Beijing, Wuhan, and Hangzhou ( [20], p. 2063 and 2065). During the 1960s, Kalmár represented Hungary and the Hungarian Academy of Sciences in the "Committee of the Scientific Problems of Computer Science and Technology" of the "academies of friendly [socialist] states." Just as with logic, Kalmár was invested in the education of programming and computer science as well. He regularly delivered expository talks to academic and wider audiences, and was singlehandedly responsible for starting the university-level training of programmers in Hungary in 1957. To accommodate the growing numbers of programming and computer science students, in 1967 an independent Foundations of Mathematics and Computer Technology Department was created with Kalmár as the head of the department. In 1971, this department morphed into the Computer Science Department, still headed by Kalmár until his retirement in 1975. Through his seminars, research groups, the computer center and independent department, Kalmár created a large community of talented computer science scholars and educators. This community was able to supply instructors for the education of future computer scientists. (See Appendix A for the names and biographical information for the instructors of the first couple classes of the training.) The next section discusses the short bureaucratic prehistory of the training, while the later sections provide the details of the first couple classes of the program.

The Fast Track to the First Programming and Computer Science Training
According to Varga [1] and Sántáné-Tóth [13] Kalmár wanted to start a major with a focus on programming and computer science, similar to the 'Applied Mathematician' major in Budapest, but with a focus on programming and computer science. However, his requests were denied by the Ministry of Education and Culture. 4 After all, in 1957 Kalmár was allowed to start the first programming and computer science training at the university-level in Hungary. I use the term 'training' here, because the first iteration of this program was neither a major in the sense of 'mathematics and physics high school teacher' double majors, nor in the sense of the 'applied mathematician' major provided by Eötvös University.
Művelődésügyi Minisztérium in Hungarian. 4 ! 8 This section describes the timeline of the rather quick official process that led to the start of the training. It is based on, and closely follows Kalmár's official letter to Ágoston Budó, Dean of the School of Natural Sciences at the University of Szeged, dated March 25, 1960. The letter can be found in the 'Lev-12' folder [11]. The 9 page long letter describes in detail the administrative road to start the training. Kalmár's description appears to be precise, as many of the documents mentioned in the letter can also be found in the folder.
On May 15th, 1957 the Ministry of Education and Culture permitted 5% of talented students with double majors to drop one of their majors at the beginning of their 3rd or 4th year in order to gain deeper knowledge and conduct research in their other major. However, the Ministry kept the right to specify the number of such students with 5 mathematics or biology majors on a year by year basis.
On the 5th of July Kalmár made an application to the Ministry to allow his de 6 partment to train such talented students, dropping their second, non-mathematics major for the programming of computers ("digital calculators") and their theory. Kalmár argued that there was a need for such training, as the country would need "programming mathematicians" at the Cybernetics and other research groups, as well as at large factories, in order to run the M-3 continuously, and to supply it, and future computer centers, with programs and problems to solve. He suggested that the Ministry communicate with the Cybernetics Research Group and the Planbureau (the government body responsible for economical planning) to determine the number of programming experts needed in the near future. He proposed that after their coursework at Szeged, the students could have an `internship,' a practical training, on the M-3 computer of the Cybernetics Research Group in Budapest.
As he did not receive any notification about a decision, Kalmár inquired at the Ministry upon returning from an academic trip abroad on September 8th (or 9th). He was informed that the Ministry approved the training. However, the students would have to study more traditional applied mathematics classes, e.g. partial differential equations, besides programming and computer science. They would earn the title `high school mathematics teacher --applied mathematician.' On September 10th, Kalmár recognized that the University of Szeged did not yet receive any official approval of the training. In a personal letter he urged the Ministry to send the official documents for him to be able to start preparing the training. Two days later, on September 12th, he received a call from the Ministry informing him that the official approval was on its way to the university and he could begin preparations for the training. On the same day, Kalmár announced the start of the new training to the students on the department bulletin boards and organized an informative meeting about it.
For those students who chose this path at the beginning of their 4th year, the training lasted 5 only one year. This was allowed, as the country needed highly trained experts quickly in many fields.
This letter of Kalmár's can also be found in the 'Lev-12' folder [11]. 6 On September 16th, Kalmár was informed by the Dean of the Faculty of Science that the official approval arrived, and that the headcount of the training would be limited to 3 students. On the next day Kalmár announced to the students that they would have to submit a special application to the Dean's Office in order to enroll in the new training.
Students submitted their application to the training two days later, on the 19th of September. Two students at the beginning of their 3rd year and four students at the beginning of their 4th year applied. The committee, consisting of Kalmár and two other professors of mathematics, accepted 3rd year student József Jónás and 4th year students Ilona Fidrich and László Leindler. The students were notified on the 23rd of September about the decision.
The curriculum of the training was approved on the 21st of September by the Dean's Office of the Faculty of Science. The classes began on the 26th of September, 1957. (The semester began a couple of weeks earlier; thus the other classes were already going on for a while.) To sum up: during the course of the summer of 1957 the Ministry of Education and Culture approved the University of Szeged to start a programming and computer science training for three students. These students were allowed to drop their second major in order to enroll this training. Though the focus of the training was in programming and computer science, they also had to learn further, "more traditional," topics in applied mathematics. After their 4th year in Szeged they were to go through a practical training `internship' at the Cybernetics Research Group in Budapest. The location of the internship was a necessity, as computers were to be found only in Budapest at the time. At the end they earned a `high school mathematics teacher --applied mathematician' degree. Sometimes they were informally referred to as `calculator applied mathematicians'. (For the curricula of the first three classes and the titles of the Master's Theses written by the students in those classes, see Appendix A and B.) This approval process might appear to be extremely quick. However, Kalmár already had a sizable reputation. He was appointed as a professor in 1947 and became a corresponding member of the Hungarian Academy of Sciences in 1949. He also served as the president of the University of Szeged during the 1950/1951 academic year ( [45], p. 17). And most importantly, as Kalmár emphasized in his application letter, there was urgent need for programmers in the foreseeable future.
Let us take a quick look at the international situation for comparison. The training at Szeged started only four years after University of Cambridge's one year long training, called 'Diploma in Numerical Analysis and Automatic Computing,' which was offered from the fall of 1953, and is considered to be the first computer science training ever ( [46], p. 96). In the US, as Fein reports in his [47], there were about 150 universities that offered some kind of computer science or computer related course, seminar, lecture series, etc. in the country by 1959. However, "[o]nly a few universities have made a determined effort to select a field of interest, set up a policy and goal, and implement it" (p. 9). The first computer science department in the US was founded at Purdue University in 1962. The newly founded department started Masters and ! 10 PhD programs already in its first semester, leading to their first graduates in 1964 and 1966 respectively ( [48], [49]). However, the earliest PhDs awarded in computer science in the US were given in 1965 [50]. In the Soviet Union, according to Ershov and Shura-Bura's ( [51], section 6), the first course on programming was taught by Lyapunov in the 1952/1953 academic year in Moscow, and the first graduate degrees were defended during the mid-1950s. Also in 1952, "several universities started a new specialty [Master's equivalent level] in 'computing mathematics' in addition to the existing specialty in mathematics" (p. 178), with courses predominantly in mathematics and numerical methods. It was only in 1969 that a new 'computational mathematics' specialty was started to fulfill the growing needs for programmers in the country (p. 181). Thus, although the computerization of Hungary began relatively late, its computer science and programming education was timely.

Lack of Internships
As mentioned above, there was no computer in Szeged (or anywhere outside Budapest) until 1965. Moreover, though the number of computers was growing in the country, only the M-3 computer at the Cybernetics Research Group could be visited by students and faculty of educational institutions. Thus, every student internship had to be completed at the M-3. The first class of the training consisted of two 4th year and one 3rd year student. By the summer of 1958, the two 4th year students, Ilona Fidrich and László Leindler, completed their 'high school mathematics teacher' major and were missing only their internships to complete the `applied mathematician' component of their degree.
As the prescribed length of the internship was a year and could take place only in Budapest, the students needed a stipend to be able to attend it. Kalmár asked the Mathematical Committee of the Academy of Sciences to provide such stipends in June of 1958. As the stipends were still not approved by the end of July, both 4th year students accepted the high school mathematics teaching jobs they were offered. The third member of the class, József Jónás, had a similar experience one year later upon finishing. Although Kalmár took action already in April of 1959 to secure a stipend for him, it was still not confirmed by the summer. Jónás accepted a high school teaching position without finishing the `applied mathematician' training as well.
After a year of teaching in a high school Fidrich completed her internship and became the first graduate of the training (See Appendix B for Fidrich's short biography). Leindler also left his high school job and became a doctoral candidate, and later, a faculty member at the Mathematics Department at the University of Szeged; however, he never completed his `applied mathematician' training. Jónás stayed at his high school teaching job, and was required by the high school to complete his previously dropped `high school physics teacher' major through correspondence classes, as every other high school teacher was able to teach two subjects.
According to Kalmár, this uncertainty about internships, and its career implications, led to decreased interest in the new training. Indeed, while in 1957 they witnessed a surplus of applicants, they received too few applications to even fill the offi-! 11 cially approved headcount in subsequent years. However, students at the time were 7 not aware of these issues (based on the authors personal correspondence with Edit Sántáné-Tóth, a member of the second class starting in 1958), so it is unlikely that this impacted the number of applications.
The lack of internships was a problem only for the first class. Every student in the later classes had an internship scheduled for them, and from 1963 they were able to do their internships at computer centers at other research institutes or ministries as well. The requirements of the internship changed too. Members of the second class had to spend only the second semester of their final, 5th year, as an internship. Members of the third class had to attend two additional, shorter internships during the training: a three week internship after their 3rd year and a five week internship after their 4th year.
As this training was one of the very few options to learn programming in the country (see the section on Other Early Programs), there was a shortage of programmers throughout the 1960s in Hungary. As a consequence, from the second class on, graduating students usually received multiple job offers from the industry, in many cases from the computer centers where they did their internships.
It has to be pointed out that although their degree qualified the graduating students to teach mathematics in high school, they rarely became teachers, as they were immediately acquired upon graduation by the industry. However, it was never even among the intentions of the training to educate high school teachers. At the time there were no computers at high schools in the country and no plan to include the subject in secondary education. The sole purpose was to train programmers. Indeed, Kalmár argued for the creation of the training to satisfy the (future) needs of the industry, computer centers and research groups. And the training was successful at that.

Programming Without Computers
The lack of computers in Szeged meant that, for several years, the students had no regular access to computers during their training. They visited the M-3 about once a semester before their internship in Budapest (based on the authors personal correspondence with Edit Sántáné-Tóth). This situation led, by necessity, to the so-called "chalk programming" method where programs were written on the blackboard with chalk. Then Kalmár and the students `executed' the programs, an activity they referred to as a "dry run." This method clearly had the didactic drawbacks that it deprived the students from the experience of running a program they wrote, the interactions with the program while debugging and running it again, and finally, the feeling of accomplishment once the program was properly functioning.
While in 1957 they received 6 applications for 3 positions, in 1958 they received only 4 appli 7 cations for 6 places, and only 5 for 12 positions in 1960. (Kalmár's programming and computer science training, among many others, was not allowed to start a new class in 1959 as reforms were put in place in higher education, such as extending of the length of the high school teacher programs to five years.) In his programming classes, Kalmár used several fictional computers instead of a description of one of the few computers in the country. Throughout the years, he defined more and more fictional computers based on the information they were able to gather about different models, and to accommodate new developments in the field. This led to a "universal notational system", in which any actual operation of any actual computer can be expressed. The fictional computers, later referred to as "Kalmár's fictional computers," were introduced with or without index registers, while the operations in their assembly languages could have one, two or even three addresses.
It seems that Kalmár introduced his first fictional computers independently from the well-known idealized computers in the literature as his first versions predate the publication of some of those. It is clear, however, that he was interested in and indeed did follow the literature (see Appendix D) on them. But he preferred to use a whole set of his fictional computers for the following reasons. In class the students were required to solve different problems on different fictional computers, depending on the pedagogical purpose. For example, the set of operations could be rather restricted if the goal was to show that certain operations are expressible in terms of others. This made it impossible to exploit particular "nice" features of the formalism of the idealized computers in the literature. At the same time, it prepared the students to adapt easily to any kind of computer they ended up working with, which was important for two reasons. First, although there were only a few computers in the country at the time, there were many different models. This continued to be a challenge for the successive years as well. For example, by 1969, there were still only 86 computers in Hungary, but this small selection was comprised of thirty different models ( [52], p. 7). Second, computers and programming languages were changing quickly at the time, so this method made it easy not only to adapt to the several different models, but to the computers of the foreseeable future as well. During recitations students were taught all computer models whose descriptions the instructors had access to. In these classes the students first learned the operations of those specific computers in terms of the operations of Kalmár's fictional computers, and then in their own assembly languages.
Kalmár's fictional computers had a long-lasting impact on the education of programmers at Szeged. They were still in use in the 1970s, although by this time the focus had shifted to high level languages. For example, Kalmár taught ALGOL 60 from the early 1960s. In his [54] Kalmár mentions two reasons for this. First, they believed that every programmer should know how to code in assembly languages, and this method successfully achieved that. Second, it was also out of necessity. As Kalmár said, Hungary was "a computer museum" at the time; on their first job, students might end up working with a computer that was installed in the early 1960s.
A simulator of these fictional computers was even made in the early 1970s. It was written for the Minsk-22 computer that Kalmár's department had at the time [55]. For a short survey of these fictional computers, see Appendix C. For Kalmár's description of the educational use of his fictional machines, see Appendix D.

The Training Becomes a Major: the Later Years in Szeged
As mentioned above, Kalmár originally wanted to start a standalone programming and computer science major, similar to the 'applied mathematician' major in Budapest, but his requests were denied. By 1960, when the training was established in Szeged, Kalmár continued petitioning the Ministry of Education and Culture to allow him to start a standalone programming and computer science major. Based on the experiences of the first couple of years of the training, Kalmár argued for a programming and computer science major in the following way. First, he alluded to the trend of growing numbers of computers in the country, and the need for a skillful crew of 10-12 people to run each of them. Kalmár prognosticated that there would be a shortage of computer experts by the mid-1960s in Hungary, unless a new onemajor program were started at Szeged with 10-15 students per year, in addition to continuing the ongoing training where students in their 3rd year were allowed to drop their second major. Furthermore, he argued, the 'applied mathematician' program in Budapest would have to offer such a major in the near future as well, while steps should be taken to start a similar major at the University of Debrecen in order to sat 8 isfy all future needs.
Kalmár also drew attention to the difficulties the current system was generating. According to him, besides taking time away from their special subject, those who finished the programming and computer science training were only qualified to teach mathematics in high school. As a consequence, high schools were not particularly keen to hire them, were they to become teachers, as all other teachers had two majors. In many cases, if they ended up teaching in a high school, they were required to finish their second major through postgraduate correspondence courses. 9 Enrollment numbers in high school teacher majors were also low. Thus, Kalmár argued, computer experts should not be drawn away from among those people who were preparing already for at least two years to become high school teachers. On the other hand, a standalone major could be appealing to those students who were interested in engineering or natural sciences but not in becoming teachers. The need for a growing number of computer experts and Kalmár's perseverance finally paid off by the 1963/1964 academic year, when a standalone 'mathematician' major was finally started, with a possible 'program designer' specialization. In the 10 first two years, everyone in the major studied a core mathematical curriculum, while the courses of the specialization began in the 3rd year; students in this major did not 11 have to study pedagogy and psychology anymore. The maximum enrollment in the `program designer' specialization grew from 13 in the beginning of the major in 1963 Still, Kalmár proposed that if a standalone major would be started in the future, those who 9 enroll in it should be allowed to earn a 'high school mathematics teacher' degree in addition, but not to make it mandatory for them.
The Hungarian expression of which 'program designer' is a literal translation sounds odd in 10 Hungarian too. 'Programmer' or 'software engineer' would be the closest contemporary expressions, but I kept the literal translation to convey the anachronistic connotation of the Hungarian original.

Other Early Programs
Although the programming and computer science training that was started at Szeged in the fall of 1957 was the first university-level, degree-granting, multiple-years-long program, it was not an entirely isolated attempt in higher education. In this section, mostly based on Sántáné-Tóth's [13], I give a short rundown of the beginnings of programming education on the university-level in Hungary. The earliest programming related courses were given by the Hungarian Central Statistical Office. They offered punch card machine operator courses from 1953; by 12 the end of the 1950s they offered courses which included some information about digital computers and programming as well.
The first course on programming digital computers was, naturally, taught by the members of the Cybernetics Research Group during 1958 and 1959. The course was organized by the Treasury Department to train 10-20 programmers. The 37 lectures that constituted the course were devoted to the programming of the M-3 computer. This course was so popular that it had to be repeated 3-4 times shortly thereafter. Many of the 50 or so participants of these courses later became renowned computer experts in Hungary ([13], pp. [38][39]. Members of the Cybernetics Research Group taught programming and computer science related courses at other places as well. One of the early uses of the M-3 computer was to provide calculations for the Planbureau as part of the economic planning. Béla Krekó, a young professor from the Karl Marx University of Economics was 13 hired part-time to help with such applications. By the academic year of 1961/1962 14 Krekó was able to start a new, so-called 'plan-mathematician' major at the University of Economics. This 5 year long major trained about 15-20 students in modern, formal economics; the name of the major clearly appeals to the "economic planning" jargon of the time. The major included courses on linear and non-linear programming in economics (taught by Krekó), and electrodynamics, mathematical machines, and pro-Központi Statisztikai Hivatal in Hungarian, or KSH in short. 12 Currently Corvinus University of Budapest. gramming and computer science taught (regularly) by other members of the Cybernetics Research Group [56].
Surprisingly, engineers and mathematicians had access to regular programming and computer science training and majors only much later, as both Eötvös University and the Budapest University of Technology started their majors several years later, by the very end of the 1960s. Although both universities offered special elective courses or extracurricular activities every now and then from the late 1950s, there was general 15 resistance towards the new subject among their leaders.
An anecdote by Kovács illustrates this attitude rather well. In his [59] he tells the story of how he ended up teaching programming and computer science courses in the 'plan mathematician' major organized by Krekó. In 1960 Kovács visited several universities in Budapest and offered to teach the subject. First he visited the University of Technology where the president's response was that at this "serious university they only teach serious engineering knowledge". The people running the 'applied mathematician' major at Eötvös University responded rather similarly, claiming that "they only teach mathematics, and this is not mathematics." When Kovács showed his syllabi to Krekó, he immediately asked Kovács to join him in starting the 'plan mathematician' major. However, they still had to get approval from the leadership of the university. The reaction of the vice president of the University of Economics was more welcoming: "We teach so many silly subjects, an extra one will not make much difference." And thus programming and computer science became part of the `plan mathematician' major's curriculum.
In the case of the Budapest University of Technology there were further reasons for this delay beyond general resistance. One reason was the large size of classes in the engineering majors. For example, it would have been impossible to start general computer science education for hundreds of electrical engineers, when the count of digital computers in the country was still in the single digits. Another reason was the Technical University's own internal regulations, in that every major had to have a complete curriculum for its entirety at its beginning. Thus, nothing other than special elective courses was allowed to be inserted into the curriculum of a student once they were enrolled.
For the sake of completeness we have to mention a unified computer science education initiative from the early 1970s. As part of the initiative Eötvös University, the University of Szeged and the University of Debrecen cooperated in developing a common curriculum based on other contemporary international curricula. This resulted in the design of a 3 year long `programming mathematician' major, providing a For example, László Kozma (1902Kozma ( --1983  "college" or "bachelor" equivalent degree. This new major was offered at all three universities from the 1972/1973 academic year.
Kalmár, of course, was involved with the development of this unified initiative. In the beginning he was against the structure of the proposed new majors for various reasons. But once these new majors were approved he fell in line. In addition, the nationwide initiative also instigated the founding of several new computer science departments around the country. Kalmár traveled around those universities that planned to start a new department to share his experience and their curricula in order to provide guidance. 16 Students enrolled in this program at Szeged could not switch between this major and the other, 5 year long major designed by Kalmár. The new major was designed to quickly fulfill the industry's demand for competent programmers, while the 5 year long major was to train researchers and leaders of computer centers.
The most talented students in this new 'programming mathematician' major could then go on to a 2 year extension, providing a "university" or "master's" equivalent degree at the end. This degree was offered by Eötvös University from 1975/1976, at Szeged from 1979/1980 and at Debrecen from 1988/1989 (([13], section 8) and ([7], pp. 45-47)). The program was called `program designer mathematician', exactly the same as the original 5 year long major at Szeged. Thus, the two `program designer mathematician' majors were simultaneously offered at Szeged for 2 years.

Kalmár's Writings on Education and Computers
Kalmár was engaged with computer science education until his death. This section summarizes the main points in his writings on the education of computer science.
In his [61] and [54] Kalmár shares the experience of computer science education in Szeged. The [61] describes the history of the program, its development from training into a major, and the challenges for the time. In [54] Kalmár provides a high level description of his fictional machines (see Appendix C for their description) and argues for their continued use. He mentions that high level languages of the time are not always efficient enough. He also describes Hungary as a "computer museum", where several old machines, installed in the early 1960s, are still running. Thus programmers have to be able to code in assembly languages as well. Most importantly however, he argues that using his fictional machines in education helps programmers develop intuitions independent of machines (and programming languages). See the section Programming Without Computers, as well as an unpublished abstract of Kalmár's in Appendix D, for a description of how it was achieved.
Kalmár voiced his opinion on computer science education on other levels than at the university. In the previous section it was already mentioned that Kalmár was in-He also argued that computer science had to become institutionally independent from math 16 ematics even on the academic level. Indeed, he believed the reason for the low number of software-related PhD dissertations was the fact that dissertation topics in computer science had to be approved by a mathematical committee at the Hungarian Academy of Sciences. For the details of his pragmatic and methodological reasons see Szabó's [60].
volved with the unified computer science education initiative in the early 1970s. Folder 'Lev-12' contains a 24-page long letter from April 10th, 1971 detailing his comments and recommendations for the initiative. The letter was sent to György Aczél, the secretary for cultural affairs of the Central Committee of the Hungarian Socialist Workers' Party, upon Aczél's request. In this letter Kalmár gives detailed recommendations for computer science education from elementary school, through high school to university, and even to postgraduate courses and trainings.
Kalmár's vision of computer science education went beyond mere computer science courses and training of programmers. Both in this letter as well as in his [62] he emphasizes that everyone needs some understanding of computers in what he called the "age of computers." According to Kalmár, everyone should be able to judge what problems in their own field of expertise could be solved efficiently by computers. Furthermore, they should have the knowledge to describe those problems with such precision that mathematicians and programmers could use that description as a starting point for their computerized solution. In order to cultivate such knowledge even for non-programmers, Kalmár not only suggested inclusion of an introductory computer science class in high school curricula, but also argued that students should be shown the possible uses of computers in every subject, not only in mathematics and computer science.
Another issue that came up in the [62] is computer aided education. There Kalmár argues for the use of computers in instruction and education, but emphasized that computers should never replace educators, only help them to provide a more personalized education. Kalmár mentions the work of Hunya Péterné Ambrus Margit on 17 the use of computers in multiple choice testing and examination. Hunya Péterné began this work, one of the few computer and machine aided education projects in Hungary, in the second half of the 1960s at the Cybernetics Laboratory led by Kalmár. 18 Although this kind of research fit well with the cybernetic trend in the Eastern Block, Kalmár's interest in this field was most likely influenced by Patrick Suppes as well.

Conclusion
The programming and computer science training at Szeged, the first degree-granting, multiple-years-long program at the university-level in Hungary, was started due to Kalmár's one-man mission. However, as there were very few computers in the country at the time, the training faced serious difficulties. Students had to learn programming without access to actual computers and, in the beginning, some of them were unable to finish their training due to lack of internships. After the initial complications, the training became a major and Szeged grew into one of the main hubs of computer science education in Hungary. Simultaneously it created a community of students, educators and scholars, many of whom became renowned members of the computer science community in Hungary.
Beyond providing a detailed description of a particular program in computer science education that started in the late 1950s, hopefully this case study will be a useful source for more overarching studies in the history of the field. First of all, the challenges the program at Szeged faced were quite typical for the Eastern Block: the shortage of computers in the country or region, and a state that, while it had strong control over higher education, failed to recognize the quickly growing need for experts in the field and acted only belatedly. Although Kalmár at Szeged might have faced extreme circumstances even for the Eastern Block by running a programming training without a computer for eight years, it would be interesting to see how other countries in the region responded to their similar challenges. It would also be worthwhile to compare the timeliness of the different Eastern Block countries' reactions to the increasing need for programmers.
Once a wider perspective is gained on the history of computer science education in the Eastern Block, several cross-country comparisons between the East and the West could be made. It was already mentioned that, in several countries in the Eastern Block, states were late in recognizing and trying to fulfill the need for programmers. For example, the first serious, centralized initiative in computer science education came as late as the early 1970s in Hungary. In stark contrast, the government provision of computers to universities began in the mid-1950s in the UK ([8]. [9]). Another factor to consider is the impact of the level of interconnectedness of research and higher education on the education of computer science. Mounier-Kuhn [10] explains the success and long-lasting impact of certain computer science departments in France by the conjunction of a computer center, computer science education and conducting research at the department (as opposed to not conducting research on sight). This explanation quite plausibly fits several further countries in Western Europe. However, in the Soviet Union "basic research was largely the confines of the Russian Academy of Sciences, forming the elite research institutions devoid of teaching responsibilities. Most universities were focused almost exclusively on teaching and had no authority to conduct research" ( [64], p. 174). Hungary adopted a mixed system, where there were several independent research institutes, but departments were allowed (and sometimes required) to conduct research. In addition there were even research groups that belonged to the Hungarian Academy of Sciences while being located at departments at universities, such as the aforementioned Mathematical Logic and its Applications Research Group led by Kalmár at the University of Szeged. It would be important to understand how different academic systems impact the development of new disciplines at universities, especially if they are strongly resource-dependent.

Appendix A: The Curricula of the First Three Classes
The following list contains the directly relevant courses for the programming and computer science training. It is based on Sántáné-Tóth's ([13], pp. [53][54][55][56][57][58]. The numbers in the tables indicate the length of the weekly lecture/recitation times 45 minutes, e.g. 2 means 90 minutes. It is interesting to recognize that, in the first couple years, Kalmár taught basically half of the courses in the training. After the list of the courses, biographical information about their instructors is provided.

Bereczki, Ilona (1927-2004):
logician, famously provided an example in her [65] and [66] for a function that is recursive but not an elementary function. She worked closely with Kalmár, partici 22 pated in education of logic and programming and preparing textbooks.

Fodor, Géza (1927-1977):
mathematician who worked in the field of set theory. A lemma about stationary sets, sometimes also called "the pressing down lemma," bears his name after his [67].

Muszka, Dániel (1930-2018):
Kalmár's research assistant and close colleague. He was a radio amateur from an early age but was not allowed to enroll as an electrical engineer for political reasons. Met with Kalmár during his studies in the `mathematics-physics high school teacher' program and became an indispensable member of his research groups, where Muszka was responsible for engineering and assembling artifacts, for example the Szeged Logical Machine (Figure 1).

Kalmár
On the education of mathematics in Hungary see Gosztonyi's [34]. 21 Elementary functions are also called Kalmár elementary functions after his [27]. 22 ! 23

Appendix B: Master's Theses of the First Three Classes
The following list contains the titles of the Master's Theses from the program from 1959, 1961 and 1963. Sadly, most of the theses were destroyed when the library where they were stored was flooded. All of these theses were written in Hungarian; I provide their titles only in translation.

Master's Thesis, 1959
Fidrich  25 Fidrich earned one of the earliest "candidate of science" degrees in computer science in Hungary. Upon returning to Hungary, she taught programming in Szeged for a year as Kalmár's assistant. She worked in various computer centers and research groups in Budapest from 1965 until her death in 1983.

Algorithms to Solve the Assignment Problem (The Hungarian Method for the M-3)
I also have to mention the first programming and computer science-related Master's Thesis in 23 Hungary. It was defended by János Szelezsán in 1958 at Eötvös University under the title, The Programming of Numerical Solutions of Differential Equations. Szelezsán was enrolled in the `applied mathematician' major and spent an internship at the Cybernetics Research Group in 1957/1958, of which he later became a member. He was one of the lecturers of the first programming training offered by the Research Group in 1958/1959, and also taught in the `plan mathematician' major at the University of Economics and offered programming related courses at Eötvös University. He is also the author of the first book on programming [69] in Hungarian from 1962. In the Soviet system of scientific degrees one has to complete an aspirantura to become a 24`c andidate of science', a PhD equivalent rank.

One address machine without index register
The general form of a machine command is "Θ a", where Θ is the symbol of the operation (always one letter) and a is the address part. For example

Machines with index registers
The machines with index registers have three versions with one, two or three addresses which leads to the following general forms of machine commands respectively where ν denotes the version (number, possibly with auxiliary symbols) and Θ is the symbol of the operation (one or two letters). The following properties hold for all three versions of machines with index registers: 1. the width of the index registers is the same as of the addresses 2. the index reference after the address is optional 3. if the index reference is missing, it means that the index register with address 0 is assigned to the address part 4. the index register with address 0 contains zero and it is forbidden to write to it This concludes Simon's description of the fictional machines.
Although a complete instruction set is still not available, we can infer that the first letter in AT stands for addition, in ST for subtraction, in MT for multiplication, and in DT for division.

Appendix D: Kalmár's Abstract on the "Application of ad hoc instruction groups in the education of 'program designers'"
Folder 291 of the Kalmár Nachlass contains an abstract from 1972 about the educational use of his fictional machines. The abstract was prepared for the IFIP Working Conference on Programming Teaching Techniques, held in Zakopane in the same year. Although the proceedings [70] lists Kalmár among the attendees on page 227, there are no abstracts in the volume. Kalmár doesn't have a paper in the volume and wasn't on the panel discussions either. I include the entire abstract below, as this is the only source in English I know of where Kalmár describes the use of his fictional machines in his own words, and it is previously unpublished. The ideas described in this abstract were already explained above in sections Programming Without Computers and Kalmár's Writings on Education and Computers. I kept the original typesetting and indentation of the abstract but added references in footnotes: A b s t r a c t of the paper by László KALMÁR /Szeged, Hungary/: Application of ad hoc instruction groups in the education of "program designers" at the József Attila University in Szeged to be presented at the IFIP Working Conference on Programming Teaching Techniques, Zakopane, 18 to 22 of September, 1972, needing 20 to 30 minutes for presentation.
We teach programming at József Attila University /Szeged, Hungary/ since 1957. Of course, since that time, both subject-matter and aim of teaching has been changed several times. Now, we give a five years education to "program designers", i.e. to specialists who will be engaged in some computing centre, besides leading a group of /one to two years course educated/ routine programmers, with software design and maintenance. In Hungarian computing centres, there is a big demand for program designers, obviously because we have more different types of computers /and less copies of each type/, partly with a poor software, than any other country at least in central Europe.
We have a whole year, two hours a week with four hours a week problem course, for teaching programming in machine code and related languages, which is, of course, very important for those who have to write compilers, operating systems, application program packages etc. Owing to the above situation in Hungary, we have to give them as a machine independent way of looking at a computer as possible. Hence, teaching to program in the machine code of some concrete computer, running actually in Hungarian or not, would be nonsense. According to our experience, instead of teaching how to program on an idealized computer, like FLAPJACK or MIX, definition of many different instruction 27 28 groups /rather than those belonging to the instruction code of a computer/ and basing machine code-like programming education on them is much more efficient. Among the instructions defined thus, there are one See Flores' [71] and [72]. 27 See Knuth's [73]. 28 ! 28 address, two address and three address instructions, the latter in the first line in order to be used as simple macros in one or two address computers. The instruction codes of the most important real computers are defined, mostly in the problem courses, in terms of the "defined instructions". either directly, or as macros. For each programming problem, we give in advance the set of the "defined instructions" which are allowed to be used. Thus, our students acquire skill in replacing instructions which are not available by those which are.