Which Programming Language Should Students Learn First? A Comparison of Java and Python
Programming is a fundamental ability for Computer Science majors. Most programming lectures use traditional languages, such as C, C++, or Java, as the first learning language for novices, which are effective for designing real applications and therefore are popular in industry. However, the complex...
Gespeichert in:
| Veröffentlicht in: | 2015 International Conference on Learning and Teaching in Computing and Engineering S. 225 - 226 |
|---|---|
| Hauptverfasser: | , , |
| Format: | Tagungsbericht |
| Sprache: | Englisch |
| Veröffentlicht: |
IEEE
01.04.2015
|
| Schlagworte: | |
| Online-Zugang: | Volltext |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| Abstract | Programming is a fundamental ability for Computer Science majors. Most programming lectures use traditional languages, such as C, C++, or Java, as the first learning language for novices, which are effective for designing real applications and therefore are popular in industry. However, the complex syntax of these languages is challenging for novices, which becomes an obstacle to novices' learning. Python has simpler syntax and high-level data structures to enable succinct programs. The multiple paradigms of Python also provide learners opportunities to learn various features of programming languages. Therefore, Python gradually becomes a new option of the first language for learning. This study investigates the features of the first learning programming language by comparing Python with the popular learning language Java. A questionnaire study will be conducted on both instructors and students to understand how the features of languages affect students' learning from the aspects of program translation and execution (interpretation vs. Compilation), variable declaration (dynamic vs. Static), the syntax of control structures, and the object-oriented syntaxes. For each aspect of questionnaire, questions are designed to understand whether and how the language features in this aspect influence program comprehension (including the occurrence of misconceptions or errors, and cognitive load) and program implementation. The research results will give instructors suggestions for selecting suitable learning languages in their lectures and designing adaptive instructional strategies/materials based on the features of the selected language. |
|---|---|
| AbstractList | Programming is a fundamental ability for Computer Science majors. Most programming lectures use traditional languages, such as C, C++, or Java, as the first learning language for novices, which are effective for designing real applications and therefore are popular in industry. However, the complex syntax of these languages is challenging for novices, which becomes an obstacle to novices' learning. Python has simpler syntax and high-level data structures to enable succinct programs. The multiple paradigms of Python also provide learners opportunities to learn various features of programming languages. Therefore, Python gradually becomes a new option of the first language for learning. This study investigates the features of the first learning programming language by comparing Python with the popular learning language Java. A questionnaire study will be conducted on both instructors and students to understand how the features of languages affect students' learning from the aspects of program translation and execution (interpretation vs. Compilation), variable declaration (dynamic vs. Static), the syntax of control structures, and the object-oriented syntaxes. For each aspect of questionnaire, questions are designed to understand whether and how the language features in this aspect influence program comprehension (including the occurrence of misconceptions or errors, and cognitive load) and program implementation. The research results will give instructors suggestions for selecting suitable learning languages in their lectures and designing adaptive instructional strategies/materials based on the features of the selected language. |
| Author | Lo, Chieh-An Wu, Cheng-Chih Lin, Yu-Tzu |
| Author_xml | – sequence: 1 givenname: Chieh-An surname: Lo fullname: Lo, Chieh-An email: 60108012E@ntnu.edu.tw organization: Nat. Taiwan Normal Univ., Taipei, Taiwan – sequence: 2 givenname: Yu-Tzu surname: Lin fullname: Lin, Yu-Tzu email: linyt@ntnu.edu.tw organization: Nat. Taiwan Normal Univ., Taipei, Taiwan – sequence: 3 givenname: Cheng-Chih surname: Wu fullname: Wu, Cheng-Chih email: chihwu@ntnu.edu.tw organization: Nat. Taiwan Normal Univ., Taipei, Taiwan |
| BookMark | eNotj09LwzAcQCMoqLNXL17yBVbzp2nMSUbZplJwsMKO49fm1zawJiNthX17B_ou7_bgPZJbHzwS8sxZyjkzryVUrlingnGVcnVDEqPfeKbNlVyre5KMo6uZyHWumOQP5HDoXdPTXQxdhGFwvqMl-G6GDum-D_PJ0v00W_TTSEuE6OnGxXF6pytahOEM0Y3B09DSL_gBCt7S3WXqg38idy2cRkz-vSDVZl0VH8vye_tZrMqlM2xaWlHrVlmRW4ayEW1mlBZQZ8CNssZyyXMlaqZQGTSt4ihkhqAbm7FaSa3lgrz8ZR0iHs_RDRAvR81Ffl2Uv5vOUTQ |
| CODEN | IEEPAD |
| ContentType | Conference Proceeding |
| DBID | 6IE 6IL CBEJK RIE RIL |
| DOI | 10.1109/LaTiCE.2015.15 |
| DatabaseName | IEEE Electronic Library (IEL) Conference Proceedings IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume IEEE Xplore All Conference Proceedings IEEE Electronic Library (IEL) IEEE Proceedings Order Plans (POP All) 1998-Present |
| DatabaseTitleList | |
| Database_xml | – sequence: 1 dbid: RIE name: IEEE Electronic Library (IEL) url: https://ieeexplore.ieee.org/ sourceTypes: Publisher |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Education |
| EISBN | 9781479999675 1479999679 |
| EndPage | 226 |
| ExternalDocumentID | 7126267 |
| Genre | orig-research |
| GroupedDBID | 6IE 6IL ALMA_UNASSIGNED_HOLDINGS CBEJK RIB RIC RIE RIL |
| ID | FETCH-LOGICAL-i90t-d2b7f5d26d0e3c2f49572ab4a195d9d131652b05e59e9f51e234ea7cd40b53773 |
| IEDL.DBID | RIE |
| IngestDate | Wed Dec 20 05:20:24 EST 2023 |
| IsPeerReviewed | false |
| IsScholarly | false |
| Language | English |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-i90t-d2b7f5d26d0e3c2f49572ab4a195d9d131652b05e59e9f51e234ea7cd40b53773 |
| PageCount | 2 |
| ParticipantIDs | ieee_primary_7126267 |
| PublicationCentury | 2000 |
| PublicationDate | 2015-April |
| PublicationDateYYYYMMDD | 2015-04-01 |
| PublicationDate_xml | – month: 04 year: 2015 text: 2015-April |
| PublicationDecade | 2010 |
| PublicationTitle | 2015 International Conference on Learning and Teaching in Computing and Engineering |
| PublicationTitleAbbrev | latice |
| PublicationYear | 2015 |
| Publisher | IEEE |
| Publisher_xml | – name: IEEE |
| SSID | ssib026765031 |
| Score | 1.5714701 |
| Snippet | Programming is a fundamental ability for Computer Science majors. Most programming lectures use traditional languages, such as C, C++, or Java, as the first... |
| SourceID | ieee |
| SourceType | Publisher |
| StartPage | 225 |
| SubjectTerms | Comprehension Debugging Education Error Patterns Java Mixed-method approach Programming Programming profession Spoken-Tutorials Syntactics |
| Title | Which Programming Language Should Students Learn First? A Comparison of Java and Python |
| URI | https://ieeexplore.ieee.org/document/7126267 |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LSwMxEA6tePDkoxXf5ODRtLt5bDYnkdIiUkqhhfZW8pile3ArfYH_3mR3rR68SC5hCIRMAplMvvk-hB6ZSa2hXBBlqSDcSEZS6oAYG8jbmaVgbCk2IUejdD5X4wZ6OtTCAEAJPoNO6JZ_-W5ldyFV1pUx9fG3bKKmlElVq_V9drzZxxosrnkZ40h1h3qa9_oBvSU6QfX2l3pKeXkMTv837Rlq_1Th4fHhfjlHDSgugspyjchoodlsmdtlGBMgVu9-EB7W6Uc8WQbtajypqCs3uORRxYPcB3vP-AX3DvKDeJXhN73XWBcOjz8DlUAbTQf9ae-V1EIJJFfRljhqZCYcTVwE3ruZf_NIqg3XsRJOuZjFiaAmEiAUqEzEQBkHLa3jkRFMSnaJjopVAVcI-xVFxjcOSvEEbJowAGtcxn1gIDJ5jVrBP4uPigpjUbvm5m_zLToJ3q-ALnfoaLvewT06tvttvlk_lPv3BZACnYo |
| linkProvider | IEEE |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LSwMxEA61Cnry0Ypvc_Dotrt5NJuTSLFUXUuhC-2tbJJZuge30hf470121-rBi-QSkkDITCCT5JvvQ-iOqlArwrgnNeEeU4J6ITHgKe3I26kmoHQhNiEGg3AykcMaut_mwgBAAT6DlqsWf_lmrtfuqawtAmLjb7GDdjljxC-ztb53j-2w0QYNKmbGwJftKImz7pPDb_GW0739pZ9SHB-9w_9NfISaP3l4eLg9YY5RDfITp7NcYTIaaDyeZXrmxjiQ1bsdhKPqARKPZk69Go9K8solLphUcS-z4d4DfsTdrQAhnqf4JdkkOMkNHn46MoEmintPcbfvVVIJXib9lWeIEik3pGN8sPZN7a1HkESxJJDcSBPQoMOJ8jlwCTLlARDKIBHaMF9xKgQ9RfV8nsMZwnZFvrKFgZSsAzrsUACtTMpsaMBTcY4azj7Tj5IMY1qZ5uLv5lu034_fomn0PHi9RAfOEyXs5QrVV4s1XKM9vVlly8VN4csv8Eqg0Q |
| 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%3Abook&rft.genre=proceeding&rft.title=2015+International+Conference+on+Learning+and+Teaching+in+Computing+and+Engineering&rft.atitle=Which+Programming+Language+Should+Students+Learn+First%3F+A+Comparison+of+Java+and+Python&rft.au=Lo%2C+Chieh-An&rft.au=Lin%2C+Yu-Tzu&rft.au=Wu%2C+Cheng-Chih&rft.date=2015-04-01&rft.pub=IEEE&rft.spage=225&rft.epage=226&rft_id=info:doi/10.1109%2FLaTiCE.2015.15&rft.externalDocID=7126267 |