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.csv
file(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].csv
file(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 workbooks
or
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.json
and 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 workbook
or
ejp-t workbook delete -r swe2001_42 -p assignment_1 # delete a problem
or
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 workbook
or
ejp-t workbook append -p assignment_1 -l ./path_of_testcase.json # append testcase to problem