Commands to support continuous assessment of assignments based on VCS.
The data is organized in subjects, and each subject in courses.
$TEACHING_HOME
│
├── <subject>
│ └── courses
│ ├── 2020-2021
│ ├── 2021-2022
│ ├── 2022-2023
│ ...
│
├── <subject>
│ └── courses
│ ├── 2020-2021
│ ├── 2021-2022
│ ├── 2022-2023
│ ...
...
And the main sections of each course are:
<subject>/courses/2020-2021
│
├── de
│
├── di
│ ├── assessments
│ ├── assignments
│ └── data
├── exams
│
└── gradings
The only interface is a CLI. It includes commands for common and repetitive tasks like creating a new course, start an assessment, collecting grading info, retreiving data for a student, ...
The basic format is:
$ <script> [...args] <verb> <noun> [...args]
Where usual verbs are create
, update
, cd
, ... and some common
nouns: assessment
, course
, ...
The application favors convention and context over configuration. So instead of specify the subject, course, assignment, ...:
-
When the user runs a simbolic link to the script. The name of the link is the name of the subject.
The magic incantation:
$ <script> -s IPM create course 2020-201
is equivalent to:
$ IPM create course 2020-2021
providing
IPM
is a symbolic link to<script>
-
The subject and course is implicit in the current directory path.
The magic incantation:
$ <script> -s IPM -c 2020-2021 create assigment 01-desktop
is equivalent to:
.../IPM/courses/2020-2021$ IPM create assigment 01-desktop
-
The course is implict in the current academic period.
The magic incantation:
$ <script> -s IPM create course 2020-2021
is equivalent to:
$ IPM create course
providing current date is between 09/2020 and 07/2021.
The preference order of the arguments is:
- Script arguments.
- Environment variables.
- Config file.
- Conventions and context.
The user's locale decide the language of the IU and the language of the verbs and nouns.
TODO: ¿ Permitimos una mezlca de idiomas en verbos y nombres ?