summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLan Hui <lanhui@zjnu.edu.cn>2022-01-17 17:22:26 +0800
committerLan Hui <lanhui@zjnu.edu.cn>2022-01-17 17:22:26 +0800
commit7301e5b16ec8bc3e5635917137b097aa4718e46e (patch)
treeaa8d4ae57fa861d0ef5db7bdc466afaaeaf94ba2
parent8a5b6e6deef9ce34a5b20c7da8a0ac43a4d44d45 (diff)
Add README.txt
-rw-r--r--README.txt110
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