SPLICE Working Group:�Reusable Code Examples

pbrusilovsky 122 views 11 slides May 14, 2024
Slide 1
Slide 1 of 11
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11

About This Presentation

Program code examples (known also as worked examples) play a crucial role in learning how to program. Instructors use examples extensively to demonstrate the semantics of the programming language being taught and to highlight the fundamental coding patterns. Programming textbooks allocate considerab...


Slide Content

SPLICE Working Group:
Reusable Code Examples
Peter Brusilovsky, Vasile Rus
https://cssplice.github.io/codex/index.html

“Smart Content” in CS Education
•Many domains use of “static” content (text, images, videos) and
tested with simple MCQ
•CS Educators developed a variety of different of “smart content”
– interactive, dynamic, provides feedback
•ITiCSE 2014 Working Group revied SLC:
–Program visualization
–Coding problems with automatic assessment
–Problem-solving support with “tutors”
Brusilovsky, P., Edwards, S., Kumar, A., Malmi, L., et al. (2014) Increasing Adoption of Smart Learning Content for Computer Science Education. In: Working Group Reports of the 2014 on Innovation & Technology in Computer Science Education Conference, Uppsala, Sweden, ACM, pp. 31-57.

Smart Content: Forms
•Problems
–Learning by doing
–Mastering domain knowledge
•Worked-out examples
–Demonstrating how to solve problems in a domain
–Step-by-step, with explanations
–Acquiring knowledge
•Expertise reversal
–Reversal in the relative effectiveness of instructional methods as levels of learner knowledge in a domain change
–Worked examples more efficient on early stages, problems should be preferred in later stages

A Simple Guide to SLC
Worked examplesProblems
Comprehension
(behavior, tracing)
Program animation
Program Tracing Demo
Code tracing problems
Tracing ITS
ConstructionAnnotated code
Codecasts
Parson’s problems
Coding problems
•Demo: PAWS Lab Sandbox
•http://adapt2.sis.pitt.edu/kt
•Log in: adl02 (adl03, adl04, adl05…)
•Password – same as log in

WebEx – Annotated Code Examples
Brusilovsky, P. and
Yudelson
, M.
(2008) From WebEx to
NavEx
:
Interactive Access to Annotated Program Examples.
Proceedings of
the IEEE
96
(6), 990
-999.

Explorable Code Examples: PCX
Hosseini, R., Akhuseyinoglu, K., Brusilovsky, P., Malmi, L., Pollari-Malmi, K., Schunn, C., and Sirkiä, T. (2020) Improving Engagement in
Program Construction Examples for Learning Python Programming. International Journal of Artificial Intelligence in Education 30 (2), 299-336.

Example-Based Challenges in PCX
Hosseini, R., Akhuseyinoglu, K., Brusilovsky, P., Malmi, L., Pollari-Malmi, K., Schunn, C., and Sirkiä, T. (2020) Improving Engagement in Program
Construction Examples for Learning Python Programming. International Journal of Artificial Intelligence in Education 30 (2), 299-336.

ACOS Server Annotated Examples

Deep Tutor: Problems from Examples
Oli, P., Banjade, R., Lekshmi-Narayanan, A.-B., Brusilovsky, P., and Rus, V. (2024) Exploring The Effectiveness of
Reading vs. Tutoring For Enhancing Code Comprehension For Novices. In: Proceedings of ACM Symposium on Applied
Computing, SAC 2024, Avila, Spain, April 8–12, 2024, ACM, pp. 38-47.

WorkedGen
Jury, B., Lorusso, A., Leinonen, J., Denny, P., and Luxton-Reilly, A. (2024) Evaluating LLM-generated Worked Examples
in an Introductory Programming Course. In: Proceedings of Proceedings of the 26th Australasian Computing Education
Conference, New York, NY, USA, Association for Computing Machinery, pp. 77–86.

Self-Explaining Examples