You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
rd-archive/doc/features.html

413 lines
10 KiB

5 months ago
<!DOCTYPE html>
<html>
<head>
<title>features.md</title>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
<style>
/* https://github.com/microsoft/vscode/blob/master/extensions/markdown-language-features/media/markdown.css */
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
body {
font-family: var(--vscode-markdown-font-family, -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "Ubuntu", "Droid Sans", sans-serif);
font-size: var(--vscode-markdown-font-size, 14px);
padding: 0 26px;
line-height: var(--vscode-markdown-line-height, 22px);
word-wrap: break-word;
}
#code-csp-warning {
position: fixed;
top: 0;
right: 0;
color: white;
margin: 16px;
text-align: center;
font-size: 12px;
font-family: sans-serif;
background-color:#444444;
cursor: pointer;
padding: 6px;
box-shadow: 1px 1px 1px rgba(0,0,0,.25);
}
#code-csp-warning:hover {
text-decoration: none;
background-color:#007acc;
box-shadow: 2px 2px 2px rgba(0,0,0,.25);
}
body.scrollBeyondLastLine {
margin-bottom: calc(100vh - 22px);
}
body.showEditorSelection .code-line {
position: relative;
}
body.showEditorSelection .code-active-line:before,
body.showEditorSelection .code-line:hover:before {
content: "";
display: block;
position: absolute;
top: 0;
left: -12px;
height: 100%;
}
body.showEditorSelection li.code-active-line:before,
body.showEditorSelection li.code-line:hover:before {
left: -30px;
}
.vscode-light.showEditorSelection .code-active-line:before {
border-left: 3px solid rgba(0, 0, 0, 0.15);
}
.vscode-light.showEditorSelection .code-line:hover:before {
border-left: 3px solid rgba(0, 0, 0, 0.40);
}
.vscode-light.showEditorSelection .code-line .code-line:hover:before {
border-left: none;
}
.vscode-dark.showEditorSelection .code-active-line:before {
border-left: 3px solid rgba(255, 255, 255, 0.4);
}
.vscode-dark.showEditorSelection .code-line:hover:before {
border-left: 3px solid rgba(255, 255, 255, 0.60);
}
.vscode-dark.showEditorSelection .code-line .code-line:hover:before {
border-left: none;
}
.vscode-high-contrast.showEditorSelection .code-active-line:before {
border-left: 3px solid rgba(255, 160, 0, 0.7);
}
.vscode-high-contrast.showEditorSelection .code-line:hover:before {
border-left: 3px solid rgba(255, 160, 0, 1);
}
.vscode-high-contrast.showEditorSelection .code-line .code-line:hover:before {
border-left: none;
}
img {
max-width: 100%;
max-height: 100%;
}
a {
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
a:focus,
input:focus,
select:focus,
textarea:focus {
outline: 1px solid -webkit-focus-ring-color;
outline-offset: -1px;
}
hr {
border: 0;
height: 2px;
border-bottom: 2px solid;
}
h1 {
padding-bottom: 0.3em;
line-height: 1.2;
border-bottom-width: 1px;
border-bottom-style: solid;
}
h1, h2, h3 {
font-weight: normal;
}
table {
border-collapse: collapse;
}
table > thead > tr > th {
text-align: left;
border-bottom: 1px solid;
}
table > thead > tr > th,
table > thead > tr > td,
table > tbody > tr > th,
table > tbody > tr > td {
padding: 5px 10px;
}
table > tbody > tr + tr > td {
border-top: 1px solid;
}
blockquote {
margin: 0 7px 0 5px;
padding: 0 16px 0 10px;
border-left-width: 5px;
border-left-style: solid;
}
code {
font-family: Menlo, Monaco, Consolas, "Droid Sans Mono", "Courier New", monospace, "Droid Sans Fallback";
font-size: 1em;
line-height: 1.357em;
}
body.wordWrap pre {
white-space: pre-wrap;
}
pre:not(.hljs),
pre.hljs code > div {
padding: 16px;
border-radius: 3px;
overflow: auto;
}
pre code {
color: var(--vscode-editor-foreground);
tab-size: 4;
}
/** Theming */
.vscode-light pre {
background-color: rgba(220, 220, 220, 0.4);
}
.vscode-dark pre {
background-color: rgba(10, 10, 10, 0.4);
}
.vscode-high-contrast pre {
background-color: rgb(0, 0, 0);
}
.vscode-high-contrast h1 {
border-color: rgb(0, 0, 0);
}
.vscode-light table > thead > tr > th {
border-color: rgba(0, 0, 0, 0.69);
}
.vscode-dark table > thead > tr > th {
border-color: rgba(255, 255, 255, 0.69);
}
.vscode-light h1,
.vscode-light hr,
.vscode-light table > tbody > tr + tr > td {
border-color: rgba(0, 0, 0, 0.18);
}
.vscode-dark h1,
.vscode-dark hr,
.vscode-dark table > tbody > tr + tr > td {
border-color: rgba(255, 255, 255, 0.18);
}
</style>
<style>
/* Tomorrow Theme */
/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
/* Original theme - https://github.com/chriskempson/tomorrow-theme */
/* Tomorrow Comment */
.hljs-comment,
.hljs-quote {
color: #8e908c;
}
/* Tomorrow Red */
.hljs-variable,
.hljs-template-variable,
.hljs-tag,
.hljs-name,
.hljs-selector-id,
.hljs-selector-class,
.hljs-regexp,
.hljs-deletion {
color: #c82829;
}
/* Tomorrow Orange */
.hljs-number,
.hljs-built_in,
.hljs-builtin-name,
.hljs-literal,
.hljs-type,
.hljs-params,
.hljs-meta,
.hljs-link {
color: #f5871f;
}
/* Tomorrow Yellow */
.hljs-attribute {
color: #eab700;
}
/* Tomorrow Green */
.hljs-string,
.hljs-symbol,
.hljs-bullet,
.hljs-addition {
color: #718c00;
}
/* Tomorrow Blue */
.hljs-title,
.hljs-section {
color: #4271ae;
}
/* Tomorrow Purple */
.hljs-keyword,
.hljs-selector-tag {
color: #8959a8;
}
.hljs {
display: block;
overflow-x: auto;
color: #4d4d4c;
padding: 0.5em;
}
.hljs-emphasis {
font-style: italic;
}
.hljs-strong {
font-weight: bold;
}
</style>
<style>
/*
* Markdown PDF CSS
*/
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "Ubuntu", "Droid Sans", sans-serif, "Meiryo";
padding: 0 12px;
}
pre {
background-color: #f8f8f8;
border: 1px solid #cccccc;
border-radius: 3px;
overflow-x: auto;
white-space: pre-wrap;
overflow-wrap: break-word;
}
pre:not(.hljs) {
padding: 23px;
line-height: 19px;
}
blockquote {
background: rgba(127, 127, 127, 0.1);
border-color: rgba(0, 122, 204, 0.5);
}
.emoji {
height: 1.4em;
}
code {
font-size: 14px;
line-height: 19px;
}
/* for inline code */
:not(pre):not(.hljs) > code {
color: #C9AE75; /* Change the old color so it seems less like an error */
font-size: inherit;
}
/* Page Break : use <div class="page"/> to insert page break
-------------------------------------------------------- */
.page {
page-break-after: always;
}
</style>
<script src="https://unpkg.com/mermaid/dist/mermaid.min.js"></script>
</head>
<body>
<script>
mermaid.initialize({
startOnLoad: true,
theme: document.body.classList.contains('vscode-dark') || document.body.classList.contains('vscode-high-contrast')
? 'dark'
: 'default'
});
</script>
<h1 id="%E5%8A%9F%E8%83%BD%E8%AF%A6%E6%83%85">功能详情</h1>
<p>一些概念:</p>
<ul>
<li>课程:一门课</li>
<li><em>课堂</em>:实际上课的一门课程,即具体安排的一门课,同一个课程的不同时间安排,就是一个<em>课堂</em></li>
<li>选课:实际上就是在选课活动的时间内,学生对<em>课堂</em>的选择</li>
<li>选课活动:一个学期的选课活动,在选课时间段内学生可以进行任意的选课,是面向所有学生的,其对应课程在查看待选<em>课堂</em>时进行筛选</li>
</ul>
<blockquote>
<p>选课信息是实时的,不需要等待选课活动结束才能得到名单,也可以立即导出,在选课活动结束后只是学生不能再进行选课以及修改</p>
</blockquote>
<h2 id="%E7%94%A8%E6%88%B7%E5%AD%A6%E7%94%9F">用户(学生)</h2>
<ol>
<li>学生进入网页,使用教务处账号登录认证,获取学生信息,进入系统</li>
<li>进入系统后可自动获取显示自己专业自己年级待选的实验课列表</li>
<li>在选课时间段内,可点击相应的实验课后查看可选则的时间段。选择相应的时间段(+如可能,可以拉取教务处课表以供时间选择的参考)</li>
<li>在选课时间段内,可以任意更改所选课程的时间段。</li>
<li>选课结束后,可以查看已选择的时间,未来或许可能会将数据同步至武科大助手课表与教务处课表一同显示</li>
<li>课程结束后,可以按课程查看分数详情,包括平时分和考试分以及最后总分。(+如可能,可以将成绩细分为实验课内的每个实验项目)</li>
</ol>
<h2 id="%E6%95%99%E5%B8%88">教师</h2>
<ol>
<li>教师账号通过管理员手动添加</li>
<li>教师登陆后可以查看自己教授的课程,</li>
<li>查看自己教的课程列表,可以查看该课程相应的<em>课堂</em>,进而可以查看<em>课堂</em>信息(选课人数,时间等),包括学生名单,并将其导出为excel</li>
<li>教师可以按照<em>课堂</em>对全班学生进行成绩登记,包括平时成绩与考试成绩,管理员设定该<em>课堂</em>的成绩占比后可以立即计算所有学生的最终成绩,并将其导出excel</li>
<li>教师仍可以查看往期<em>课堂</em>的信息,包括学生名单和全班成绩信息等</li>
</ol>
<h2 id="%E7%AE%A1%E7%90%86%E5%91%98">管理员</h2>
<ol>
<li>管理员是负责对<em>课堂</em>、课程等信息进行管理的用户</li>
<li>管理员可以增删查改<em>课堂</em>、课程信息,设定相应的参数信息。</li>
<li>由管理员发布选课活动,设定<em>课堂</em>的成绩比例</li>
<li>管理员可以查看所有信息(学生+教师)</li>
<li>管理员也可查看未完整进行选课(一个或多个课程仍未进行选课)的学生列表(需要提前导入学生列表)</li>
</ol>
<p>一些信息的参数:</p>
<ul>
<li>选课活动:名称,学年学期(如2023-2024-1),目标年级(多选),目标专业(多选),开始时间,结束时间</li>
<li>课程:名称,课时,目标年级(多选),目标专业(多选)</li>
<li><em>课堂</em>:对应课程id,起始周,上课时间(12345678节等等),上课地点,成绩占比</li>
</ul>
</body>
</html>