biocswirl-dev-team / BiocTerm

A highly configurable, lightweight and feature rich terminal interface with multi-language support for conducting bioinformatics. This project was the People's Choice Award for the Vancouver Bioinformatics Hackathon Hackseq2019.
Apache License 2.0
3 stars 1 forks source link

[biocswirl] [feat] Implement Auto Grader / "Smart Checker" #5

Open lisancao opened 4 years ago

lisancao commented 4 years ago

[biocswirl] [feat] Smart Checker

About: This is a feature I thought about for awhile, something that can set BiocSwirl apart from Swirlify through bioconductor-specific debugging and error checking certain inputs to help the student learn how to either improve their syntax or learn where they went wrong. This can either be simple (checking variable naming, mispellings, file types, working directories) to something more advanced like adjusting values during an analysis. Very fluffy idea that hasn't been fully fleshed out yet, and I'm not even entire sure how possible it is- if so would require going through R/Rstudio or at least compiling BiocSwirl into its own package, which is in the works already beyond swirlify's pack_course()

Tasks

Resources

https://cseducators.stackexchange.com/questions/1205/how-can-i-automate-the-grading-of-programming-assignments

https://github.com/swirldev/swirl/blob/master/man/AnswerTests.Rd https://rdrr.io/cran/swirl/man/omnitest.html

*this would be a great feature implementation if we're creating our own terminal interface in C/C++ anyways :)

Tag can be

biocswirl(related to course material)
biocterm (interface changes)
dev      (developers only)
file     (changes to file and folder structuring) 
rpkg     (r package/usethis and CRAN documentation changes)
feat     (new feature)
fix      (bug fix)
refactor (refactoring code)
style    (formatting, missing semi colons, etc; no code change)
doc      (changes to documentation)
test     (adding or refactoring tests; no production code change)
version  (version bump/new release; no production code change)
dbg      (Changes in debugging code/frameworks; no production code change)
license  (Edits regarding licensing; no production code change)
hack     (Temporary fix to make things move forward; please avoid it)
WIP      (Work In Progress; for intermediate commits to keep patches reasonably sized)