EJP-T is a specialized component of the Edged Judger Platform (EJP) designed to empower educators in the realm of coding education. Seamlessly integrated with the EJP ecosystem, EJP-T enables teachers to craft assignments, manage student grades, and even automate the grading process.
- Craft Assignments: Create coding assignments with custom criteria, deadlines, and point values.
- Automated Grading: Leverage automated grading scripts to evaluate student submissions.
- Grade Management: Keep track of student grades and progress with a simple and intuitive dashboard.
- Cross-Component Integration: Works in tandem with EJP-S (for Students) and EJP-BE (Server Program) to provide a comprehensive educational experience.
- Ensure that you have the main EJP system set up and running.
- Requires Linux OS (Windows & Mac support coming soon).
- Clone the EJP-T repository.
git clone https://github.com/EdgeCrafters/ejp-t.git
- Navigate to the cloned directory and run the installation script.
cd ejp-t && chmod 755 scripts/setup.sh && chmod 755 scripts/install.sh ./scripts/setup.sh && ./scripts/install.sh source ~/.bashrc # source ~/.zshrc (if you use zsh, or whatever, customize this command)
- Follow the on-screen prompts to complete the installation.
- Launch EJP-T from the command line:
Parameters
ejp-t [category] [command] [options]
- [category]: The category to which the command belongs (e.g., manage, workbook).
- [command]: The specific action you want to perform (e.g., create, append, enroll).
- [options]: Additional parameters or flags that modify the command. (e.g. -h(host), -l(location)). See below for more information about parameters.
- Use the menu options to create new assignments, manage grades, or sync with EJP-S and EJP-BE.
- For a list of all available commands and options, use:
ejp-t help
We welcome contributions from the community! Feel free to fork the repository, make your changes, and submit a pull request. For more details, check out our contribution guidelines.
EJP-T is part of the EJP project and follows the same MIT license.
- Caching Options & Authentication: Some
[options]and authentication information can be saved locally to eliminate redundant input.
you can mange workbook(s).
ejp-t manage [command] [options]-
create: create user(s) in certain host-h: url of server, the url of the server where the workbook, problem, or test cases are stored. this information can be cached locally for future use.-u: a username to create-p: password of a user to create-l: path to.csvfile(e.g.) with usernames and passwords (makes -u and -p optional)
ejp-t manage create -u john1234 -p neo666
or
ejp-t manage create -h http://your.url.plz -l users_info.csv
-
enroll: enroll user(s) to workbook. with this command, able to assign workbook to students-h: url of server (cached)-u: name of a user to enroll-r: name of workbook to enroll to (cached)-l: path to .csv file(e.g.) with usernames and workbooks (makes -u and -r optional)
ejp-t manage enroll -h http://your.url.plz -u john1234 -r swe2001_41
or
ejp-t manage enroll -l users_repo.csv
-
score: get score of user(s)-h: url of server (cached)-u: username to inspect (overrides -l)-r: name of workbook to inspect (cached)-p: name of problem to instpect. without this option, program will generate all scores about problems inside the workbook.-l: path to store[workbook]-[problem].csvfile(e.g. ) which includes score of users.
ejp-t manage score -u john1234 -r swe2001_41 -p binary_tree
or
ejp-t manage score -p kmp_problem -l ./scores
-
list: get information of workbooks or problems-h: url of server (cached)-r: name of workbook to inspect. without this option, program will list workbook which available to user in the host.
ejp-t manage list # list workbooksor
ejp-t manage score -r genesisworkbook # list problems of genesisworkbook
you can manipulate workbook(s).
ejp-t workbook [command] [options] -
create: create a new workbook in certain host-h: url of server (cached)-l: path of workbook directory(e.g.) which possess compenents likeinfo.jsonand problems-r: name of workbook
ejp-t workbook create -h http:/your.url.plz -l ./workbook0 -r swe2001_43
-
delete: delete workbook/problem/testcase-h: url of server (cached)-r: name of workbook. specifies the workbook to delete or the workbook that contains the problem or test cases you want to delete.-p: name of problem. specifies the problem to delete or the problem that contains the test cases you want to delete.-t: testcase flag. use this flag to indicate that you want to delete test cases. no additional value is needed for this option; its presence is enough to signal the deletion of test cases.
ejp-t workbook delete -r swe2001_42 # delete a whole workbookor
ejp-t workbook delete -r swe2001_42 -p assignment_1 # delete a problemor
ejp-t workbook delete -r swe2001_42 -p assignment_1 -t # delete testcases
-
append: append workbook/problem/testcase-h: url of server (cached)-r: name of workbook. specifies the workbook to append problem or testcases. (cached)-p: name of problem. specifies the problem to append testcases.-l: path of problem directory or testcases file.
ejp-t workbook append -r swe2001_42 -l ./path_of_problem #append problem to workbookor
ejp-t workbook append -p assignment_1 -l ./path_of_testcase.json # append testcase to problem