Skip to content

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

@lisancao

Description

@lisancao

[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

  • Brainstorm possible communication pathways
  • Coordinate different resources to find best solution

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions