0% found this document useful (0 votes)
18 views

Programming languages

This paper examines the trends in programming languages used in introductory computer science courses (CS1 and CS2) based on a survey of educational institutions. The findings indicate that Java and Python are currently the most popular languages for CS1, while Java remains the dominant choice for CS2 courses, with a growing adoption of Python. The study also highlights the historical context of language selection and the evolving preferences among educators over the past few decades.

Uploaded by

hannagame38
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

Programming languages

This paper examines the trends in programming languages used in introductory computer science courses (CS1 and CS2) based on a survey of educational institutions. The findings indicate that Java and Python are currently the most popular languages for CS1, while Java remains the dominant choice for CS2 courses, with a growing adoption of Python. The study also highlights the historical context of language selection and the evolving preferences among educators over the past few decades.

Uploaded by

hannagame38
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Trends Of Commonly Used Programming Languages

in CS1 And CS2 Learning


1st Robert M. Siegfried 2nd Katherine G. Herbert-Berger
Department of Mathematics and Computer Science Department of Computer Science
Adelphi University Montclair State University
Garden City, NY, USA Montclair, NJ, USA
[email protected] [email protected]

3rd Kees Leune 4th Jason P. Siegfried


Department of Mathematics and Computer Science Department of Mathematics and Computer Science
Adelphi University Adelphi University
Garden City, NY, USA Garden City, NY, USA
[email protected] [email protected]

