第一篇:学生选课信息管理系统
学生选课管理信息系统规划
(1) 系统的意义与目标
随着学校的办学规模不断扩大,生源的急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量,学校如何做管理才能够降低成本又能够提高管理质量;老师如何工作才能达到既能减轻工作量又能提高工作水平成为一直探讨和研究的一门学科。伴随着计算机的盛行,信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟,学校需要与时俱进的发展,达到科学化和高效化的管理,就需要建立一套与自身特点相适应的管理信息系统来满足学校学分制改革的要求,便于操作使用。
通过正确的口令进入系统,进行数据库的维护操作和运用,对数据安全性有一定的保障,保密性好;进入系统后可对学籍信息、班级信息进行添加、修改、删除、查询操作;用来实现学生信息管理工作流程的系统化、规范化和自动化。
(2) 系统的用户需求
通过调查,要求系统需要有以下功能:
⑴ 由于操作人员的计算机知识普遍较差,要求有良好的人机界面;
⑵ 由于该系统的使用对象多,要求有较好的权限管理;
⑶ 原始数据修改简单方便,支持多条件修改;
⑷ 方便的数据查询,支持多条件查询;
⑸ 在相应的权限下,删除数据方便简单,数据稳定性好;
⑹ 数据计算自动完成,尽量减少人工干预;
学生选课管理系统的性能要求;
⑴软件的可行
以Windows XP为操作系统,运用SQL的数据库技术,根据科学的管理方法与编程技术设计、开发学生信息管理系统,能符合各种技术要求,拥有较高的存储能力和处理速度。该系统的运行硬件环境PC机,当用户使用系统时,通过正确的口令进入系统,进行数据库的维护操作和运用,对数据安全性有一定的保障,用户放心使用
(2)系统科学的分析
待开发模块的一般描述
本设计主要为学校学生信息管理提供一个使用方便、经济实用的系统模块,以替代传统的手工操作方式。对学生的基本信息模块进行了设计,包括添加、删除、查询学生信息等操作。
(3)模块设计
3.1 登录界面
登录界面的设计,主要是本着实用简便的原则设计制作。
3.2 主界面
当操作员的名称和密码均正确的时候,系统便会进入信息管理(主界面)。信息管理包括系统的所有主功能模块:学籍管理、班级管理、查询管理、退出系统。它可以实现录入学籍信息、录入班级信息、查询学籍信息(按学号、按姓名、按班级查询)、退出系统等功能。
3.3 信息管理
3.3.1添加学籍信息
当操作员点击学籍管理图片按钮进入子目录,继续点击添加学籍信息图片按钮,便可进入添加学籍信息界面,对学籍信息进行录入,添加学籍信息界面的结构(如图4):
3.3.2 修改学籍信息
当操作员点击学籍管理图片按钮进入子目录,继续点击修改学籍信息图片按钮,便可进入修改学籍信息界面,对学籍信息进行更改、删除,修改学籍信息界面的结构
3.3.3修改班级信息
当操作员点击班级管理图片按钮进入子目录,继续点击修改班级信息图片按钮,便可进入修改班级信息界面,对班级信息进行录入,修改班级信息界面的结构
3.3.5 数据库表
记录表信息,添加、修改后的信息保存于学籍信息表或班级信息表中。表中包含学号、姓名等字段,使用户直观、便捷的了解学生的基本情况3.3.4查询学籍信息
学籍信息的查询基于表,其中提供了按学号,按姓名,按班级三种查询,在选择按学号、按姓名或按班级后,可在文本框中输入要查询的姓名、学号或班级,然后点击“查询”可得到满足条件的查询结果。功能是便于操作人员对学籍信息的检索查询。如按班级查询,输入要查询的班级
4.系统调试
完成对流程的编码后,最重要的是对系统的测试工作。测试在系统设计阶段有两个时期,一个时期是在编码写完每个模块后做单元测试,另一个是对系统做综合测试。
第一、模块测试:在模块测试的时候,设计者从下面几个方面考虑:模块的结构;局部数据结构;重要执行通道;出错的处理通道;影响上述方面的边界条件。
第二、整体测试:总体测试是组装软件的系统技术,本系统采用渐增集成测试,即测试单一模块,再将测试完的模块加入到系统中,进行一次系统测试,以此类推将所以模块加入系统中,在具体测试时,采用自顶向下的结合方式,从主控模块开始,沿各控制层向下移动,逐渐把所以模块结合。
第三、评估运行可靠性的问题:结果正确;运行速度;空间利用率;
算法的可靠性
(3)系统经费概算
初步估算约需要20万,包括硬件资源,技术资源,开发费用。培训费用等。其中,开发期间约需8万。调试与运行约需6万元。
(4) 系统开发计划
本系统计划由开发小组(开发人员4人)用12个月完成,具体时间安排计划如下:
系统调研,系统分析:3个月
系统设计:2个月
系统程序设计:3个月
系统调试:2个月
系统试运行:2个月
第二篇:C语言课程设计学生选课系统
题目
一、学生选课管理系统
第一部分:课程设计名称、目的、要求
第二部分:程序总体设计思路
第三部分:程序功能划分、图示及流程图
第四部分:程序设计数据、运行结果
第五部分:程序的优缺点
第六部分:心得体会
第七部分:附录(源程序)
第八部分:附录(参考文献)
目录
... ........... . ..... ............... ................... ............. ...........
第一部分:课程设计名称、目的、要求
名称:学生选修课程系统设计
目的:运用C语言提高解决实际问题的能力 实验环境:Microsoft Visual C++ 6.0 内容:
假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。 【功能】
系统以菜单方式工作
课程信息录入功能(课程信息用文件保存)--输入 课程信息浏览功能--输出
查询功能:(至少一种查询方式)--算法 按学分查询 按课程性质查询 学生选修课程(可选项)
第二部分:程序总体设计思路
由于C语言是面对过程的语言,故我的设计思路是根据目标程序运行的过程来编写的。
具体的设计思路如下:
程序的要求是设计学生选修课管理系统,对选修课程能够进行录入和修改操作等,要求有菜单界面和退出功能。首先,考虑到程序的数据输入,可以设置一个管理员登陆选项,通过该选项进入管理员界面,进行选修课的录入和修改操作,最后将录入的课程保存到相应的文件中。然后定义各种函数的功能包括查看,查询,删除等。另一个为学生登陆界面,该界面学生可以进行课程选择和浏览查询等操作。在进行该操作之前需要对管理员保存的文件进行读取,然后对其中的内容进行查询等,在学生选好课程以后,可以将其选好的课程保存于相应的文件中,以便下次进行修改。通过函数的层层调用来实现程序的逻辑结构。中间通过文件的打开和关闭实现对文件内部所包含的数据的操作。
整个程序的设计思路到此结束。
第三部分:程序功能划分、图示及流程图
【功能模块划分及其流程图】
本程序功能模块根据程序设计的需求,综合程序的实用性、人性化、智能化的考虑,将程序划分为6个部分分别编写,程序主体功能将由这9个部分来完成。这9个部分依次是:
1. 登录界面函数;void login() 2. 学生登录界面据函数:void stu_login() 3. 管理员登录界面函数:void man_login() 4. 退出界面函数:void bye_sys()
5. 课程选择函数:void c_select() 6. 课程浏览函数:void c_view() 7. 课程查询函数:void c_search() 8. 课程增加函数:void c_add() 9. 课程删除函数:void c_delete() 10. 菜单函数:void index() 11. 主函数部分; main()
总体设计:
学生选课系统管理员登录学生登录新增课程删除课程课程浏览查询课程学生选课课程浏览课程查询c_add函数c_delete函数c_view函数c_search函数c_select函数c_view函数c_search函数
系统功能模块图
部分函数流程图:
1、 课程选择函数:
开始输入要选择的课程的编号j=0;j
2、 课程查询函数
开始输入要查询的课程的编号j=0;j
3、 课程增加函数
开始输入要增加的课程的编号j=0;j
4、课程删除函数
开始输入要删除的课程的编号nj=0;j
本程序是一款应用软件,故数据设计、程序运行结果应在程序的
运用中得以体现,现在通过一个程序的运用事例来对程序运行结果进行演示与实现。 【软件运用举例】
1、程序开始界面如下:
选择某个选项,如进行管理员登录,进行课程的增加 进入管理员界面:
2、再选择所要进行的操作,如进行课程增加,结果如下:
下面可以进行继续增加课程或者退出:
3、选择课程浏览,可以分页查看相应的课程信息: 第一页:
第二页:
4、课程查询
查找结果:
4、 管理员课程删除操作:
删除后可以进行浏览,观察删除后的结果:
可见删除后只有一条记录。删除操作完成正确。 下面进行学生操作的使用方法:
1、学生登陆界面:
2、选择学生选课选项:
3、学生登陆也可进行课程浏览和查询函数,其结果与管理员登陆相同,不再演示。
第五部分:程序的优缺点
【程序的优点】
算法是程序的灵魂,程序的优点首先表现在算法上的优点,其次才是功能上的。
[算法上的优点]主要体现在以下三点:
1. 程序采用main主函数方式设计,程序的主体的功能大都由该功能
完成。程序如此设计有利于程序的进一步改进及有助于程序执行效率的提高。
2. 程序对文件数据的读写采用了fread和fwrite块读写函数,能够将文件中的数据完全读出,然后赋到定义的数组中,再在相应的数组中进行一系列操作,最终再写入文件。
3. 插入操作在本程序中将课程信息直接插入数组最后一个节点,从而减少了数据的相互移动,节省了时间。
[功能上的优点] 主要体现在以下两点:
1. 简洁明了的程序菜单。程序主要采用了层次不同的菜单,相互独立又相互联系,巧妙相接,符合用户的使用习惯与思维。 2. 人性化的程序提示语言,程序提示语言较人性化,不仅大多为祈使语句、疑问句,而且提示明确,具有较强的明确的指导作用。程序提示不仅层次分明,提示方式多样,而且提示信息井然有序,更加有利于用户顺利、准确地看懂程序并进行操作。
【程序的缺点】 主要表现在以下两点:
1、 本程序没有进行相应的密码操作,所以对于使用者来说可能存在比较大的不保密性。需要改善。
2、 本程序没有使用文本读写函数fscanf和fprintf,所以的到的课程文件和选课文件都是二进制形式。
第六部分:心得体会
选课系统程序比起通讯录程序来讲好写一些,由于本程序用到了数组,对于数组的操作掌握的比较熟练,所以在编写程序的时候困难没有那么多。
本程序在编写的过程中用到了许多通讯录中的模块化设计和函数互相调用的思想,使得编写比较方便和好用。
通过该系统的课程设计分析,我掌握了模块化设计的方法,理解和运用了结构化程序设计的思想和方法,掌握和提高了运用C语言进行程序设计的能力。
程序设计的过程,实际上是确定解决问题的详细步骤,而这个步骤通常叫做流程,在程序设计过程中理清楚整个问题的流程很重要,然后采取逐步细化的方法实现整个程序。
对于一个较大的应用程序,一般不可能一次就设计出一个很完善的系统。通常要先设计满足基本要求的系统,然后再测试或者在使用的过程中不断完善,慢慢地做成一个功能很完善选修课程管理系统。所以在进行调试的时候需要对许多变量理解和掌握其变化规律等,这对于我更好的掌握visual C中调试的工具有很大的帮助。
总之经过这次课程设计,我对c语言的使用和理解都有了很大的加深,对于编程的思想也有了很多新的理解和感受。
第七部分:附录
一、参考文献:
1、李丽娟主编 ,C语言程序设计教程(第二版),人民邮电出版社
2、严蔚敏主编,数据结构(C语言),清华大学出版社
3、崔单主编,C语言程序设计案例精粹,电子工业出版社
4、谭浩强主编,程序设计(第三版),清华大学出版社
二、源程序
#include"stdio.h" #include"stdlib.h" #include"windows.h" #include"string.h"
void index();//首页 void login(); void bye_sys();//退出界面
void stu_login();//学生登录菜单
void c_select(); void c_view();//课程浏览
void c_add();//增加课程 void c_delete(); void c_searchs();//学生查询函数 void c_searchm();//管理员查询函数 void c_viewm();//管理员浏览函数 void c_views();//学生浏览函数
struct course//定义课程结构体
{
int c_num;
char c_name[20];
int c_score;
int c_nelepeo;//课程已选人数
int c_melepeo;//课程人数上限 }; struct student { char s_number[10];
char s_password[10]; }; struct manager { char m_name[10]; char m_password[10]; };
void index()//首页 {
char input;
printf(" ***************************** ");
printf("
湖南大学学生选课系统 ");
printf(" ***************************** ");
printf(" ***************************** ");
printf(" ***************************** ");
printf(" ***************************** ");
printf(" **********设计者:刘晓斌****** ");
input=getchar();
system("cls"); } void login()//登陆界面
{
void stu_login();
void man_login();
void bye_sys();
int input;
do
{
system("cls");
printf(" 1.学生登录 ");
printf(" 2.管理员登陆 ");
printf(" 3.退出本系统 ");
printf(" 请选择服务类别:");
scanf("%d",&input);
if (input!=1&&input!=2&&input!=3) //输入数不等于选项的时候打印画面
{
printf(" 输入出错!请重新选择~ ");
printf(" 按任意键返回选择页面~ ");
getchar();getchar();
system("cls");
}
if(input==3)//如果输入3退出系统
{
bye_sys();
}
}while(input!=1&&input!=2&&input!=3);
switch(input)
{
case 1:stu_login();break;
case 2:man_login();break;
} }
void bye_sys()//退出界面 { exit(0); }
void man_login() {
void c_add();
void c_delete();
void c_view();
void c_searchm();
int in;
do
{
system("cls");
printf(" 1.新增课程 ");
printf(" 2.删除课程 ");
printf(" 3.课程浏览 ");
printf(" 4.课程查询 ");
printf(" 5.退出 ");
printf(" 请选择服务种类:");
scanf("%d",&in);
if(in!=1&&in!=2&&in!=3&&in!=4&&in!=5)
{
printf(" 没有这项服务 按任意重新选择");
getchar();getchar();
}
}while(in!=1&&in!=2&&in!=3&&in!=4&&in!=5);
switch(in)
{
case 1:c_add();break;
case 2:c_delete();break;
case 3:c_viewm();break;
case 4:c_searchm();break;
case 5:login();break;
} }
void stu_login()//学生登录菜单
{
void c_select();
void c_view();
void c_searchs();
void login();
int input;
do
{
system("cls");
printf(" --学生登陆--");
printf(" 1.学生选课 ");
printf(" 2.课程浏览 ");
printf(" 3.课程查询 ");
printf(" 4.退出 ");
scanf("%d",&input);
if(input!=1&&input!=2&&input!=3&&input!=4)
{
printf(" 没有这项服务~ ");
printf(" 按任意键重新选择");
getchar();
getchar();
}
}while(input!=1&&input!=2&&input!=3&&input!=4);
switch(input)
{
case 1:c_select();break;
case 2:c_views();break;
case 3:c_searchs();break;
case 4:login();break;
} }
void c_select() {
int n,in,i=0,j;int flag=0;
FILE *fp;
FILE *fp1;
char input;
struct course courses[10];
if((fp=fopen("course.dat","rb"))==NULL) //判断是否存在课程
{
printf(" 课程不存在 ");
printf(" <按任意键返回管理菜单> ");
input=getchar();
input=getchar();
stu_login();//进入学生登陆菜单
}
else//存在的话循环读取文件中的信息直到文件指针到文件尾部
{
do
{
fread(&courses[i],sizeof(struct course),1,fp);
i=i+1;
}
while(!feof(fp));
fclose(fp);//文件读完后关闭
}
printf(" 请输入你要选课程的编号:");
scanf("%d",&n);
if((fp1=fopen("courseselect.dat","rb"))==NULL)
{
fp1=fopen("courseselect.dat","wb");
}
else
{
fclose(fp1);
fp1=fopen("courseselect.dat","ab");
}
for(j=0;j
if(courses[j].c_num==n)
flag++;
if(flag==0)
{
printf(" 不存在对应课程 ");
printf(" 继续选课请按1,退出请按2: ");
scanf("%d",&in);
switch(in)
{
case 1:c_select();break;
case 2:stu_login();break;
default:
printf("输入错误,将返回登录界面! ");
login();break;
}
}
else
{
fwrite(&courses[j],sizeof(struct course),1,fp1);
fclose(fp1);
printf(" 选课成功 请选择:");
printf(" 1.继续选课");
printf(" 2.退出,返回登录界面!");
scanf("%d",&in);
switch(in)
{
case 1:c_select();break;
case 2:stu_login();break;
default:break;
}
} }
void c_viewm()//课程浏览
{
void stu_login();
void c_view() ;
int
inp,i=0,n=0;
FILE *fp;
char input;
struct course courseview[10];
if((fp=fopen("course.dat","rb"))==NULL) //判断是否存在课程
{
system("cls");
printf(" 课程不存在 ");
printf(" <按任意键返回管理菜单> ");
getchar();getchar();
stu_login();//进入学生登陆菜单
}
else//存在的话循环读取文件中的信息直到文件指针到文件尾部
{
do
{
fread(&courseview[i],sizeof(struct course),1,fp);
i=i+1;
}
while(!feof(fp));
fclose(fp);//文件读完后关闭
do
{
system("cls");
if(i==1)
{
printf(" 没有记录! ");
getchar();getchar();
man_login();
}
else
{
printf(" ------共有%d条记录-------",i-1);
printf(" 课程编号: %d ",courseview[n].c_num);
printf(" 课程名字: %s ",courseview[n].c_name);
printf(" 课程学分: %d ",courseview[n].c_score);
printf(" 课程已选人数: %d ",courseview[n].c_nelepeo);
printf(" 课程人数上限: %d ",courseview[n].c_melepeo);
printf(" 1.上一页 2.下一页 3.回目录");
printf(" 请选择:");
scanf ("%d",&inp);
switch(inp)
{
case 1:
{
if(n==0)
{
printf(" 已到达首页 按任意键返回");
input=getchar();
input=getchar();
}
else
{
n=n-1;
}
break;
}
case 2:
{
if(n==i-2)
{
printf(" 已到达尾页 按人意见返回");
input=getchar();
input=getchar();
}
else
{
n=n+1;
}
break;
}
case 3:{man_login();break;}
default:
{
printf(" 操作错误 按任意键返回");
getchar();getchar();
break;
}
}
}
}while(inp!=3);
} }
void c_views()//课程浏览
{
void stu_login();
void c_view() ;
int
inp,i=0,n=0;
FILE *fp;
char input;
struct course courseview[10];
if((fp=fopen("course.dat","rb"))==NULL) //判断是否存在课程
{
system("cls");
printf(" 课程不存在 ");
printf(" <按任意键返回管理菜单> ");
getchar();getchar();
stu_login();//进入学生登陆菜单
}
else//存在的话循环读取文件中的信息直到文件指针到文件尾部
{
do
{
fread(&courseview[i],sizeof(struct course),1,fp);
i=i+1;
}
while(!feof(fp));
fclose(fp);//文件读完后关闭
do
{
system("cls");
if(i==1)
{
printf(" 没有记录! ");
getchar();getchar();
stu_login();
}
else
{
printf(" ------共有%d条记录-------",i-1);
printf(" 课程编号: %d ",courseview[n].c_num);
printf(" 课程名字: %s ",courseview[n].c_name);
printf(" 课程学分: %d ",courseview[n].c_score);
printf(" 课程已选人数: %d ",courseview[n].c_nelepeo);
printf(" 课程人数上限: %d ",courseview[n].c_melepeo);
printf(" 1.上一页 2.下一页 3.回目录");
printf(" 请选择:");
scanf ("%d",&inp);
switch(inp)
{
case 1:
{
if(n==0)
{
printf(" 已到达首页 按任意键返回");
input=getchar();
input=getchar();
}
else
{
n=n-1;
}
break;
}
case 2:
{
if(n==i-2)
{
printf(" 已到达尾页 按人意见返回");
input=getchar();
input=getchar();
}
else
{
n=n+1;
}
break;
}
case 3:{stu_login();break;}
default:
{
printf(" 操作错误 按任意键返回");
getchar();getchar();
break;
}
}
}
}while(inp!=3);
} }
void c_searchs() {
void stu_login();
void c_searchs();
int id,i=0,j,inp,k;
int flag=0;
FILE *fp;
struct course coursesear[10];
if ((fp=fopen("course.dat","rb"))==NULL)
//判断课程信息是否存在
{
system("cls");
printf(" 课程不存在 按任意键返回");
getchar();getchar();
stu_login();
}
else//存在的话循环读取文件中的信息直到文件指针到文件尾部
{
do
{
fread(&coursesear[i],sizeof(struct course),1,fp);
i=i+1;
}while(!feof(fp));
fclose(fp);
}
system("cls");
printf(" 请输入你要查询的课程编号:");
scanf("%d",&id);
do//检查输入是否符合要求
{
for(j=0;j
{
if(id==coursesear[j].c_num)
{
flag++;
k=j;
}
}
if(flag==1)
{
system("cls");
printf(" 课程编号:%d ",coursesear[k].c_num);
printf(" 课程名字:%s ",coursesear[k].c_name);
printf(" 课程学分:%d ",coursesear[k].c_score);
printf(" 课程已选人数:%d ",coursesear[k].c_nelepeo);
printf(" 课程人数上限:%d ",coursesear[k].c_melepeo);
getchar();getchar();
printf(" 1.回目录继续查询 2.退出查询系统 ");
printf("请选择:");
scanf("%d",&inp);
switch(inp)
{
case 1:c_searchs();
case 2:stu_login();
default:
{
printf(" 没有这项服务 请按任意键重新输入");
getchar();getchar();
}
}
}
else
{
system("cls");
printf(" 不存在对应记录 ");
printf(" 1.回目录继续查询 2.退出查询系统 ");
printf("请选择:");
scanf("%d",&inp);
switch(inp)
{
case 1:c_searchs();
case 2:stu_login();
default:
{
printf(" 没有这项服务 请按任意键重新输入");
getchar();getchar();
}
}
}
}while(inp!=1);
}
void c_searchm() {
void stu_login();
void c_searchm();
int id,i=0,j,inp,k;
int flag=0;
FILE *fp;
struct course coursesear[10];
if ((fp=fopen("course.dat","rb"))==NULL)
//判断课程信息是否存在
{
system("cls");
printf(" 课程不存在 按任意键返回");
getchar();getchar();
stu_login();
}
else//存在的话循环读取文件中的信息直到文件指针到文件尾部
{
do
{
fread(&coursesear[i],sizeof(struct course),1,fp);
i=i+1;
}while(!feof(fp));
fclose(fp);
}
system("cls");
printf(" 请输入你要查询的课程编号:");
scanf("%d",&id);
do//检查输入是否符合要求
{
for(j=0;j
{
if(id==coursesear[j].c_num)
{
flag++;
k=j;
}
}
if(flag==1)
{
system("cls");
printf(" 课程编号:%d ",coursesear[k].c_num);
printf(" 课程名字:%s ",coursesear[k].c_name);
printf(" 课程学分:%d ",coursesear[k].c_score);
printf(" 课程已选人数:%d ",coursesear[k].c_nelepeo);
printf(" 课程人数上限:%d ",coursesear[k].c_melepeo);
getchar();getchar();
printf(" 1.回目录继续查询 2.退出查询系统 ");
printf("请选择:");
scanf("%d",&inp);
switch(inp)
{
case 1:c_searchm();
case 2:man_login();
default:
{
printf(" 没有这项服务 请按任意键重新输入");
getchar();getchar();
}
}
}
else
{
system("cls");
printf(" 不存在对应记录 ");
printf(" 1.回目录继续查询 2.退出查询系统 ");
printf("请选择:");
scanf("%d",&inp);
switch(inp)
{
case 1:c_searchm();
case 2:man_login();
default:
{
printf(" 没有这项服务 请按任意键重新输入");
getchar();getchar();
}
}
}
}while(inp!=1); }
void c_add()//增加课程 {
void c_add();
void man_login();
int i=0,j,inp;
FILE *fp;
struct course course_new;
struct course courses[10];
system("cls");
printf(" 请输入课程信息");
printf(" 1.课程编号:");
scanf("%d",&course_new.c_num);
printf(" 2.课程名字:");
scanf("%s",course_new.c_name);
printf(" 3.课程学分:");
scanf("%d",&course_new.c_score);
printf(" 4.课程已选人数:");
scanf("%d",&course_new.c_nelepeo);
printf(" 5.课程人数上限:");
scanf("%d",&course_new.c_melepeo);
if((fp=fopen("course.dat","rb"))!=NULL)
{
do
{
fread(&courses[i],sizeof(struct course),1,fp);
i=i+1;
}while(!feof(fp));
fclose(fp);
for(j=0;j<=i-1;j++)
if(course_new.c_num==courses[j].c_num)
{
system("cls");
printf(" 对不起,这个编号已经使用过 按任意键返回管理菜单");
getchar();getchar();
man_login();
break;
}
}
if((fp=fopen("course.dat","rb"))==NULL)
{
fp=fopen("course.dat","wb");
}
else
{
fclose(fp);
fp=fopen("course.dat","ab");
}
fwrite(&course_new,sizeof(struct course),1,fp);
fclose(fp);
printf(" 信息输入完毕 按任意键继续");
getchar();getchar();
do
{
system("cls");
printf(" 1.继续输入");
printf(" 2.返回管理菜单");
printf(" 请选择");
scanf("%d",&inp);
if(inp!=1&&inp!=2)
{
printf("输入不符合要求 按任意键重新选择");
getchar();getchar();
}
}while(inp!=1&&inp!=2);
switch(inp)
{
case 1:c_add();break;
case 2:man_login();break;
} }
void c_delete()//查询后删除 {
FILE *fp;
int i=0,j,n,k,flag=0;
struct course courses[10];
void c_delete();
void man_login();
printf(" 请输入你要删除的课程编号:");
scanf("%d",&n);
if((fp=fopen("course.dat","rb"))!=NULL)
{
do
{
fread(&courses[i],sizeof(struct course),1,fp);
i=i+1;
}while(!feof(fp));
fclose(fp);
}
else
{
printf(" 不存在任何课程 按任意键返回");
getchar();getchar();
man_login();
}
for(j=0;j
{
if(courses[j].c_num==n)
{
flag=1;
fp=fopen("course.dat","wb");
for(k=0;k
fwrite(&courses[k],sizeof(struct course),1,fp);
fclose(fp);
fp=fopen("course.dat","ab");
for(k=j+1;k
{
fwrite(&courses[k],sizeof(struct course),1,fp);
}
printf(" 记录已删除! 按任意键返回 ");
getchar();getchar();
man_login();
fclose(fp);
}
}
if(flag==0)
{
printf(" 不存在对应的课程 按任意键返回");
getchar();getchar();
man_login();
} // printf(" 记录已删除! 按任意键返回 ");
}
int main() {
index(); login(); return 0; }
第三篇:学籍信息核对和选课通知
关于2011级研究生新生学籍信息核对和选课的通知
各院(系、所):
2011年9月4日-9月30日为2011级研究生新生学籍信息核对时间,2011年9月5日-9月18日为研究生新生选课时间,登陆网址为南开大学信息门户(http://urp.nankai.edu.cn)。2011级学历研究生信息门户登陆账号为本人学号,密码命名规则请见网址http://urp.nankai.edu.cn/denglu.htm,现役军人、港澳台学生及留学生密码默认为六个“1”。2011级研究生登陆门户后需完成新生信息核对及本人培养方案的选择,完成后方能开始正常选课,其中本人手机号为必填项,新生信息核对的说明请见附件一。
注册问题解决:财务处注册中心(大学生活动中心一楼) 电话:23507128。
课程安排等教务问题:请咨询所在院系所的教务干事或者研究生院培养办公室(电话:23508893)。
信息核对及选课系统技术问题解决:研究生院综合办公室行政楼202 电话:23502992。 信息核对相关证明材料提交及审核:研究生院培养办公室学籍科行政楼208电话:23502548。
研究生院
2011年9月1日
附件一:
研究生新生信息确认和选课等相关工作说明
1.新生信息确认工作
新生登录信息门户后,首先初始化个人信息,请务必填写密码找回邮箱。初始化完成后,进入信息门户个人主页面,请在左下方位找到“应用直通车”,选择进入“研究生系统”,开始新生信息确认,如图1所示。
图1 进入研究生系统
进入到研究生系统后,选择左侧的学籍管理模块的新生信息确认子模块,如果图2所示。
图2 新生信息确认子模块
进入到新生信息确认子模块后,开始个人信息确认。请新生据实尽可能全面的核对、补充和修改个人信息。其中姓名、性别、出生日期、证件类型、证件号码、院系代码、专业代码和学生类别代码等8项内容,新人修改提交后,需将证明材料送至研究生院培养办公室学籍科行政楼208,经审核同意后方能变动。
1、姓名变更:必须提供由当地派出所出具正式的姓名变更证明材料,并加盖派出所公章,附加派出所的办公电话,同时提供准考证复印件;
2、身份证号变更:变更前后的身份证号如果属于正常升位则不用提供任何证明材料,否则必须提供由当地派出所出具正式且带有骑缝章的身份证号变更证明材料,并加盖派出所公章,附加派出所的办公电话,同时提供准考证复印件;
注:身份证号正常升位是指:对于居民身份证号,扣除18位身份证号中的第7位、第8位和第18位后,剩余的15位身份证号如果和升位前的身份证号一致,则为正常升位,否则为变更身份证号:例如:原身份证号:120104840816311,新身份证号:120104198408163117,该类情形的身份证号变更属于身份证号的正常升位。
3、性别、出生日期信息有误:必须提供身份证复印件,同时提供准考证复印件;
4、因转专业或转学院发现专业、学院信息不一致,必须提供转专业或转学院申请审批表;
5、专业、学院信息有误:请在网上直接提交变更申请即可,无须提供证明材料;
图3 新生信息确认界面
由于新生信息核对内容较多,为防止出现网络故障造成已填信息丢失情况,请及时点击页面下端的保存按钮,保存已填信息,见图4。个人信息中手机号码为必填信息,否则无法进入选课流程。全部信息核对和修改完毕后,请点击页面底部的“提交”按钮,完成个人信息核对。
图4 保存和提交信息
2.个人培养方案选择工作
在新生信息确认界面中,完成信息核对提交后,请在界面上方选择“培养方案确认”选项卡,如图5。
图5 选择“培养方案确认”选项卡
进入到“培养方案确认”界面后,请按照提示,根据自己所属院系所和专业情况,选择正确的培养方案,个人不确认自己的培养方案将无法进入选课环节。
3.选课工作
完成新生信息确认和个人培养方案确认工作后,进入选课环节。回到信息门户个人首页的“应用直通车”栏目,点击进入“研究生选课系统”,如图6所示。
图6 研究生选课系统
选课系统的帐号和密码与信息门户的帐号和密码相同。进入选课系统后,请严格按照本专业的培养方案,根据选课系统中具体的开课情况,合理安排本人本学期的课程,如图7所示。关于课程的具体安排疑问,请咨询所属院系的负责教务老师。
进入选课系统后,如系统提示“未注册”,请联系财务处注册中心(大学生活动中心一楼),电话:23507128;
如系统提示“未选择培养方案”,请仔细查看本说明的个人培养方案确认环节;
如系统提示“未填写手机号码”,请回到新生信息确认环节,填写本人的手机号码。
图7 研究生选课界面
请勿自行使用外专业课程选课功能,跨专业选课。此功能只有经履行相关手续后,方能
使用。研究生擅自使用外专业课程选课功能,所造成的一切后果由研究生本人负责。
第四篇: 选课系统全分析
一、系统功能及需求分析
(一)系统功能
选课系统含登录验证模块、学生选课模块、管理员模块。学生通过本系统,可透过浏览器查询课程安排、教师及选课情况等;管理员通过本系统,可对全校学生进行选修课的统筹管理,如修改、添加、查询、删除等,从而为教务工作提供决策信息。
(二)需求分析
分析一:系统应该满足以下几个方面需求:
1. 某些选修课程因为前序课程或者教学管理资源的限制,要求系统能对课程选修人数、选修学生年级、专业等进行限制。
2. 选课过程需具有时效性,系统要能在短时间内响应大量学生的查询和选课要求,並及时处理。
3. 教务部门能及时掌握课程选修情况,系统界面直观,操作简单,学生不需经任何培训即可操作。
4. 系统要提供数据输出接口以供教务员作后期处理及保存。包括作为以后查询和评估使用的资料。
分析二:系统要实现的功能分为二大模块:
管理员模块:
1. 负责统一管理,包括课程的查询、添加、修改和删除;
2. 限制选修条件的管理,包括条件的添加、修改和删除;
3. 统一管理用户,包括管理员和学生用户的管理;
4. 系统公告的管理;
5. 数据的管理和数据导出;
6. 管理员密码管理和学生密码的初始化操作。
学生选课模块: 1. 从课程列表中选择所要选修的课程;
2. 查询已选课程及其相关信息,包括上课时间及地点;
3. 修改自己的登录密码。
(三)系统功能模块划分
系统功能框图
四、系统模块分析与用户界面设计
(一) 系统模
(二)系统模块说明 根据用户需求分析和数据字典设计,把系统模块划分为:三大模块和三个子模块。它们分别是登录验证模块、管理员模块、学生选课模块三大模块以及管理员模块下的选修课程管理子模块、用户管理子模块和数据导出、导入子模块。
1. 登录验证模块
该模块用于检查用户的登录,管理员、学生的登录。确保只有合法的用户才能
进
入
系
统
进
行
相
应
操
作
。
2.管理员模块
管理员模块是该系统中功能最为强大的一个模块,管理员可在此完成对整个系统的管理以及维护,课程的添加,新学生的登记也都要通过该模块完成。
在管理员模块中,管理人员可进行管理账号的添加、删除等操作,还可以分别对学生、课程进行管理。在学生、课程管理中,都具有相同的功能:查询、添加、修改、删除,只是根据各自情况的不同,实现了查询或添加。例如:在学生管理中可以通过班级、学生姓名等不同条件进行查询,在课程管理中提供了专门的页面对大量的课程信息进行录入。
(1)选修课程管理子模块
该模块用于管理员对选修课程进行添加、修改、删除、查询等操作。
选修课程的添加分两个步骤:第一步是输入基本信息;第二步是录入选修课程的限选条件。
为了更全面掌握学生的选课情况,管理员可以对学生进行选课情况查询与退选的操作。当然这些操作都是特殊情况下由管理员进行的,具体实现是在“学生选修情况查看”的界面中完成。
(2)用户管理子模块
用户管理模块可具体分为管理员的管理和对学生用户的管理两种功能,其中管理员的管理功能较为简单,功能包括修改信息、密码的修改。
而对学生的管理功能,除了信息、密码的修改之外,因为学生数据可能存在着误差,在选课过程中可能会出现部分学生名单不在该系统或学生所属专业不正确,而最终造成学生不能选课或所选课程与所在专业的课程不一致的情况出现,所以要提供管理员添加学生、修改学生和修改班别或专业的功能。
(3)数据导出、导入子模块
因为选修课是一种实际的上课过程,在上课过程中我们需要点名考勤和成绩打印,所以本系统提供数据导出功能,管理员把数据导出成EXCEL文件让教务员进行处理,让老师掌握课程的学生人数和姓名,方便日后教学工作的正常展开。另因为学生的数据量较大,所以系统提供了数据接口来对学生数据进行导入。
3.学生选课模块
学生选课模块是系统最主要的功能,因为选课系统平台的大部分数据输入都是由大量学生的选课操作获得的。选课模块的设计虽然并不复杂,但是对稳定性的要求相对较高,这要求在设计上尽量少的占用系统资源,以防止出来因服务器系统资料不足而导致无法正常运行的情况。
登录系统主界面后,用户查看可选的课程名称列表,然后点击“选修”。因而显示直观,并会显示限定选修人数和已经选修人数,如果选修人数满或该课程取消,不会显示“选修”两字。正常情况下用户只需点击“选修”就可以完成选课程序。
因为选课操作是一项最重要也最容易出问题的操作,所以,为防止数据出现混乱,在这一步骤中需要采取严格的判断与验证措施。
下列情况将无法通过验证:
页面显示验证(无法显示“选课成功”页面);
(1)课程已经到达限选人数;
(2)重复选取该课程。
页面提交验证(无法提交到数据库)
(1)从外部提交数据
(2)超时登录
严格的验证保证了数据的准备可靠,不至于出现选课数据和实际情况不符的现象。
六、总结及说明
(一)开发总结
选课系统已经在校园网上的运行了一段时间並成为课程改革的重要组成部分。该系统受到老师们和同学们的普遍欢迎,因为系统避免了复杂的课程安排,也方便了同学们根据自己的情况自由选课。它在使用中不受时间地点的限制,只要在校内的任何一台终端均可登录本系统。该系统不仅给学生创造了良好的选课环境,也方便了教师对学生情况的了解和管理。
但是,在使用过程中也出现了一些问题,这些问题或多或少影响到系统的使用效果和用户的使用体验。主要存在以下问题:
1. 系统对学生选课的控制策略尚不够完善。
例如不能提示学生那类选修课还没有进行选取,无法控制哪些学生不能选择某些课程等。如果某个专业的学生本学期是不用上选修课,系统也无法阻止该学生登录系统。总而言之,系统的控制策略部分仍不完善,这是本系统的一个比较大的缺陷。
2. 系统运行速度不稳定。
由于我校是采用集中选课,当几百名学生同时登录系统进行选课操作,服务器会呈现死机状态,往往发生一些严重的数据错误。
解决方案:(1)进一步优化数据库设计和程序代码,使其占用更少量的系统资源;(2)改善服务器配置
3. 数据的安全性不高。
因为本系统是挂靠在校园网站的服务器上运行的,该服务器使用了多项服务,内容庞杂,管理不够严格,所以数据的保密性并不良好。 4. 与学校成绩录入系统的接口还没有实现。
因为每个学期的实验成绩都要上报至学校教务处,而学校教务处的成绩录入是采用另外的系统和方案进行的,本系统没有实现和教务处成绩录入系统的对接,所以每个学期末老师们仍然必须采用手工录入的方式向教务处的录入系统录入成绩,这给老师们增加了很大的工作负担。
第五篇:大学生选课情况调研报告
(一)
现在的高校都以网上的形式让学生自由地选择课程,除必修课外,选修课的自由选择让学生更好的发挥了个人的特产。让学生在自由选择的同时也达到了深化学生的人生观,价值观和世界观的目的。公共选修课涉及的范围广,既包括了政治,经济,文化教育,宗教,也包括了人文,地理等方面的内容。可以说,选修课是一个知识丰富的海洋。
为了理解本校学生对网上选课及公共选修课的学时态度。特开展了一次网上选课的调查活动。调查活动的主要形式采取问卷调查,主要对象为大一大二的在校学生。问卷总共设有11道选择题和一道主观题。根据本次调查结果和本人的计算表明,本校学生对网上选课及选修课的学习呈现出不满意的状态。
调查结果表明,无论是大一大二的学生,大约60%的学生表现出不满意的态度,大约30%的学生持有比较满意的态度,而仅有大约10%的学生表示满意。而出乎意料的是大约40%的学生是为了完成学分或者受学校的教学管理规定制度的要求才去选的,大约60%的学生选择的目的为了提高综合素质,增强社会适应能力或者个人的兴趣爱好等。而让人觉得欣慰的是大约90%的学生都会去上课,还没有出现过没有学生没有去上课的情况。而在上课的学生当中,其中大约70%是认真听课的,大约20%在做自己的事,大约10%在聊天。作为考试方式,相以平时成绩代替的和开卷考试的各占20%,大约40%的学生喜欢以交论文的方式作为考试方式,而有10%的学生想以闭卷的方式。当提到选课限制时,大约80%的学生认为学校的选课限制是不合理,大约15%的学生表示无所谓,而仅有5%的学生认为是合理的。大约80%的学生认为选修课的学习比较有用,大约5%的学生认为没有任何作用,大约15%认为很有用。
为什么本校的学生对网上选课和选修课的学习出现如此令人不满意的态度,通过调查结果和本人的分析,可得出以下原因:
(一)学校学生多,而开班的数量少,根本满足不了学生的需求,这样就很容易出现学生”抢“课的现象,这样就不能让学生选自自己喜欢的课程。
(二)学生上课不听课,在底下聊天,睡觉以及调课现象的发生。这些都是因为他们觉得老师的授课内容和方式都太无聊,根本就不能引起同学的兴趣。而老师在讲台上讲课也很少理会在下面的学生,只顾在上面夸夸其谈,根本不在乎是否有人在听课。可以说,这样的授课方式为”对牛弹琴”。
(三)大部分的学生认为对选修课的学习是一种浪费,因为他们认为这样的课程对他们以后的就业根本不起任何作用,只是机械的去完成学校规定的学分而已。而且购买的教材资料也没有必要,因为他们觉得学校的课程每年基本都一样,老师授课的内容也基本没有什么变化,没有必要每一次都要购买新的课本。
(四)学校安排的选课时间段很不合理。因为每次选课都是全校性的选择,虽然校方也开放了多媒体教室供学生使用,但是由于学生人口基数大,学校里的电脑和周边的网吧根本供不应求。这就使一些没有电脑的同学一时没有机会选课。
(五)学生的积极性不高。以为所选的课程不是自己喜欢的或者老师授课的内容太枯燥无味,久而久之就会导致学生的学习兴趣低沉。这就很容易引起学生抵触和排斥去上课的心理。
(六)授课的内容不切实际。部分选修课的内容与一些专业的关系不大。而且有时老师对社会存在的问题分析得不切实际,只是个人的片面理解,个人的主观因素大于客观存在因素。
(七)学校是课程安排不合理。比如说本科生至少要通过艺术类选修课程的学习并取得2个学分的安排,这就是一个大问题。校方本来学生就多,而且是年年增加,而艺术类课程的开班数却没有什么变化。这就使很多快要大三的学生没有修到艺术类的学分。而且有些课程安排在午休的时间段,这不仅影响了老师和同学的休息时间,也大大减低了学习的效率,而且有些学生一天都满课,这就更增加了他们的负担,这样不仅影响身体,而且下午学习也没有精力。
虽然我们学校的选课系统和选修课的教学都存在问题,但是只要做到具体问题具体分析,任何问题都是可以解决的。因此,针对以上的情况,本人提出了一些建议:
(一)对学校的建议
(1)增加选修课的开班数,特别是艺术类课程的开班。尽量满足学生的需要,让学生选择自己喜欢的课程。
(2)增加师资,提高教学水平。老师应该做到理论与实践相结合,尽量减少理论性教学,更加倾向实践性与实用性。
(3)增加课堂的活跃性,老师应与学生们相互沟通,活跃课堂气氛,尽量避免老师一个人在唱“独角戏”,灵活运用教学资源,例如多媒体教学等。
(4)做到教材自愿购买原则。这一方面节省了学生的费用支出,也可以使资源得到循环利用。
(5)选修课的开设赢更加注重实用性,贴近生活,形式多种多样,而且更加注重培养学生的情操和技能。
(6)调整上课时间,尽量做到避免把课程安排在午休时段。应该更加注重质量而非速度。
(7)考虑选课人数的比例,应该分批选择,免得学校的选课系统因为人数太多而瘫痪,也可以避免有些学生因为没有电脑而选不上。
(二)对学生的建议
(1)端正学习心态,认真学习,尽量避免“选而不学”现象的发生。
(2)充分利用教学资源。比如要多与老师沟通,不懂就问。充分利用多媒体,图书馆等。
(3)做到理论与实践相结合。因为在课堂上汲取一点都是一些理论知识,这就需要你在课后将这些东西运用到实践中。
(4)培养“既来之,则学之”的心态。既然你已经不能改变结果,那你就应该来哦完善过程。
以上是我提出的建议,虽然我的建议还有很多不足的地方,但是“不积洼步,无以成千里”。我相信,只要我们一步一步的改进,我相信,我们会做得更好。
大学生选课情况调研报告
(二)
(一)数据与问题
据此次调查报告的统计,有11.3%的同学反映选修课的出勤率在50%(包含50%)以下,12%的同学认为公选课的总体质量一般甚至更差,48.1%的同学认为学生翘公选课是合理的。在此次调查了解到福建师范大学的本科生大部分要修4~5门的选修课,农林大学和福建工程学院大部分人要修6~8门选修课(每门选修课1.5或2学分)。在这次调查中还了解到福建师范大学17%的同学认为选修课多了,农林大学28%的同学认为这样的规定多,而福建工程学院有34%的同学认为公选课多了,居于三所学校之首。
据了解这三所高校有的是从大一下学期开始上公选课,有的是从大二才开始上公选课。那么就以从大一到大三(大四多为实习找工作而忙)5个学期算,即使每个学期修2门选修课,那么大学期间修10门公选课也不为多呀!而实际上却出现选修课翘课人数多,频率高,出勤率不理想的现况。这也反映了同学们对公选课持消极被动以及逃避的心态。
那么原因何在呢?
(二)学生翘公选课的N个理由
① 公选课枯燥无味。“学不到什么东西,没有意义。”在这次调查中最多的人反映的就是这一点。他们悲哀公选课没有想象中的有趣和有用。“有的选修课理论性太强,缺少实践性,显得空洞乏味。”也有人认为公选课基本上可以自学,并不需要大费周章地往返教室去听课。他们普遍认为老师无法吸引学生,有的老师态度甚至不端正。一些人认为老师上课是往往讲一些无谓的东西,一节课下来学生往往不知所云。尽管有的老师风趣,可以告诉学生一些即实的新闻和消息,但在这个网络如此通畅发达的时代更多的人愿意轻轻一按便知晓天下事。还有一些人反映有的老师虽然学问很好但是却不能生动有效地传授知识。这其实也有愧于“师者传道授业解惑”的美称。都说现在大学生的质量下降,其实老师的教学质量也有待提高。有一个风趣的同学一本正经地对我说:亲爱的同学,如果你遇到一节好的选修课,那么你就可以去买彩票了!
② 选修课只是为“赚学分”。在此次调查中选择是出与选修课容易过而去选修的支持率为28.1%,有一部分同学更是直言:选修课是被逼的,无奈选修课与学分紧紧绑在一块,所以只得去“赚学分”。因此有些人对所选的公选课根本就没有兴趣可言,那么翘选修课也就在情理之中了。
③ 老师对逃课的同学睁一只眼,闭一只眼。时下许多人已经心照不宣,选修课翘课有诀窍:打探好情报,人多我不去,人少再考虑。公选课的老师并不会指望每个人都的到,尽管有的老师在开始上选修课时“恐吓”我们会把出勤率当作成绩考核之一,而实际上老师往往无法实行或者说是不想实施。“好像只要每节课到的人不会太少,老师面子上过得去就好了。而且你在教室做什么他也不会管,只要没有什么非常的举动就OK了!”遇到点名(一般为抽点),学生也不怕,上有政策,下有对策。一个人往往装成几种腔调给好几位同学替报。偶尔还会出现,由于同学事先没有协商好,老师点到某位同学时有好几个不同的声音回复,老师一顿,引起同学们一阵哄堂大学。
④ 选修课要求低。“反正选修课能过,去不去都一样。”同学们一致认为每到选修课考试前,老师都会在书上划重点,只要在考试的前几天把重点背一背就万事大吉了,遇上可以开卷考试的同学们就更不用愁了。考试完毕,天下太平。基本上没有人会去担心挂科的问题。()也有些人对此愤愤不平:那些经常逃课的同学和我(不逃课的同学)的结果都一样,那么逃课与不逃课又有何区别?把时间浪费在选修课上似乎真的不是明智之举,那么“这比窦娥还要冤的事,怎可重复上演呢?”
⑤ 对选修课要求强制购书反感。选修课一般都是必须有书的,据说这是学校的规定。但是调查中有3/5的同学认为选修课要求购书不合理。其一,“看必修课的书都嫌没时间了,哪有空看选修课的书?”其二,多数人认为选修课的书偏贵自身又没有太大的价值,一旦选修课结束,那些书就寿终正寝了。一些同学反映选修课老师建议我们买的书是他们自己的作品。 (我所选的两门选修课要买的书就是老师自己出的书,至今也只是刚发下来瞥了几眼,我想再过个把月要考试的时候才会认真地拿起它)。那么可以不买书吗?不可以!因为有的老师直接承诺只要有买书的人,就有一个基本分数可以拿。这使那些原本可以通过向已修过这门课的同学借书或向图书馆借阅的人放弃了这种想法。同学们私底下在议论和抱怨:这个老师大概是想借此捞一把吧!同学心里愤愤不平,感慨在党中央以经济为中心的感召下,教育真的产业化了吗?那么这是同学的无奈,还是老师的悲哀?一书在手,何患选修不过!或者这也是促使逃课的人越来越多的原因之一。
⑥ 公选课的选择种类不够多,涉及面不全。一些同学反映想上的课都没有开,很遗憾。在问到同学们希望开一些什么样的选修课时,同学们的答案真是五花八门呀!韩语法语日语西班牙语德语钢琴古筝横笛萨克斯管舞蹈(街舞)网球桌球瑜珈摄影围棋绘画美声插花茶艺烹饪美容化装调酒麻将文化等同学们希望语言类,艺术类,体育娱乐方面的选修课多开一些。韩潮来袭,很多都希望学校可以开一门韩语基础选修课,目的是看韩国影视剧的时候可以更方便。这听起来很荒唐,但以现实性而言却又非常地合理。
⑦ 突发事件与其它。学生总有一些棘手的问题,有时候只好不去上选修课,因为嫌请假太麻烦就干脆翘课了。甚至有些同学认为作为与选修课的区别,学生理应可以自己决定要不要去上课,好让学生有更多自由支配的时间。
着种种的原因加在一起构成学生消极对待选修课的理由。
(三)学校与老师的无奈
1、硬件设施不完备。
相对于高校的不断扩招,显然许多学校还没有做好充分的准备。高校人数的增多造成了许多公用设施的拥挤和紧张,如多媒体教室,体育设施,公共绿地等的不足。这个问题对于正在建设中的福州大学城而言更显得突出。就我们学校(福建师范大学)而言还有许多的教学楼实验室还未完工。这使得一些理科生做实验要往返于新旧校区,造成了许多的不便。
2、有待加强对学生的管理。
本来理应是三四十个学生一个的班级变成了六七十个人一个班级,在教师等量的情况下,教师的责任与负担就加倍了,这不利于学校与老师对学生进行管理。我们也可以把它看成是师资力量的不足的弊端。在再加上许多选修课教师同时也进行专业授课,使得教师的负担过多。
3、尊师重教尚缺乏风气。
在公选课上,你可以看到有的人在讲电话,有的人甚至若无其事地走来走去,有时候公选课俨然变成了菜市场同学们各行其是。俗话说一日为师终身为父,可是在路上遇到老师的时候依然有许多人默默无闻地走过。我们的尊师重教远远尚未成风,这怎不令我们的老师心寒呢!
(四)寻找传统
中国素以礼仪之邦闻名于世,“教者也义之大者也,学者智之盛者也。义之大者莫大于利人,利人莫大于教”,尊师重教之风也劲吹了上千年。而当今社会虽较20多年前,教师的地位与待遇有所提高,但与古者以“程门立雪”为典范的尊师重教而言真是小巫见大巫了。有评论说中国人成就越高越不把老师放在眼里,而日本人则相反。都说教师是人类灵魂的工程师,是蜡烛的眼泪,是春蚕的吐丝,这美丽庄重的字眼,我们肃然起敬都快来不及了,又怎可逃课呢?回顾历史,我们真的应该寻找一下传统了!
(五)笔者的希望。
前面陈述了一些关于公选课的现状与原因,在此笔者还想表达一下个人的见解与希望。大学生逃公选课早已不是什么新鲜离奇事了,存在即意味着合理,这个问题也绝不是一朝一夕就可以杜绝的。但是我们仍希望有一天大多数的人能够快快乐乐地去上选修课,是因为喜欢公选课而上公选课,我们期待着它也有一个明媚的春天。所以还是盼望着学校可以多开一些选修课,希望我们的老师上课的时候可以生动活泼一些。当然我们也要呼吁“跌价”的大学生们能更好监督管理好自己,呈现出更好的学习风貌。期待着这一天的到来吧!