Embedding Interactive Exercises in Instructional Programming Screencasts (L@S '18)
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
build
config
html
imgs
src
static
test/unit
.babelrc
.editorconfig
.eslintignore
.eslintrc.js
.gitattributes
.gitignore
.postcssrc.js
.tern-project
README.md
package.json
yarn.lock

README.md

Elicast

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.

intro.gif

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}
}

Key Features

Text-based Programming Screencast (video)

text-based_screencast.png

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)

embedded_exercise.png

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.

Assertion-based Automated Assessment

auto_assess.png

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.

How to Use

Build Setup

# 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

Connect to the backend

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.