Teaching Programming by Revealing Thinking Process: Watching Experts' Live Coding Videos With Reflection Annotations
Contribution: Programming is a complex cognitive activity that involves both conceptual understanding and procedural skills, which is challenging for novices. To develop both program comprehension and implementation competency, this study proposed a live-coding-based instruction. Experts' live...
Saved in:
Published in | IEEE transactions on education Vol. 65; no. 4; pp. 617 - 627 |
---|---|
Main Authors | , , |
Format | Journal Article |
Language | English |
Published |
New York
IEEE
01.11.2022
Institute of Electrical and Electronics Engineers, Inc The Institute of Electrical and Electronics Engineers, Inc. (IEEE) |
Subjects | |
Online Access | Get full text |
Cover
Loading…
Abstract | Contribution: Programming is a complex cognitive activity that involves both conceptual understanding and procedural skills, which is challenging for novices. To develop both program comprehension and implementation competency, this study proposed a live-coding-based instruction. Experts' live coding with think-aloud was recorded. Students then learn algorithmic planning and coding skills by observing experts' thinking and coding processes from the videos. To deploy this pedagogical strategy, a learning platform was developed to present the videos to students who could also annotate their reflection about the videos in the system to deepen their understanding of syntax and concepts of computer programming. Background: Traditional lecture-based programming instruction focuses more on the explanation of syntax and concepts but lacks revealing the dynamic and nonlinear thinking and coding process. Research Questions: This study is to explore the effects of live-coding-based instruction on students' programming knowledge, including declarative program knowledge (program comprehension) and procedural program knowledge (coding skills), and whether the instruction changes their attitude toward programming learning or not. Methodology: An empirical study was conducted with 33 high-school students who were novice programmers in one semester to explore the effectiveness of the live-coding-based instruction and the use of the learning platform. Findings: The experiment results show that watching flowcharting (<inline-formula> <tex-math notation="LaTeX">r=0.369, p \mathbf { < }0.05 </tex-math></inline-formula>) or coding processes (<inline-formula> <tex-math notation="LaTeX">r=0.409, p \mathbf { < }0.05 </tex-math></inline-formula>) of experts improves coding skills. This implies that explicit depiction of algorithmic planning and coding processes are essential for building procedural programming knowledge. In addition, reflection on syntactic content of experts' programming plays an important role in programming (<inline-formula> <tex-math notation="LaTeX">r=0.511,p \mathbf { < }0.01 </tex-math></inline-formula>). The research findings suggest that programming instruction could focus more on developing students' problem-solving abilities by demonstrating the dynamic and nonlinear programming processes and providing opportunities for students to reflect on how syntactic knowledge could be applied to programming. |
---|---|
AbstractList | Contribution: Programming is a complex cognitive activity that involves both conceptual understanding and procedural skills, which is challenging for novices. To develop both program comprehension and implementation competency, this study proposed a live-coding-based instruction. Experts' live coding with think-aloud was recorded. Students then learn algorithmic planning and coding skills by observing experts' thinking and coding processes from the videos. To deploy this pedagogical strategy, a learning platform was developed to present the videos to students who could also annotate their reflection about the videos in the system to deepen their understanding of syntax and concepts of computer programming. Background: Traditional lecture-based programming instruction focuses more on the explanation of syntax and concepts but lacks revealing the dynamic and nonlinear thinking and coding process. Research Questions: This study is to explore the effects of live-coding-based instruction on students' programming knowledge, including declarative program knowledge (program comprehension) and procedural program knowledge (coding skills), and whether the instruction changes their attitude toward programming learning or not. Methodology: An empirical study was conducted with 33 high-school students who were novice programmers in one semester to explore the effectiveness of the live-coding-based instruction and the use of the learning platform. Findings: The experiment results show that watching flowcharting (r=0.369, p<0.05) or coding processes (r=0.409, p<0.05) of experts improves coding skills. This implies that explicit depiction of algorithmic planning and coding processes are essential for building procedural programming knowledge. In addition, reflection on syntactic content of experts' programming plays an important role in programming (r=0.511, p<0.01). The research findings suggest that programming instruction could focus more on developing students' problem-solving abilities by demonstrating the dynamic and nonlinear programming processes and providing opportunities for students to reflect on how syntactic knowledge could be applied to programming. Contribution: Programming is a complex cognitive activity that involves both conceptual understanding and procedural skills, which is challenging for novices. To develop both program comprehension and implementation competency, this study proposed a live-coding-based instruction. Experts’ live coding with think-aloud was recorded. Students then learn algorithmic planning and coding skills by observing experts’ thinking and coding processes from the videos. To deploy this pedagogical strategy, a learning platform was developed to present the videos to students who could also annotate their reflection about the videos in the system to deepen their understanding of syntax and concepts of computer programming. Background: Traditional lecture-based programming instruction focuses more on the explanation of syntax and concepts but lacks revealing the dynamic and nonlinear thinking and coding process. Research Questions: This study is to explore the effects of live-coding-based instruction on students’ programming knowledge, including declarative program knowledge (program comprehension) and procedural program knowledge (coding skills), and whether the instruction changes their attitude toward programming learning or not. Methodology: An empirical study was conducted with 33 high-school students who were novice programmers in one semester to explore the effectiveness of the live-coding-based instruction and the use of the learning platform. Findings: The experiment results show that watching flowcharting ([Formula Omitted]) or coding processes ([Formula Omitted]) of experts improves coding skills. This implies that explicit depiction of algorithmic planning and coding processes are essential for building procedural programming knowledge. In addition, reflection on syntactic content of experts’ programming plays an important role in programming ([Formula Omitted]). The research findings suggest that programming instruction could focus more on developing students’ problem-solving abilities by demonstrating the dynamic and nonlinear programming processes and providing opportunities for students to reflect on how syntactic knowledge could be applied to programming. Contribution: Programming is a complex cognitive activity that involves both conceptual understanding and procedural skills, which is challenging for novices. To develop both program comprehension and implementation competency, this study proposed a live-coding-based instruction. Experts' live coding with think-aloud was recorded. Students then learn algorithmic planning and coding skills by observing experts' thinking and coding processes from the videos. To deploy this pedagogical strategy, a learning platform was developed to present the videos to students who could also annotate their reflection about the videos in the system to deepen their understanding of syntax and concepts of computer programming. Background: Traditional lecture-based programming instruction focuses more on the explanation of syntax and concepts but lacks revealing the dynamic and nonlinear thinking and coding process. Research Questions: This study is to explore the effects of live-coding-based instruction on students' programming knowledge, including declarative program knowledge (program comprehension) and procedural program knowledge (coding skills), and whether the instruction changes their attitude toward programming learning or not. Methodology: An empirical study was conducted with 33 high-school students who were novice programmers in one semester to explore the effectiveness of the live-coding-based instruction and the use of the learning platform. Findings: The experiment results show that watching flowcharting (<inline-formula> <tex-math notation="LaTeX">r=0.369, p \mathbf { < }0.05 </tex-math></inline-formula>) or coding processes (<inline-formula> <tex-math notation="LaTeX">r=0.409, p \mathbf { < }0.05 </tex-math></inline-formula>) of experts improves coding skills. This implies that explicit depiction of algorithmic planning and coding processes are essential for building procedural programming knowledge. In addition, reflection on syntactic content of experts' programming plays an important role in programming (<inline-formula> <tex-math notation="LaTeX">r=0.511,p \mathbf { < }0.01 </tex-math></inline-formula>). The research findings suggest that programming instruction could focus more on developing students' problem-solving abilities by demonstrating the dynamic and nonlinear programming processes and providing opportunities for students to reflect on how syntactic knowledge could be applied to programming. |
Audience | High Schools Secondary Education |
Author | Yeh, Martin K.-C. Tan, Sheng-Rong Lin, Yu-Tzu |
Author_xml | – sequence: 1 givenname: Yu-Tzu orcidid: 0000-0002-2138-538X surname: Lin fullname: Lin, Yu-Tzu email: linyt0802@gmail.com organization: Graduate Institute of Information and Computer Education and the Institute for Research Excellence in Learning Sciences, National Taiwan Normal University, Taipei, Taiwan – sequence: 2 givenname: Martin K.-C. orcidid: 0000-0002-5630-1633 surname: Yeh fullname: Yeh, Martin K.-C. organization: Information Sciences and Technology, Pennsylvania State University (Brandywine), Media, PA, USA – sequence: 3 givenname: Sheng-Rong surname: Tan fullname: Tan, Sheng-Rong organization: Graduate Institute of Information and Computer Education and the Institute for Research Excellence in Learning Sciences, National Taiwan Normal University, Taipei, Taiwan |
BackLink | http://eric.ed.gov/ERICWebPortal/detail?accno=EJ1353386$$DView record in ERIC |
BookMark | eNp1UU1P2zAYtqYirYWdd5gmRdqBU4od20nMrarClyqBpgBHy3HegEsbF9sg-Pc4SscBaSc_r58PfzwzNOltDwj9JHhOCBYndTXPcJbNKeG8LNk3NI2gSEVOywmaYkzKVFAuvqOZ9-s4Mp7xKQo1KP1o-ofkxtkHp7bbATfvyV94BbUZhjrST3uFBu9Pk3sVRk_1tgMX_HGyMq-QLG07bN6ZFqxP7k14jCndBnQwtk8WfW-DGqA_Qged2nj4sV8P0e1ZVS8v0tX1-eVysUo1JSSkjSJtJpomZ5oJgaEpGWOQ5wC6xKSjNBdM8YZQaJkou6hiPGeCEShYB21DD9GfMXfn7PML-CDX9sX18UiZFVn8mbygJKp-jypwRsudM1vl3mV1RSintMwjz0deO-u9g05qMz4kOGU2kmA5FCDrSg4FyH0B0Xfyxfcv-_-OX6PDAMCnWhTxGljQD1cVkbQ |
CODEN | IEEDAB |
CitedBy_id | crossref_primary_10_1007_s10639_023_11629_4 crossref_primary_10_3390_math10173175 crossref_primary_10_3390_math12071036 crossref_primary_10_1109_ACCESS_2024_3525061 crossref_primary_10_1109_ACCESS_2025_3542389 crossref_primary_10_1007_s10639_023_12037_4 crossref_primary_10_3390_educsci14030250 |
ContentType | Journal Article |
Copyright | Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2022 |
Copyright_xml | – notice: Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2022 |
DBID | 97E RIA RIE AAYXX CITATION 7SW BJH BNH BNI BNJ BNO ERI PET REK WWN 7SC 7SP 7TB 8FD FR3 JQ2 KR7 L7M L~C L~D |
DOI | 10.1109/TE.2022.3155884 |
DatabaseName | IEEE All-Society Periodicals Package (ASPP) 2005–Present IEEE All-Society Periodicals Package (ASPP) 1998–Present IEEE Electronic Library (IEL) CrossRef ERIC ERIC (Ovid) ERIC ERIC ERIC (Legacy Platform) ERIC( SilverPlatter ) ERIC ERIC PlusText (Legacy Platform) Education Resources Information Center (ERIC) ERIC Computer and Information Systems Abstracts Electronics & Communications Abstracts Mechanical & Transportation Engineering Abstracts Technology Research Database Engineering Research Database ProQuest Computer Science Collection Civil Engineering Abstracts Advanced Technologies Database with Aerospace Computer and Information Systems Abstracts Academic Computer and Information Systems Abstracts Professional |
DatabaseTitle | CrossRef ERIC Civil Engineering Abstracts Technology Research Database Computer and Information Systems Abstracts – Academic Mechanical & Transportation Engineering Abstracts Electronics & Communications Abstracts ProQuest Computer Science Collection Computer and Information Systems Abstracts Engineering Research Database Advanced Technologies Database with Aerospace Computer and Information Systems Abstracts Professional |
DatabaseTitleList | ERIC Civil Engineering Abstracts |
Database_xml | – sequence: 1 dbid: RIE name: IEEE/IET Electronic Library url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/ sourceTypes: Publisher – sequence: 2 dbid: ERI name: ERIC url: https://eric.ed.gov/ sourceTypes: Index Database |
DeliveryMethod | fulltext_linktorsrc |
Discipline | Engineering Education Computer Science |
EISSN | 1557-9638 |
ERIC | EJ1353386 |
EndPage | 627 |
ExternalDocumentID | EJ1353386 10_1109_TE_2022_3155884 9733809 |
Genre | orig-research |
GroupedDBID | -~X 0R~ 29I 3EH 4.4 5GY 5VS 6IK 85S 97E AAJGR AARMG AASAJ AAVXG AAWTH AAYJJ ABAZT ABFSI ABOPQ ABQJQ ABVLG ACGFO ACGFS ACIWK ACNCT AENEX AETIX AFFNX AFOGA AGQYO AGSQL AHBIQ AI. AIBXA AKJIK AKQYR ALLEH ALMA_UNASSIGNED_HOLDINGS ASUFR ATWAV AZLTO BEFXN BFFAM BGNUA BKEBE BPEOZ CS3 DU5 E.L EBS EJD HZ~ H~9 IAAWW IBMZZ ICLAB IDIHD IFIPE IFJZH IPLJI JAVBF LAI M43 MS~ O9- OCL P2P PQQKQ RIA RIE RNS TN5 VH1 AAYOK AAYXX CITATION RIG 7SW BJH BNH BNI BNJ BNO ERI PET REK WWN 7SC 7SP 7TB 8FD FR3 JQ2 KR7 L7M L~C L~D |
ID | FETCH-LOGICAL-c311t-ba1d29bb64c4990eb8444e66eec801f33694a5b13ed498f4c44564941e74fedb3 |
IEDL.DBID | RIE |
ISSN | 0018-9359 |
IngestDate | Mon Jun 30 06:32:07 EDT 2025 Fri Aug 01 12:18:07 EDT 2025 Thu Apr 24 23:03:18 EDT 2025 Tue Jul 01 03:17:52 EDT 2025 Wed Aug 27 02:14:46 EDT 2025 |
IsDoiOpenAccess | false |
IsOpenAccess | false |
IsPeerReviewed | true |
IsScholarly | true |
Issue | 4 |
Language | English |
License | https://ieeexplore.ieee.org/Xplorehelp/downloads/license-information/IEEE.html https://doi.org/10.15223/policy-029 https://doi.org/10.15223/policy-037 |
LinkModel | DirectLink |
MergedId | FETCHMERGED-LOGICAL-c311t-ba1d29bb64c4990eb8444e66eec801f33694a5b13ed498f4c44564941e74fedb3 |
Notes | ObjectType-Article-1 SourceType-Scholarly Journals-1 ObjectType-Feature-2 content type line 14 |
ORCID | 0000-0002-2138-538X 0000-0002-5630-1633 |
PQID | 2729636731 |
PQPubID | 85468 |
PageCount | 11 |
ParticipantIDs | proquest_journals_2729636731 crossref_primary_10_1109_TE_2022_3155884 ieee_primary_9733809 crossref_citationtrail_10_1109_TE_2022_3155884 eric_primary_EJ1353386 |
ProviderPackageCode | CITATION AAYXX |
PublicationCentury | 2000 |
PublicationDate | 2022-11-01 |
PublicationDateYYYYMMDD | 2022-11-01 |
PublicationDate_xml | – month: 11 year: 2022 text: 2022-11-01 day: 01 |
PublicationDecade | 2020 |
PublicationPlace | New York |
PublicationPlace_xml | – name: New York |
PublicationTitle | IEEE transactions on education |
PublicationTitleAbbrev | TE |
PublicationYear | 2022 |
Publisher | IEEE Institute of Electrical and Electronics Engineers, Inc The Institute of Electrical and Electronics Engineers, Inc. (IEEE) |
Publisher_xml | – name: IEEE – name: Institute of Electrical and Electronics Engineers, Inc – name: The Institute of Electrical and Electronics Engineers, Inc. (IEEE) |
SSID | ssj0014525 |
Score | 2.4490283 |
Snippet | Contribution: Programming is a complex cognitive activity that involves both conceptual understanding and procedural skills, which is challenging for novices.... |
SourceID | proquest eric crossref ieee |
SourceType | Aggregation Database Index Database Enrichment Source Publisher |
StartPage | 617 |
SubjectTerms | Algorithms Annotations Attitude Change Codes Coding Computer Assisted Instruction Computer programming Computer science computer-based instruction Education Educational Strategies Encoding High School Students Instructional Effectiveness Knowledge Level Learning learning environment live coding Nonlinear programming observational learning Problem-solving Programming programming instruction Programming profession Protocol Analysis reflection Skill Development Skills Student Attitudes Students Syntactics Syntax Teaching Methods Video Video Technology video-based learning Videos |
Title | Teaching Programming by Revealing Thinking Process: Watching Experts' Live Coding Videos With Reflection Annotations |
URI | https://ieeexplore.ieee.org/document/9733809 http://eric.ed.gov/ERICWebPortal/detail?accno=EJ1353386 https://www.proquest.com/docview/2729636731 |
Volume | 65 |
hasFullText | 1 |
inHoldings | 1 |
isFullTextHit | |
isPrint | |
link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1LT9wwEB5RTu2htEtRtzzkQ6X20Cxx_Mi6N4QWIVSqqloKtyh2JiqCJhWbRYJfj8fxRvQl9ZYo48TSjMf-Mt_MALwtMVNlpXSi89Ilktc2sbmUiVVmWlqntDOUKHz6WR-fyZMLdbEGH4ZcGEQM5DOc0GWI5VetW9Kvsn2Te0BF2XpPPHDrc7WGiAHF53qv6xewUCaW8eGp2Z_PPA7MMg9PFaVl_rIDRZJz6KzyhzsOe8zRBpyuZtdTS64my85O3P1vhRv_d_ov4Hk8bLKD3jpewho2I9hYNXJgcV2PqHVzpHmM4NmjCoWb0M0j25J96YlcP-ja3rGveOuPmHRDnT-vogTlHHxk5969hzGhjnK3eMc-eZ_KDlvaJ9m3ywrbBTu_7L77t9TXgQvWsIOmaXtawOIVnB3N5ofHSWzUkDjBeZfYkleZsVZL5wFUinYqpUStEZ3fAGshtJGlslxgJc209lJUxMZIjrmssbJiC9abtsHXwIRNnXc5nMJ9MjfeP5SokHvUU9dVnpoxTFbKK1ysYk7NNK6LgGZSU8xnBWm7iNoew_thwM--gMe_RbfIGgax2Qk1BRFTPYZN0ubwICpyDDsreyniyl8UmUcrWuhc8Dd_H7UNT-mjfT7jDqx3N0vc9Qebzu4F8L4X7PoBoCb0TQ |
linkProvider | IEEE |
linkToHtml | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV3db9QwDLem8QA8MLgx7WBAHpDggd6a5qMX3qbppmPcTQh1bG9Vk7pi2mgR10OCv564zVV8SrylqlOlsmPH8c82wPMCE1WUSkc6LVwkeWUjm0oZWWWmhXVKO0OJwsszPT-Xp5fqcgteDbkwiNiBz3BCwy6WXzZuTVdlhyb1DhVl693ydl8lfbbWEDOgCF2vd_0WFsqEQj48NofZzHuCSeIdVEWJmb_YoABz7nqr_KGQOytzsgPLzfp6cMn1ZN3aifv-W-nG__2B-3AvHDfZUS8fD2AL6xHsbFo5sLCzR9S8OQA9RnD3pxqFu9BmAW_J3vVQrk80tt_Ye_zqD5n0QL0_rwMFZR28ZhdewXdzukrK7eoFW3ityo4bspTsw1WJzYpdXLUf_Veqmw4NVrOjum56YMDqIZyfzLLjeRRaNUROcN5GtuBlYqzV0nkXKkY7lVKi1ojOm8BKCG1koSwXWEozrTwVlbExkmMqKyyt2IPtuqlxH5iwsfNKh1PAT6bGa4gCFXLv91RVmcZmDJMN83IX6phTO42bvPNnYpNns5y4nQduj-HlMOFzX8Lj36R7JA0D2eyU2oKIqR7DLnFzeBEYOYaDjbzkYe-v8sT7K1roVPBHf5_1DG7Ps-UiX7w5e_sY7tAC-uzGA9huv6zxiT_mtPZpJ90_AMN89pY |
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=Teaching+Programming+by+Revealing+Thinking+Process%3A+Watching+Experts%E2%80%99+Live+Coding+Videos+With+Reflection+Annotations&rft.jtitle=IEEE+transactions+on+education&rft.au=Yu-Tzu%2C+Lin&rft.au=Yeh%2C+Martin+K-C&rft.au=Sheng-Rong%2C+Tan&rft.date=2022-11-01&rft.pub=The+Institute+of+Electrical+and+Electronics+Engineers%2C+Inc.+%28IEEE%29&rft.issn=0018-9359&rft.eissn=1557-9638&rft.volume=65&rft.issue=4&rft.spage=617&rft_id=info:doi/10.1109%2FTE.2022.3155884&rft.externalDBID=NO_FULL_TEXT |
thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0018-9359&client=summon |
thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0018-9359&client=summon |
thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0018-9359&client=summon |