A Data-Driven Approach to Compare the Syntactic Difficulty of Programming Languages
Educators who teach programming subjects are often wondering "which programming language should I teach first?" The debate behind this question has a long history and coming up with a definite answer to this question would be farfetched. Nonetheless, several efforts can be identified in th...
Saved in:
| Published in | Journal of information systems education Vol. 34; no. 1; pp. 84 - 93 |
|---|---|
| Main Authors | , , |
| Format | Journal Article |
| Language | English |
| Published |
West Lafayette
Journal of Information Systems Education
2023
EDSIG |
| Subjects | |
| Online Access | Get full text |
| ISSN | 1055-3096 2574-3872 |
Cover
| Abstract | Educators who teach programming subjects are often wondering "which programming language should I teach first?" The debate behind this question has a long history and coming up with a definite answer to this question would be farfetched. Nonetheless, several efforts can be identified in the literature wherein pros and cons of mainstream programming languages are examined, analysed, and discussed in view of their potential to facilitate the didactics of programming concepts especially to novice programmers. In line with these efforts, we explore the latter question by comparing the syntactic difficulty of two modern, but fundamentally different, programming languages: Java and Python. To achieve this objective, we introduce a standalone and purely data-driven method which stores the code submissions and clusters the errors occurred under the aid of a custom transition probability matrix. For the evaluation of this model a total of 219,454 submissions, made by 715 first-year undergraduate students, in 259 unique programming exercises were gathered and analysed. The results indicate that Python is an easier-to-grasp programming language and is, therefore, highly recommended as the steppingnstone in introductory courses. Besides, the adoption of the described method enables educators to not only identify those students who struggle with coding (syntax-wise) but further paves the pathway for the adoption of personalised and adaptive learning practices. |
|---|---|
| AbstractList | Educators who teach programming subjects are often wondering "which programming language should I teach first?" The debate behind this question has a long history and coming up with a definite answer to this question would be farfetched. Nonetheless, several efforts can be identified in the literature wherein pros and cons of mainstream programming languages are examined, analysed, and discussed in view of their potential to facilitate the didactics of programming concepts especially to novice programmers. In line with these efforts, we explore the latter question by comparing the syntactic difficulty of two modern, but fundamentally different, programming languages: Java and Python. To achieve this objective, we introduce a standalone and purely data-driven method which stores the code submissions and clusters the errors occurred under the aid of a custom transition probability matrix. For the evaluation of this model a total of 219,454 submissions, made by 715 first-year undergraduate students, in 259 unique programming exercises were gathered and analysed. The results indicate that Python is an easier-to-grasp programming language and is, therefore, highly recommended as the steppingnstone in introductory courses. Besides, the adoption of the described method enables educators to not only identify those students who struggle with coding (syntax-wise) but further paves the pathway for the adoption of personalised and adaptive learning practices. Educators who teach programming subjects are often wondering "which programming language should I teach first?". The debate behind this question has a long history and coming up with a definite answer to this question would be farfetched. Nonetheless, several efforts can be identified in the literature wherein pros and cons of mainstream programming languages are examined, analysed, and discussed in view of their potential to facilitate the didactics of programming concepts especially to novice programmers. In line with these efforts, we explore the latter question by comparing the syntactic difficulty of two modern, but fundamentally different, programming languages: Java and Python. To achieve this objective, we introduce a standalone and purely data-driven method which stores the code submissions and clusters the errors occurred under the aid of a custom transition probability matrix. For the evaluation of this model a total of 219,454 submissions, made by 715 first-year undergraduate students, in 259 unique programming exercises were gathered and analysed. The results indicate that Python is an easier-to-grasp programming language and is, therefore, highly recommended as the steppingstone in introductory courses. Besides, the adoption of the described method enables educators to not only identify those students who struggle with coding (syntax-wise) but further paves the pathway for the adoption of personalised and adaptive learning practices. Educators who teach programming subjects are often wondering "which programming language should I teach first?". The debate behind this question has a long history and coming up with a definite answer to this question would be farfetched. Nonetheless, several efforts can be identified in the literature wherein pros and cons of mainstream programming languages are examined, analysed, and discussed in view of their potential to facilitate the didactics of programming concepts especially to novice programmers. In line with these efforts, we explore the latter question by comparing the syntactic difficulty of two modern, but fundamentally different, programming languages: Java and Python. To achieve this objective, we introduce a standalone and purely data-driven method which stores the code submissions and clusters the errors occurred under the aid of a custom transition probability matrix. For the evaluation of this model a total of 219,454 submissions, made by 715 first-year undergraduate students, in 259 unique programming exercises were gathered and analysed. The results indicate that Python is an easier-to-grasp programming language and is, therefore, highly recommended as the steppingstone in introductory courses. Besides, the adoption of the described method enables educators to not only identify those students who struggle with coding (syntax-wise) but further paves the pathway for the adoption of personalised and adaptive learning practices. Keywords: Computer programming, Computer science, Data analytics, Higher education, Information systems education, Program assessment & design |
| Audience | Higher Education Postsecondary Education Academic |
| Author | Christopoulos, Athanasios Lokkila, Erno Laakso, Mikko-Jussi |
| Author_xml | – sequence: 1 fullname: Lokkila, Erno – sequence: 2 fullname: Christopoulos, Athanasios – sequence: 3 fullname: Laakso, Mikko-Jussi |
| BackLink | http://eric.ed.gov/ERICWebPortal/detail?accno=EJ1384160$$DView record in ERIC |
| BookMark | eNptkF9LwzAUxYMouE0_ghDw1UrSpEn7WLb5j4HC9Lmk2U2XsaY1SYV9ewvzYQO5cC5cfueey52iS9c5uECTNJM8YblML9GEkixLGCnENZqGsCOEZoUQE7Qu8UJFlSy8_QGHy773ndJbHDs879peecBxC3h9cFHpaDVeWGOsHvbxgDuDP3zXeNW21jV4pVwzqAbCDboyah_g9q_P0NfT8nP-kqzen1_n5SoBmnGRQE1SyRWvMw6KaiaMUETQdJMxlm8M1UYIwhkUNOVcgua0zgvCRE0LYTQINkP3x73jzd8DhFjtusG7MbJKpeSFLER-QjVqD5V1pote6dYGXZWS5ZRyUaQj9fgPNdYGWqvHfxo7zs8MDyeGegjWQRgl2GYbQ6OGEM7xuyMO3uqq97ZV_lAt3yjLORWE_QLib4G- |
| ContentType | Journal Article |
| Copyright | COPYRIGHT 2023 Journal of Information Systems Education Copyright EDSIG Winter 2023 |
| Copyright_xml | – notice: COPYRIGHT 2023 Journal of Information Systems Education – notice: Copyright EDSIG Winter 2023 |
| DBID | 7SW BJH BNH BNI BNJ BNO ERI PET REK WWN N95 0-V 3V. 4T- 4U- 7WY 7WZ 7XB 87Z 88B 8AL 8AO 8FE 8FG 8FK 8FL 8G5 ABUWG AFKRA AHOVV ALSLI ARAPS AZQEC BENPR BEZIV BGLVJ CCPQU CJNVE CNYFK DWQXO FRNLG F~G GNUQQ GUQSH HCIFZ JQ2 K60 K6~ K7- L.- M0C M0N M0P M1O M2O MBDVC P5Z P62 PHGZM PHGZT PKEHL PQBIZ PQBZA PQEDU PQEST PQGLB PQQKQ PQUKI PRQQA Q9U S0X |
| DatabaseName | ERIC ERIC (Ovid) ERIC ERIC ERIC (Legacy Platform) ERIC( SilverPlatter ) ERIC ERIC PlusText (Legacy Platform) Education Resources Information Center (ERIC) ERIC Gale Business: Insights ProQuest Social Sciences Premium Collection【Remote access available】 ProQuest Central (Corporate) Docstoc University Readers ABI/INFORM Collection ABI/INFORM Global (PDF only) ProQuest Central (purchase pre-March 2016) ABI/INFORM Collection Education Database (Alumni Edition) Computing Database (Alumni Edition) ProQuest Pharma Collection ProQuest SciTech Collection ProQuest Technology Collection ProQuest Central (Alumni) (purchase pre-March 2016) ABI/INFORM Collection (Alumni) Research Library ProQuest Central (Alumni) ProQuest Central Education Research Index Social Science Premium Collection Advanced Technologies & Computer Science Collection ProQuest Central Essentials ProQuest Central Business Premium Collection ProQuest Technology Collection ProQuest One Community College Education Collection (ProQuest) Library & Information Science Collection ProQuest Central Business Premium Collection (Alumni) ABI/INFORM Global (Corporate) ProQuest Central Student Research Library Prep SciTech Premium Collection ProQuest Computer Science Collection ProQuest Business Collection (Alumni Edition) ProQuest Business Collection Computer Science Database ABI/INFORM Professional Advanced ABI/INFORM Global Computing Database Education Database (Proquest) Proquest Library Science Database Proquest Research Library Research Library (Corporate) ProQuest advanced technologies & aerospace journals ProQuest Advanced Technologies & Aerospace Collection ProQuest Central Premium ProQuest One Academic ProQuest One Academic Middle East (New) ProQuest One Business ProQuest One Business (Alumni) ProQuest One Education ProQuest One Academic Eastern Edition (DO NOT USE) ProQuest One Applied & Life Sciences ProQuest One Academic ProQuest One Academic UKI Edition ProQuest One Social Sciences ProQuest Central Basic SIRS Editorial |
| DatabaseTitle | ERIC ProQuest One Education ProQuest Business Collection (Alumni Edition) Research Library Prep Computer Science Database ProQuest Central Student ProQuest Advanced Technologies & Aerospace Collection ProQuest Central Essentials ProQuest Computer Science Collection SciTech Premium Collection ABI/INFORM Complete ProQuest One Applied & Life Sciences Library & Information Science Collection ProQuest Central (New) Advanced Technologies & Aerospace Collection Business Premium Collection Social Science Premium Collection ABI/INFORM Global Education Collection ProQuest One Academic Eastern Edition ProQuest Technology Collection ProQuest Business Collection ProQuest Social Sciences Premium Collection ProQuest One Academic UKI Edition Docstoc ProQuest One Academic ProQuest One Academic (New) ABI/INFORM Global (Corporate) ProQuest One Business University Readers Technology Collection ProQuest One Academic Middle East (New) SIRS Editorial ProQuest Central (Alumni Edition) ProQuest One Community College Research Library (Alumni Edition) ProQuest Pharma Collection ProQuest Central ABI/INFORM Professional Advanced ProQuest Library Science ProQuest Central Korea ProQuest Research Library ABI/INFORM Complete (Alumni Edition) ProQuest Computing ProQuest One Social Sciences ABI/INFORM Global (Alumni Edition) ProQuest Central Basic ProQuest Education Journals ProQuest Computing (Alumni Edition) ProQuest SciTech Collection Advanced Technologies & Aerospace Database ProQuest One Business (Alumni) ProQuest Education Journals (Alumni Edition) ProQuest Central (Alumni) Business Premium Collection (Alumni) |
| DatabaseTitleList | ERIC ProQuest One Education |
| Database_xml | – sequence: 1 dbid: ERI name: ERIC url: https://eric.ed.gov/ sourceTypes: Index Database – sequence: 2 dbid: 8FG name: ProQuest Technology Collection url: https://search.proquest.com/technologycollection1 sourceTypes: Aggregation Database |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Education Computer Science |
| EISSN | 2574-3872 |
| ERIC | EJ1384160 |
| EndPage | 93 |
| ExternalDocumentID | A738114692 EJ1384160 |
| GeographicLocations | United Kingdom |
| GeographicLocations_xml | – name: United Kingdom |
| GroupedDBID | -W8 .4I .GO 0-V 29K 2WC 5GY 77I 7SW 7WY 8AO 8FE 8FG 8FL 8FW 8G5 8R4 8R5 8VB 96U AAHSB AAKPC ABDBF ABUWG ACGFO ACIHN AEAQA AFAZI AFKRA AHQJS AKVCP ALMA_UNASSIGNED_HOLDINGS ALSLI ARALO ARAPS AZQEC BENPR BEZIV BGLVJ BJH BNH BNI BNJ BNO BPHCQ C1A CCPQU CJNVE CNYFK D-I DWQXO E3Z EAP EBO EBU EDJ ELW ERI ESX FRNLG GNUQQ GUQSH HCIFZ IAO ICD IEA IER INH INR ITC K1G K60 K6V K6~ K7- M0C M0P M1O M2O N95 OK1 P2P P62 PET PHGZM PHGZT PQBIZ PQBZA PQEDU PQGLB PQQKQ PRG PROAC PRQQA PV9 Q2X QF4 QM7 QN7 QWB REK RWL RXW RZL S0X TAE TAF TH9 TR2 U5U UNMZH WWN XH6 ZL0 ~8M 3V. 4T- 4U- 7XB 8AL 8FK AHOVV JQ2 L.- M0N MBDVC PKEHL PQEST PQUKI PUEGO Q9U |
| ID | FETCH-LOGICAL-e1546-eb0274a4b54ea1c36f6a0612d5338df1cf66043e912447ec41b89036b196fce63 |
| IEDL.DBID | BENPR |
| ISSN | 1055-3096 |
| IngestDate | Thu Aug 28 08:29:29 EDT 2025 Mon Oct 20 22:26:03 EDT 2025 Mon Oct 20 16:17:10 EDT 2025 Fri May 23 02:29:05 EDT 2025 Fri Oct 03 12:20:40 EDT 2025 |
| IsOpenAccess | false |
| IsPeerReviewed | true |
| IsScholarly | true |
| Issue | 1 |
| Language | English |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-e1546-eb0274a4b54ea1c36f6a0612d5338df1cf66043e912447ec41b89036b196fce63 |
| Notes | ObjectType-Article-1 SourceType-Scholarly Journals-1 ObjectType-Feature-2 content type line 14 |
| PQID | 2774979686 |
| PQPubID | 25848 |
| PageCount | 12 |
| ParticipantIDs | proquest_journals_2774979686 gale_infotracmisc_A738114692 gale_infotracacademiconefile_A738114692 gale_businessinsightsgauss_A738114692 eric_primary_EJ1384160 |
| PublicationCentury | 2000 |
| PublicationDate | 2023-00-00 20230101 |
| PublicationDateYYYYMMDD | 2023-01-01 |
| PublicationDate_xml | – year: 2023 text: 2023-00-00 |
| PublicationDecade | 2020 |
| PublicationPlace | West Lafayette |
| PublicationPlace_xml | – name: West Lafayette |
| PublicationTitle | Journal of information systems education |
| PublicationYear | 2023 |
| Publisher | Journal of Information Systems Education EDSIG |
| Publisher_xml | – name: Journal of Information Systems Education – name: EDSIG |
| SSID | ssj0015966 |
| Score | 2.2227337 |
| Snippet | Educators who teach programming subjects are often wondering "which programming language should I teach first?" The debate behind this question has a long... Educators who teach programming subjects are often wondering "which programming language should I teach first?". The debate behind this question has a long... |
| SourceID | proquest gale eric |
| SourceType | Aggregation Database Index Database |
| StartPage | 84 |
| SubjectTerms | Adaptive learning Artificial intelligence Coding Comparative Analysis Computer programming Computer science Computer Science Education Difficulty Level Error Patterns Higher education Individualized Instruction Information Science Education Information systems Introductory Courses Java Learning Analytics Learning Management Systems Object oriented programming Pedagogy Popularity Probability Programming Languages Python Questions Students Syntax Teachers Teaching Textbooks Transition probabilities Trends Undergraduate Students Undergraduate study |
| Title | A Data-Driven Approach to Compare the Syntactic Difficulty of Programming Languages |
| URI | http://eric.ed.gov/ERICWebPortal/detail?accno=EJ1384160 https://www.proquest.com/docview/2774979686 |
| Volume | 34 |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVEBS databaseName: Academic Search Ultimate (EBSCOhost) customDbUrl: https://search.ebscohost.com/login.aspx?authtype=ip,shib&custid=s3936755&profile=ehost&defaultdb=asn eissn: 2574-3872 dateEnd: 99991231 omitProxy: true ssIdentifier: ssj0015966 issn: 1055-3096 databaseCode: ABDBF dateStart: 20040301 isFulltext: true titleUrlDefault: https://search.ebscohost.com/direct.asp?db=asn providerName: EBSCOhost – providerCode: PRVPQU databaseName: ProQuest Central customDbUrl: http://www.proquest.com/pqcentral?accountid=15518 eissn: 2574-3872 dateEnd: 99991231 omitProxy: true ssIdentifier: ssj0015966 issn: 1055-3096 databaseCode: BENPR dateStart: 20020101 isFulltext: true titleUrlDefault: https://www.proquest.com/central providerName: ProQuest – providerCode: PRVPQU databaseName: Proquest Library Science Database customDbUrl: eissn: 2574-3872 dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0015966 issn: 1055-3096 databaseCode: M1O dateStart: 20020101 isFulltext: true titleUrlDefault: https://search.proquest.com/libraryscience providerName: ProQuest – providerCode: PRVPQU databaseName: ProQuest Technology Collection customDbUrl: eissn: 2574-3872 dateEnd: 99991231 omitProxy: true ssIdentifier: ssj0015966 issn: 1055-3096 databaseCode: 8FG dateStart: 20020101 isFulltext: true titleUrlDefault: https://search.proquest.com/technologycollection1 providerName: ProQuest |
| link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwfV1NT9wwEB3BcumlfLSoy8fKh1Y9WU1ix44PCC3sbhEqW1SKxC1yHJsTu7AJB_49HscpWgn14ostRXI8M88z4_cAviaaKa6koyZnOeV5VlPt4yp1mjOtaul0EJu4mouLW355l99twLx_C4Ntlb1PDI66XhrMkf_IPE5RUolCnD4-UVSNwupqL6Gho7RCfRIoxjZhK0NmrAFsnU3n13_-1RVyFaqXqApJWRKY-rsu5_f9cQgysx34GNEhGXe_cxc27GIPtnvlBRINcQ-1lmNfxie4GZOJbjWdrNBxkXEkCSftkpx3DebEgzxy87Jow4MoMsE0DTJuvJClI9ddg9aDD2HkV0xeNp_hdjb9e35Bo1QCtR4DCWorvF5qXuXc6tQw4YRG8FJ7NFfULjVOiIQzqzCcS2t4WhXKB6_KG6AzVrB9GCyWC_sFiDLc1FIm1gM5ropMW3-jkdI5pUWeSjaEfdyy8rFjwyinlynD2mUyhG-4iWVUz_RDg_mF5l4_N005lh4beLessiF8D-vQgtqVNjo-BPCfRy6qtZVHayv9yTfr0_3vKqPlNeXbOTn4__QhfEDp-C6dcgSDdvVsjz3AaKsRbBazn6N4dkbhSu3Hq_T3KzU80k8 |
| linkProvider | ProQuest |
| linkToHtml | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV3Nb9MwFH8a3QEufAwmOgb4wMTJIo0duz5MqKyduq2rJrZJuwXHsTnRbk0m1H-Ov433EgdUCXHbJRdbSWQ_v_fz-_oBfEisMNLowF0mMi6ztOQW7SoPVgprSh1sQzZxPlfTa3l6k91swa-uFobSKjud2CjqcunIR_4pRZxitFFD9fn2jhNrFEVXOwoNG6kVysOmxVgs7Djz6594hasOT8a43wdpejy5OpryyDLAPcIHxX1BNzMri0x6O3BCBWXJ7pcIhIZlGLigVCKFN2QJtXdyUAwN6v0CZTc4rwS-9xFsS4G_14PtL5P5xdc_cYzMNNFSYqHkImmYAdqs6n_r_8aoHT-HpxGNslErPi9gyy924FnH9MDiwd8hbueYB_ISLkdsbGvLxytSlGwUm5KzesmO2oR2hqCSXa4XdVOAxcbkFqIOH2u2DOyiTQj7gSaTzaKztHoF1w-yaLvQWywX_jUw46QrtU48Akdphqn1eIPSOgRjVTbQog-7tGT5bdt9I5-cDgTFSpM-HNAi5pGtEx8V-TOq7_a-qvKRRiyCZsCkffjYzKMTW6-ss7HwAD9Pva82Zu5vzMST5jaHu-3K40mv8r9yuff_4ffweHp1PstnJ_OzN_CEaOtbV84-9OrVvX-L4KYu3kUJYvDtoYX2N4Y6CvU |
| linkToPdf | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMw1V1Nb9QwEB2VIiEuFAoVCy34QMXJbT4ce31A1arpql-USqVSb8FxbA6I3bLJCi0_jb_SP9OZxAEtQtx64JKLrURJxm-eZ8bzAN5EJtVCK89tlmZcZEnFDfpV7o1Ija6UN63YxPszeXgpjq-yqxX42Z-FobLKHhNboK6mlmLkuwnyFK20HMpdH8oizvPx3vU3TgpSlGnt5TQ6Ezlxi--4favfHeX4r7eTZHzwcf-QB4UB7pA6SO5K2pUZUWbCmdim0ktDPr9CEjSsfGy9lJFInSYvqJwVcTnUiPkl2q23TqZ433twX9E2gsoG4w-_MhiZbvOkpD_J06jVBOjqqf-O_K07G6_BTf8huiqWLzvzptyxP_7oEfl_fqnH8CiwbDbqlsUTWHGTdVjrFSxYALR10qwO9S1P4WLEctMYns_IAbBRaLbOminb7wr1GZJldrGYNO3BMpZTuIs6lyzY1LPzrtDtK1IBdhqCwPUzuLyT19yA1cl04p4D01bYSqnIISEWepgYhztDpbzXRmaxSgewQQZRXHddRYqD4zilHHA0gG0ykSKokOKlpjhN_dnM67oYKeRY6N50MoC37TxComZmrAkHKvDx1NNraebm0kxEELs83BtSERCsLn5b0Yt_D7-GB2hexenR2clLeJggB-wiVJuw2szmbgs5W1O-ahcHg093bWO3jm1Paw |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=A+Data-Driven+Approach+to+Compare+the+Syntactic+Difficulty+of+Programming+Languages&rft.jtitle=Journal+of+information+systems+education&rft.au=Lokkila%2C+Erno&rft.au=Christopoulos%2C+Athanasios&rft.au=Laakso%2C+Mikko-Jussi&rft.date=2023&rft.pub=Journal+of+Information+Systems+Education&rft.issn=1055-3096&rft.volume=34&rft.issue=1&rft.spage=84&rft.externalDocID=EJ1384160 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1055-3096&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1055-3096&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1055-3096&client=summon |