Abstract—Computer science educators have tried to identify turn it into a program that works correctly and is easy
the best language for their first-year college students to use to understand and modify, we cannot ignore the role that
when learning how to program. Consequently, selecting a our choice of programming languages plays.
computer programming language for use in an introductory
programming course has been a hot-button topic within com- Many programming languages have been used in CS1
puting education communities. This paper builds on the work courses; several of them became popular, yet were eventu-
started by Richard Reid in the early 1990s, which surveys ally replaced by other languages. FORTRAN was a choice
institutions providing post-secondary education. It provides to be used as an introductory language, but the difficulties
educators with up-to-date information about common choices that students had with industry-standard compilers led to
for computer programming languages used in first computer
programming courses. This year’s survey results indicate clearly the development of WATFOR by Shantz et al. [2]. The
that, at the moment, Java and Python are the most commonly advent of structured programming led to the use of PL/I as
used languages. A new element in the survey is that we have an instructional language; Holt considered the use of PL/I
now started collecting data regarding the second programming a terrible way of teaching introductory programming [3].
course (CS2). Our findings show that 88% of all surveyed Despite the development of the PL/C compiler by
schools only use one of four languages (Java, Python, C++,
and C), with the adoption of Python growing steadily at Conway and Wilcox [4], PL/I died out because of the
the expense of the other languages. Java continues to be the difficulties students had in mastering it, and its compilers
most popular choice for CS2 courses, followed by C++ after a were too complex to run on the early generations of
significant gap. However, we are finding potential trends where personal computers.
institutions that start in Java or C++ tend to stay with their Niklaus Wirth derived the Pascal programming lan-
choice, while schools starting with other languages are likely
to transition their students over to a second programming guage from Algol and it was intended for use in teaching
language in CS2. good programming habits. However, it had shortcomings
of its own. Kernighan described Pascal as “meant for
I. Introduction learning”, but unsuitable for serious programming [5],
During the last four decades, many languages have an assessment with which Haberman concurred [6]. In
been used for teaching introductory programming. The 1996, Brilliant and Wiseman described Pascal as dated,
language choice is usually made locally, based on factors an assessment with which many educators agreed [7].
such as faculty preference, industry relevance, technical The question that computer science educators have
aspects of the language, and the availability of useful tried to answer since the early 1990s, is whether there
tools and materials. The process has become increasingly exists an ideal language to use when teaching college
cumbersome as the number of languages has grown [1]. freshmen how to program. Johnson considered C too
CS1 remains a subject of great interest in the same way complex a language for beginning programmers [8]. Many
it has been for over half a century. We usually consider it college programs switched to using C++ in their intro-
to be one of the foundations of an education in computer ductory programming course. The College Board decided
science. Since it is usually where students begin the study to embrace C++ for the Advanced Placement Computer
of the discipline, CS1 courses are critically important. Science exams in 1994 [9]. The Advanced Placement exam
While we concern ourselves with different approaches to subsequently switched to Java in 2003 [10], and so did
teaching beginners on how to develop an algorithm, and many introductory programming courses. Java was widely
considered an easier language to learn than C++ [11], [12]. TABLE I
While the TeachRacket (originally called TeachScheme) Regional distribution of Reid List Schools (2019)
approach has been around for a decade [13], it is only used
Region Schools (n = 402)
in a relatively small number of colleges. More recently,
Python has become popular. Mason and Cooper found New England 39
Mid Atlantic (incl. DC) 83
that it has become widely used in programming courses Southeast 94
in Australia and New Zealand by programs that choose Kentucky and West Virginia 8
not to focus on object-oriented programming in the first Midwest 95
Southwest 40
course [14]. Northwest 23
The choice of a programming language to be used in an Alaska and Hawaii 2
introductory programming course has been a “hot button” Non-US 18
topic within the computer science and information systems
communities. While the AP Computer Science curriculum TABLE II
continues to be based on Java, there are many programs Breakdown by Highest Degree Offered in Computing
that are questioning whether this is the language that they
Highest Degree Awarded in Computing 2011 2019
ought to be using. Some schools never used Java in their
CS1 courses, while others have either made a change or Associate’s 9 9
Bachelor’s 128 117
are contemplating it. Master’s 109 104
This paper builds on the work started by Richard Reid Doctoral 157 166
in the early 1990s, which surveys institutions providing
post-secondary education and attempts to determine what
computer programming languages are in use for their first The last list compiled by Reid included 527 colleges
computer programming course. This year’s survey results and universities, of which 352 were located in the United
indicate clearly that Java and Python are currently the States, and 25 were located in Canada. With Van Scoy
most common languages of choice for teaching CS1. A taking over the list, the number of colleges and universities
new element in the survey is that we have now started outside the US fell to 11, with only 3 from Canada. The
collecting data regarding the second programming course schools appearing on lists compiled in 2011, 2015, and
(CS2). 2019 were based on the 24th Reid List, which Van Scoy
Specifically, we asked the following questions: What is released in 2004.
the most common programming language of choice in The current Reid List (compiled in 2019) includes 402
post-secondary CS1 courses? What is the most common colleges and universities. The geographic distribution of
programming language of choice in post-secondary CS2 the Reid List schools over the past two decades is shown
courses? And, finally: Is there a relationship between the in Table I, with 384 of the colleges representing the District
languages used for CS1 courses and CS2 courses taught of Columbia and 49 states.
in post-secondary programs of study? If so, what is the Wyoming is the only state without representation de-
relationship? spite several attempts to obtain data from schools in the
In this paper, we begin to answer these questions. state.
Section II gives a brief overview of the history of the Reid While there is a reasonable geographic balance, the mid-
List and its methodologies. SectionIII further delves into Atlantic and southwestern states are overrepresented by
related literature. Section IV summarizes our research and the relatively large number of schools in New York, Cali-
previous work in the area. Section V discusses our current fornia and Pennsylvania that are on the List. Additionally,
active research and findings, and provides answers to our the New England states as a whole are significantly over-
research questions. Section VI addresses our conclusions represented in comparison to its college-age population,
and future work. partially due to the presence of several Ivy League colleges
and MIT.
II. The Reid List Table II shows the breakdown by the highest degree
Richard Reid was a Professor of Computer Science program offered in computing for the surveys in 2011 and
at Michigan State University and he began tracking the 2019. There is an almost even distribution between under-
languages used to teach introductory programming to CS graduate, master’s- and doctorate-granting departments
majors in the early 1990s. The Reid List was updated in 2001; however, only nine of the programs were in com-
when 10% or more of the included colleges changed the munity colleges, which are significantly underrepresented
programming language of instruction [15]. This resulted in in the sample. There was one vocational/technical school
a new list being released approximately twice a year until on the list. It was removed because the school no longer
Reid retired in 1999. Frances Van Scoy, an Associate Pro- offered a computing program. Five other schools are also
fessor of Computer Science at West Virginia University, no longer included for the same reason. Three colleges
updated the list from 2001 until 2006 [16]]. have been removed after they closed.
III. Literature Review of publications related to CS1 education discussed using
Java, and 39.1% discussed the use of Python. For CS2
The earliest peer-reviewed and published survey of education, they found that 34.8% of publications were
programming language choice was by Levy in 1996 [17], Java-centric.
who noted that there were 151 schools on the 11th Reid
List from 1994 and that of the remaining schools, C and IV. Methodology
Ada were the most common language. Updates to the Reid List were compiled in 2011, 2015,
Levy also noted the lack of consensus on what language, and 2019, with a few of the programs listed being updated
if any, was the best language for teaching beginners how in July 2020. The colleges and universities included in
to program. the 2011 survey for the twenty-sixth Reid List were taken
Several studies were conducted in Australia and New from the twenty-fourth Reid List, published online in 2004;
Zealand in 2001 [18], 2003 [19], 2010 [20] , 2013 [14], many of these did not appear on the twenty-fifth list from
and 2016 [21]. They ranked the popularity of program- 2006, which only listed 153 schools.
ming languages used in introductory programming courses The methodology used to collect the data used to
weighted by student enrollment. The studies show that compile the list has not changed significantly, despite the
in 2001, the most popular languages were Java, Visual work having been performed by different authors.
Basic, and C++; over the next fifteen years, this changed The authors recognize that there are challenges in
significantly and in 2016 the most popular programming using the existing Reid list as a basis for data collec-
languages were Python, Java, and C. tion. Specifically, the list is US-centric and it under-
Similarly, in 2001, the most common criteria for choos- represents community colleges. Furthermore, the scope of
ing a language for CS1 was its industry relevance and the study specifically excludes programming courses that
marketability, which was twice as common as pedagogic are taught as part of an interdisciplinary curriculum. As
benefits (39 universities to 19). In 2016, pedagogic benefits such, the results found in this study are self-contained.
were slightly more common than industry relevance (81% However, given the historic availability of the Reid list
compared to 78%). data, understanding the evolution of language adoption
There have been three other surveys looking at the can help researchers understand the meta-issues that
popularity of programming languages at European univer- impact language adoption and facilitate consideration in a
sities. Murphy et al. surveyed universities in the United longitudinal study. By studying a large number of schools
Kingdom in 2016 [22] and found that the most commonly over a long period of time, we can then further identify
used language was Java, followed by the C family of patterns that may be helpful for future trends.
languages (C, C++ and C#) with Python a distance third. Figure 1 illustrates the process followed to locate data
The most common reason for the choice was industry for each school. The methodology was designed to obtain
relevance effectively tied with object-orientation and avail- objective data points in a repeatable way while minimizing
ability/cost, and only after these was pedagogic benefits the inconvenience to individual faculty members.
a consideration. Becker [23] found similar results, where Using previous lists as a starting point, step 1 (Identify
49% of courses used Java, 28% used Python and 18% Program) identified what program (if any) would be
used JavaScript. Industry relevance, availability/cost and evaluated for the current revision.
pedagogic benefit were the most common reasons in that The school’s public web sites were reviewed to determine
order. Avouris [24] compiled data from 121 courses at 44 whether the school offered both Bachelor of Arts (BA) and
higher education institutions in Greece, and found that Bachelor of Science (BS) programs. If so, the requirements
73% of these courses used C and 9% used Python. for the BS were used. If the highest degree offered was an
Davies et al. surveyed 371 computer science programs Associate’s degree, as is common at community colleges,
in 2010 to determine the programming languages used the requirements for the Associate’s degree in Computer
in CS0, CS1 and CS2 courses [25]. They found that 179 Science were examined. Schools offered both Computer
programs used Java in their CS1 course, 107 used C++, Science and Information systems programs, Computer Sci-
48 used Python and 27 used C. In their CS2 courses, 207 ence was preferred over Information Systems. Computer
used Java, 134 used C++, 18 used C and 12 used Python. Engineering, Information Technology, and Data Science
While 75% used the object-oriented paradigm in CS1, 92% or similarly named programs were not included in this
used objects in their CS2 courses. Nevins surveyed the review. If no match was found, the school was removed
computer science programs in the California Community from the list, and no data was collected.
college system and found that 82% used a single language, The second stage in data collection was to review
with 48% using C++ and 31% using Java [26]. degree requirements for the selected programs. As before,
In a 2019 publication, Silva et. al [27] investigated the websites containing programs of study were analyzed, and
use of programming languages in CS1 and CS2 education the requirements for a degree program in Computing were
by comparing academic publications mentioning specific examined to determine the first required programming
programming languages. Their findings were that 41.3% course. If program requirements could be found with
Fig. 1. Reid List Data Collection Methodology

certainty and confidence, it was included in this year’s TABLE III


revision. In all other cases, it was omitted from data The 28th Reid List of CS1 Languages (2019)
collection. Course descriptions were examined to see if
Language Number of schools (n = 409)
explicit references to the programming language of in-
struction were included. If so, the course description was Java 163
Python 111
deemed authoritative, and the data was recorded. C++ 83
However, as expected, most programs did not specify C 17
Racket/Scheme 6
the language used in their CS1 and/or CS2 courses. Our JavaScript 2
next step was to determine if a current syllabus for the Scala 2
course was available online. Only the syllabus for the cur- C# 1
Haskell 1
rent academic year was accepted. Only if a current syllabus Visual Basic 1
was identified and contained specific references to the Logic 1
programming languages used for the course, we included 2 Languages 5
Choice of Language 16
the data point. If multiple current syllabi were located,
they were cross-referenced for consistency. In this, we
follow the same approach as Becker and Fitzpatrick [28].
Emails to faculty members became standard procedure
If a current syllabus could not be obtained, or if no
in the 2015 and 2019 updates because they frequently
language reference could be found in one, the web site
provided insightful anecdotal information.
of the bookstore that is affiliated with the school’s web
site was checked for a textbook adoption; in some cases, V. Results
the bookstore was contacted in an attempt to get this The 28th Reid List (2019) appears in Table III. It
information. immediately illustrates that Java remains the predominant
As before, only textbook listings for the current term language for CS1 courses taught at Reid List schools, with
were considered, and results were only accepted if the Python and C++ in second and third place respectively.
choice of textbook(s) clearly identified a specific program- C and Scheme/Racket (the Teach Racket group’s dialect
ming language. of Scheme) follow them distantly. JavaScript, Scala, C#,
Lastly, if these steps did not yield results, then depart- Haskell, SNAP and Visual Basic are each used in only one
ment members were contacted to obtain this information. or two schools. Lastly, there was one program that did
TABLE IV TABLE V
A comparison of programming language usage in CS1 courses in The Popularity of Programming Language in CS2
the 3 most recent surveys
Language Number of schools (n = 353)
Language 2011 2015 2019
Java 196
C 18 21 17 C++ 90
C++ 85 76 69 Python 22
Java 193 179 159 C 15
Python 41 75 107 C# 4
Racket/Scheme 11 9 5 Scala 3
Other Languages 16 11 11 Alice 1
2 or More Languages 12 8 4 Haskell 1
Choice of 2 or more 8 8 15 2 or more Languages 11
Choice of 2 or more Language 10

not use a programming language but taught the concepts TABLE VI


of programming using pseudocode and the programming Combinations of languages used in the CS1–CS2 sequence
(n = 312)
constructs using basic logic.
Five schools used two languages in the same courses, CS1 CS2 Amount
such as Python with C++ or Java. These schools are in
C C++ 7
addition to schools covering C and C++ in the same in- C 4
troductory course; these four schools are counted together Java 5
with the courses taught in C++, since it is reasonable to C++ C++ 51
assume that mastery of C++ was the main learning goal Java 5
for the course, with mastery of C being an additional Java Java 122
C++ 11
positive outcome. C 4
Sixteen schools had different course sections or most C# 2
commonly, different introductory courses in different lan- Python 1
guages. In the latter case, these different CS1 courses had Python Java 54
Python 18
different themes or were intended for different audiences. C++ 13
It was not unusual for there to be as many as four different C 1
courses serving as a first programming course for computer C# 1
Haskell 1
science majors.
Table IV shows the changes in language popularity
between the 26th (2011), the 27th (2015), and the 28th their CS2 courses and another ten offered multiple courses
(2019) Reid Lists. The only schools included in this or sections using different languages.
analysis were those for which there was data for all The languages used by the various colleges in the CS1-
three lists. The most obvious changes are in the loss in CS2 sequence is shown in Table VI. The most commonly
popularity of Java and the gain by Python. C++ also observed sequence consists of schools starting with Java
became less popular as a CS1-language, although far less for CS1 and continuing its use in CS2.
so than Java. The increased popularity of Python seems Schools starting with Python for CS1 and who switch
to be almost fully at the expense of Java and C++. The to Java to teach CS2 follow in second place. Schools that
other languages were each used at three or fewer colleges opt to adopt C++ for CS1 instruction commonly continue
and are not listed separately. to use it for CS2. These three combinations account for
Schools employing more than one language for CS1 73% of schools included in our data set.
instruction have remained relatively rare, with the use Similarly, most of the schools using Python in their
of multiple languages in more courses decreasing and the CS1 course used Java or C++ for CS2, with nearly all
number using different languages in different courses or remaining schools continuing with Python into CS2. The
sections increasing. schools using C in CS1 split almost evenly between C++
The languages used by Reid List colleges in their CS2 and Java, with the remainder continuing in C.
courses appear in Table V. Java is the most popular by
a sizable margin with 196 schools using it to teach CS2 VI. Conclusions
courses (55.5%). In this paper, we continued the work initiated by
C++ was used by 90 schools to teach CS2, followed Richard Reid in the early 1990s. Reid’s lists, later con-
by Python and C, which are used in 22 and 15 schools tinued by Van Scoy and then by Siegfried et. al. provides
respectively. C#, Scala, Alice, and Haskell accounted for a longitudinal overview of the programming language of
the languages which collectively were used in nine Reid choice for CS1 classes taught at post-secondary institu-
List schools. Eleven schools used multiple languages in tions. This edition shows clearly that the adoption of
Python continues and predominantly takes place at the [5] B. W. Kernighan, “Why Pascal Is Not My Favorite Program-
expense of Java and C++. ming Language,” AT&T Bell Laboratories, Computing Science
Technical Report 100, April 1981.
Based on our survey, we can now answer our first ques- [6] A. N. Haberman, “Critical Comments on the Programming
tion: What is the most common programming language Language Pascal,” Acta Informatica, vol. 3, pp. 47–57, 1973.
of choice in post-secondary CS1 courses? The answer is [7] S. S. Brilliant and T. Wiseman, “The first programming
paradigm and language dilemma,” ACM SIGCSE Bulletin,
that 88% of the Reid List schools use one of only four vol. 28, no. 1, pp. 338–342, 1996.
languages: Java, Python, C++, C in their CS1 courses. [8] L. F. Johnson, “C In The First Course Considered Harmful,”
In this edition of the survey, we extended our data Communications of the ACM, vol. 38, no. 5, pp. 99–101, May
1995.
collection efforts by also capturing the language-of-choice [9] R. Cartwight, R. Kick, C. Horstmann, F. Trees, G. Chapman,
for the second programming language course. In this D. Gries, H. Walkers, U. Wolz, and O. Astrachan, “Recommen-
case, the field is much narrower than in CS1: Java is dations for changes in advanced placement computer science
(panel session),” in Proceedings of the thirty-first SIGCSE
the predominant language for CS2 courses. This finding technical symposium on Computer science education (SIGCSE
provides an answer to our second question: What is the ’00). ACM, 2000, p. 416.
most common programming language of choice in post- [10] C. L. Fletcher and J. B. Owen, “WeTeach_CS Support for AP
Computer Science; “A”, Test and CS Principles,” in Proceedings
secondary CS2 courses? Java’s dominance is indisputable of the 2018 Texas Computer Education Association (TCEA
in CS2 courses. C++ takes second place, having been 2018), February 2018.
adopted by approximately 22% of programs. [11] S. Hadjerroult, “Java As First Programming Language: A
Critical Evaluation,” ACM SIGCSE Bulletin, vol. 30, no. 2,
Our third question was: Is there a relationship between pp. 43–47, June 1998.
the languages used for CS1 courses and CS2 courses taught [12] M. Madden and D. Chambers, “Evaluation of Student Attitudes
in post-secondary programs of study? If so, what is the to Learning the Java Language,” in Proceedings of the Confer-
ence on the Principles and Practice of Programming in Java,
relationship? June 2002, pp. 125–130.
We found that 195 schools (54%) chose the same [13] M. Felleisen, R. B. Findler, M. Flatt, and S. Krishnamurthi,
programming language for CS1 and CS2. However, that “The TeachScheme! Project: Computing and Programming for
Every Student.” Computer Science Education, vol. 14, no. 1,
also means that 46% of the colleges prefer a different pp. 55–57, 2004.
language for the two courses. Of this group, the most [14] R. Mason and G. Cooper, “Introductory Programming Courses
common switch is from Python in CS1 to Java in CS2. in Australia and New Zealand in 2013 - trends and reasons,”
in Proceedings of the Sixteenth Australasian Computing Edu-
Almost all schools indicated that they introduce additional cation Conference (ACE2014), 2014, pp. 139–147.
languages later in their curricula. [15] R. J. Reid, “First Course Language for Computer Science
Future work for this research includes further exploring Majors,” West Virginia University, Tech. Rep., 2011. [Online].
Available: http://www.csee.wvu.edu/~vanscoy/REID06.html
this data set to better understand the observed trends [16] F. V. Scoy, “Reid List 25,” West Virginia University, Tech.
and differences. Additionally, we plan to look at including Rep., 2011. [Online]. Available: {http://groups.google.com/
further, publicly available data to help understand the group/comp.edu/browse_thread/thread/4f00b5f437ce261a/
3267514419052033?q=Reid+List#3267514419052033}
student’s experience in programming languages in their [17] S. P. Levy, “Computer Language Usage in CS1: Survey
first two years of computing study. Results,” 3C ON-LINE, vol. 3, no. 1, pp. 13–17, Jan. 1996.
[Online]. Available: https://doi.org/10.1145/218806.218812
ACKNOWLEDGEMENTS [18] M. de Raadt, R. Watson, and M. Toleman, “Language trends
in introductory programming courses,” in Informing Science +
This work has been through an IRB process and was Information Technology Education Joint Conference (InSITE
found exempt. A data repository has been created with 2002), June 2002.
[19] ——, “Introductory programming: what’s happening today and
first person interviews either conducted via phone or email will there be any students to teach tomorrow?” in Proceedings
of representatives from the participating universities for of the 6th Australasian Computing Education Conference (ACE
reproducibility purposes. 2004), February 2004, pp. 18–24.
[20] R. Mason, G. Cooper, and M. de Raadt, “Trends in Introductory
References Programming Courses in Australian Universities – Languages,
Environments and Pedagogy,” in Proceedings of the Fourteenth
[1] A. Pears, S. Seidman, L. M. L. Mannila, E. Adams, Australasian Computing Education Conference (ACE2012),
J. Bennedsen, M. Devlin, and J. Paterson, “A Survey of January 2012, pp. 33–42.
Literature on the Teaching of Introductory Programming,” [21] R. Mason and Simon, “Introductory programming courses
in Working Group Reports on ITiCSE on Innovation and in australasia in 2016,” in Proceedings of the Nineteenth
Technology in Computer Science Education, ser. ITiCSE-WGR Australasian Computing Education Conference. ACM, 2017,
’07. New York, NY, USA: ACM, 2007, p. 204–223. [Online]. p. 81–89. [Online]. Available: https://doi.org/10.1145/3013499.
Available: https://doi.org/10.1145/1345443.1345441 3013512
[2] P. W. Shantz, R. A. German, J. G. Mitchell, R. S. K. Shirley, and [22] E. Murphy, T. Crick, and J. H. Davenport, “An Analysis of
C. R. Zernike, “WATFOR – The University of Waterloo FOR- Introductory Programming Courses at UK Universities,” The
TRAN IV Compiler,” Communications of the ACM, vol. 10, Art, Science, and Engineering of Programming, vol. 1, no. 2,
no. 1, January 1967. 2017.
[3] R. C. Holt, “Teaching the Fatal Disease or Introductory Com- [23] B. A. Becker, “A Survey of Introductory Programming Courses
puter Programming Using PL/I,” ACM SIGPLAN Notices, in Ireland,” in Proceedings of the 2019 ACM Conference on
vol. 8, no. 5, pp. 8–23, May 1973. Innovation and Technology in Computer Science Education
[4] R. W. Conway and T. R. Wilcox, “Design and Implementation (ITiCSE ’19), July 2019, pp. 58–64.
of a Diagnostic Compiler for PL/I,” Communications of the [24] N. Avouris, “Introduction to computing: a survey of courses in
ACM, vol. 16, no. 3, pp. 169–179, March 1973. Greek higher education institutions,” in Proceedings of the 22nd
Pan-Hellenic Conference on Informatics (PCI ’18. ACM, 2018,
pp. 64–69.
[25] S. Davies, J. A. Polack-Wahl, and K. Anewalt, “A snapshot of
current practices in teaching the introductory programming se-
quence,” in Proceedings of the 42nd ACM technical symposium
on Computer science education (SIGCSE ’11), March 2011, pp.
625–630.
[26] D. Nevins, “CS 1 language adoption at California Community
Colleges: 2012,” ACM Inroads, vol. 4, no. 1, pp. 34–37, March
2013.
[27] D. B. Silva, R. d. L. Aguiar, D. S. Dvconlo, and C. N.
Silla, “Recent studies about teaching algorithms (cs1) and data
structures (cs2) for computer science students,” in 2019 IEEE
Frontiers in Education Conference (FIE), 2019, pp. 1–8.
[28] B. A. Becker and T. Fitzpatrick, “What do cs1 syllabi
reveal about our expectations of introductory programming
students?” in Proceedings of the 50th ACM Technical
Symposium on Computer Science Education, ser. SIGCSE ’19.
New York, NY, USA: ACM, 2019, p. 1011–1017. [Online].
Available: https://doi.org/10.1145/3287324.3287485

You might also like