diff options
-rw-r--r-- | README.txt | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..094d38d --- /dev/null +++ b/README.txt @@ -0,0 +1,110 @@ +--- +title: CourseObjectiveSatisfaction使用手册 +author: 蓝珲 <lanhui@zjnu.edu.cn> +date: 2022-01-17 +--- + +# CourseObjectiveSatisfaction + +**CourseObjectiveSatisfaction** 是用于计算课程目标达成度的软件。比起使用Excel表格,CourseObjectiveSatisfaction +更加轻量而且容易操作。你不需要额外去填写一张Excel表格,只需把平时各项成绩记录好,运行 `analyze.py` +就可以立即得到各个课程目标的达成度了。 + +# 用法 + +## 准备学生名单 + +你需要事先准备好文件 students.txt。文件有两列。第一列是学号,第二列是学生姓名。学号与学生姓名 +之间用 TAB(制表符) 隔开。 + +students.txt 样例: + +``` +201930220235 王以冠 +201930220320 陈辉 +``` + +## 分解课程任务,并将课程目标与之对应 + +你还要准备文件 tasks.json。 这是个 JSON 文件,用以指定课程目标、课程任务、以及每个课程任务 +所对应的课程目标。 + +tasks.json 样例: + +``` +{ + "course.objectives":["co1", "co2", "co3"], + "tasks":{ + "lab":{ + "co1":30 + }, + "project":{ + "co2":20 + }, + "exam":{ + "co3":50 + } + } +} +``` + +以上样例中,我们指定了3个课程目标,分别是co1, co2, co3。同时,我们指定了3个课程任务,分别是lab, +project, exam。lab 与课程目标一 co1 对应,共30分。project 与课程目标二 co2 对应,共20分。 +exam 与课程目标三 co3 对应,共50分。注意:上面所有的分数之和必须是100分。 + + +## 运行程序 analyze.py + +准备好了以上两个文件之后,运行 `python3 analyze.py`,生成文件夹 grade。 文件夹里面有数个分数文件, +对应 tasks.json 中指定的课程任务。在课程行进过程中,老师只需要把这些分数文件填好,再次运行 +`python3 analyze.py` 命令,就可以轻松得到各个课程目标的达成度了。 + +- 分数文件 lab.txt 样例: + +``` +#lab +#student.no student.name score +201930220235 王以冠 30 +201930220320 陈辉 15 +``` + +- 分数文件 project.txt 样例: + +``` +#project +#student.no student.name score +201930220235 王以冠 20 +201930220320 陈辉 10 +``` + +- 分数文件 exam.txt 样例: + +``` +#exam +#student.no student.name score +201930220235 王以冠 50 +201930220320 陈辉 25 +``` + +## 其它 + +### 忽略学生 + +有时,计算达成度时,你希望把某些学生排除在外。为此,你需要创建一个 `exclude.txt` 文件。样例如下: + +``` +201930220320 陈辉 +``` + +把不希望包括进来的学生放到文件 exclude.txt 中即可。 + +## 运行结果 + +下面是运行结果样例: + + +``` +Course objective co1 is 100% satisfied. +Course objective co2 is 100% satisfied. +Course objective co3 is 100% satisfied. +```
\ No newline at end of file |