Elicast: Embedding Interactive Exercises in Instructional Programming Screencasts (L@S '18) https://dl.acm.org/citation.cfm?id=3231657
A screencast tool for recording and viewing programming lectures with embedded programming exercises, to provide hands-on programming experiences in the screencast.
If you use this code for academic purposes, please cite it as:
@inproceedings{park2018elicast,
title={Elicast: embedding interactive exercises in instructional programming screencasts},
author={Park, Jungkook and Park, Yeong Hoon and Kim, Jinhan and Cha, Jeongmin and Kim, Suin and Oh, Alice},
booktitle={Proceedings of the Fifth Annual ACM Conference on Learning at Scale},
pages={58},
year={2018},
organization={ACM}
}
Text-based Programming Screencast (video)
Text-based programming screencast is the first core feature of Elicast. To overcome the limitation on interactions between learners and the content of screencast, when the instructors record screencasts, Elicast captures instructors' keyboard activities instead of screen captures. Then, when learners play the recorded screencast, Elicast reconstruct keyboard activities to build a video-like view. With this feature, Elicast allows users to select and edit the code content in the screencasts.
Embedded Interactive Exercise (video)
To provide hands-on programming experience for learners, Elicast allows instructors to embed programming exercises in the screencast. Elicast allows instructors to make a specific region of the screencast as "quiz region", which make users to write any programming codes in that region.
Elicast gives immediate assessment results upon learners' submission to the exercises. Namely, Elicast evaluates the functionality of the submitted code by testing whether the student's code performs the same functionality as the instructor's model solution that appears later in the screencast.
# install dependencies
yarn
# serve with hot reload at localhost:8080
yarn run dev
# build for production with minification
yarn run build
# run unit tests
yarn run unit
Elicast has a dependency on the backend project elicast-server which is used to manage lectures and run programming codes. Please refer to the instruction of eliceast-server, and properly set-up the variable ELICAST_ENDPOINT
defined at config/prod.env/js
.