一直都想把总结写下,结果各类缘由拖沓下来。可能多少也有点逃避,写与不写多少纠结。看到福大张栋老师的课程总结,深有同感,想一想仍是记录下来吧,文字东西更适合表达一个学期教学体会,以便往后改进。html
1.关于课程教学
本学期一直也在犹豫是否用翻转课堂,如何用翻转课堂。把课堂还给学生模式究竟如何开展,是否适用。犹犹豫豫中,仍是传统课堂教学。课堂教学模式基本和C语言教学模式同样。每次课前发布课堂预习做业,课堂讲解理论知识同时讲解预习习题,课后经过PTA上机编程巩固课堂内容。这样教学模式本来以为挺好,课前+课中+课后都考虑到了,可是发现仍是有一半学生数构基础并无打好。主要缘由有:算法
1.1 课前预习不认真
大部分同窗认真完成,可是有1/3同窗应付甚至抄袭。不认真学习态度致使很差学习效果。可是学生为何不认真或者没兴趣,也不能把责任所有怪学生。写这份总结时候我也思考,总结缘由有:编程
- 有些同窗不认真学以为预习题目太难放弃。考虑到部分题目确实偏难,后面章节开始改进,预习做业题目尽可能选择较简单选择题,让学生对课程内容有必定印象便可。
- 布置的预习题目比较枯燥,能够设计一些比较吸引人题目,不能太难,让学生更主动去研究所学内容。好比多一些主观题目会不会更好些,这样课堂能够共同交流,活跃课堂气氛。(不过设计题目真心是挺辛苦,也极大考验教师能力)。
1.2 课后编程练习,依靠PTA平台布置的数构题目完成效果很差
这个在2016-1017的数构总结已经提到。相比16级同窗,17级同窗PTA作的认真不少,可是仍是没达到教师想要的效果。主要存在问题有:数组
- 在16级教学总结中提到PTA题目存在偏难问题,本学期特定改进一些题目,如每章设计2--3题简单数据结构操做题,如队列进出操做、树的遍历方法等。这些题完成效果不错。相对16级,教学效果是明显好。可是难度大些题目,一半左右学生编程积极性比较弱,不少须要借鉴同窗代码完成。其实借鉴也能够,可是很多同窗是彻底放弃。编程是比较花时间精力,很多同窗对于程序中bug,找不到缘由,就不肯意继续去研究解决。这样现象比较多,目前主要仍是鼓励学生多问,多交流。在C的学习中,同窗仍是比较积极群上交流询问。可是数构后,发现你们愈来愈不爱问。
- 编程缺乏交流。这个现象是目前我也比较困扰。从刚开始的澎湃激情到后面懈怠。尤为在树和图结构后,题目难度变大,递归方法很差掌握、期末其余课程考试也接踵而至。都在影响学生学习积极性。这2个章节编程做业在18级教学中须要再改进,题目难度能够再下降。能够引导学生多看树、图结构应用的代码。多读读一些优秀代码也助于学生思惟的扩展。这个能够在C教学中开始改进。教师找优秀代码来读。依靠学生本身去找,目前来看效果仍是很差。
1.3 课程教学改进
- 改进预习做业,提升预习质量,这样才能保证教学效果。适当布置主观题,适用课堂讨论。课堂教学中能够预留10--20分钟和同窗互动讨论。
- 小组讨论,能够在每章知识点结束后,都作一个专题讨论。目前困难在于怎么让所有学生参与。常常是同窗上面讲,其余同窗就时不关个人事,兴趣索然状态。能够多实践几回,慢慢改进讨论模式,改进讨论题目。
2.关于实验教学
目前主要实验模式:数据结构
- 依托PTA平台在线编程作题。
- 博客做业做为实验报告总结PTA题目中碰到问题及解决方法。
2.1pta刷题模式
每章大概 布置10题编程题,学生线上作题,能够在线查看完成状况及排名。这种模式在C教学效果仍是能够,可是在数构学习中,效果减弱很多,主要缘由及解决办法:架构
- PTA题目能够网上搜到答案,因此有不少同窗虽然作的分值不错,可是不能表明实际水平。
- 发现随着题目难度增长,尤为非线性结构学习,学生编程积极性减弱很多。
- PTA题目通常代码量比较少,不少同窗作题只为过测试点,根本就不会去思考代码质量及扩展性问题。部分同窗代码的变量名、函数设计很是混乱。学了一年编程,变量名居然是怎么方便怎么命名,一下子拼音一下子英文。这样代码过了PTA测试点,依然达不到教学目的。是没法去胜任后续软件开发。
- PTA代码量少,不少变量名通常都同教材,函数也少。不须要去设计函数去实现某个功能,不少题目一个main函数就搞定。这样在最后一周作课设要作代码量大的做业,发现同窗的设计函数都是诸如:
void fun()
,函数都是无返回值,没带参数。这样设计函数纯粹只是去凑一段功能。不靠参数传递,结果很多须要共享的函数变量就都设计成全局变量,一堆全局数组!!!看到学生在课设设计出这样的函数,真是以为很郁闷。不是课任教师没提,而是平时编程做业都是作pta题,每题功能有限,不少pta题不须要函数。函数设计这块学生能力天然就弱,最后课设代码质量天然不行。这是目前PTA作题一个比较大问题。
- 感受有一半学生没兴趣刷题。这个是我我的感受,没有真正统计,可是确实到数构还继续这种刷题模式,能感受到学生疲惫和应付。
2.2 实验做业改大做业模式
大做业好处
布置项目级做业,相似课设题目。好比链表这章,布置一个购物系统等相似做业。好处:函数
- 代码量大,功能多,函数设计更多,有助学生思考代码架构是否合理,操做设计是否合理,这些好的编程习惯从平时做业开始养起。
- 能够引入目前比较流行人工智能算法、数据挖掘算法等让有兴趣学生扩展学习。
- 课设题目提早让学生去作,这样课设时间也不会太紧张。完成后同窗能够在课设多作测试,完善功能。
- 小组合做模式能够在大做业加入,感觉团队编程。
- 和生活比较接近题目,学生兴趣会更大。
- 大做业能够供课堂你们互相讨论。好比链表这章彻底能够布置3-4题不一样类型做业,实验课让不一样同窗展现代码设计及功能,更助于交流。
大做业存在问题
大做业可否达到理想教学效果,还需一届学生去实践.存在问题:学习
- 不能像PTA在线自动检测。一个个检查学生做业质量,工做量大。
- 项目级做业做业题目较少,存在抄袭问题。须要一章多设计题目解决。
- 项目级做业比较花时间,一份做业通常都要500行左右代码,部分同窗没法在规定时间完成。这个能够考虑迭代式推动做业,好比一份做业能够在下一章继续完善。固然这个须要设计题目,如何去贯穿多章知识点。
- 如何检查每一个学生做业质量。助教经过博客查看,仍是不能完整看出编程质量。此次期末课设检查,感受能够考虑助教和学生面对面检查交流,效果能够更好,也更直观。
- 部分知识点,大做业不必定会涉及到。好比树这章,大做业可能会出一个树的应用题目,可是相似哈夫曼树、并查集这样知识点就涉及不到。
- 大做业没有测试数据。以往做业中检查,发现学生老是拿10条左右数据测试,这样无法测试系统的稳定。这个应该学习PTA平台,设计大数据给学生作测试。
2.3 实验做业改进:PTA+大做业结合
虽然PTA存在上面说问题,可是在线自动评测程序这个平台仍是有不少优势,大做业中存在问题,能够用PTA平台去补,后续编程做业能够考虑这样布置:测试
- 每章内容,依托PTA平台上布置5题操做题。操做题必须简单,好比队列出入操做、建树、遍历树等操做,能达到90%学生独立完成做业。
- 每章布置一份大做业。好比线性结构中,布置一个相似学生成绩系统、购物系统大做业。题目需求比较简单,80%学生有设计思路。但对题目的数据结构要求限制,好比用链表实现。这种做业不只要求线性结构完成,后续学完排序、查找内容后,要求学生能继续完善学生成绩系统,实现排序、平衡树查找等。让做业能够贯穿多章知识点。
- 对于学的好或有兴趣研究其余方向学生,能够加大题目难度,如在PTA布置竞赛级题目或引入算法。
- 阅读优秀代码,提升编程水平,尤为代码架构及设计,能够多学学优秀代码的设计方式。
总结
终于结束了17级课程教学,仍是有点舍不得。看着大家从初入大学的编程小白,到慢慢体会编程苦乐,最后能和我讨论所设计代码时间复杂度、问题所在。心里仍是很欣慰,虽然并无让每一个同窗都喜欢编程,但仍是看到本身想要教内容已被大部分同窗接受。在此,仍是要感谢大家:大数据
- 平时课堂中,我常常有批评大家作很差地方,可是我仍是坚信:其实大家这一年表现挺好。大部分同窗编程水平、计算机理论水平、课设的完成质量都远远超过咱们当年大一水平。
- 平时做业布置比较多,有时候做业设计也有不合理地方,可是大家不多怨言,坚持完成做业。有问题及时和我交流。
- 课设题目难度比较大。部分同窗被我调整到我认为适合他的题目。这些同窗都自觉去完成并实现。能看出你们作课设时候的辛苦和煎熬,不管怎样,一份用心去作的做业,都仍是受益的。
但愿大家在将来学习能依然大家保留初入大学的认真。回头看看本身在大学的第一篇博客做业,想一想如今的大家和当时的大家变化多少,进步了仍是退步了。立刻进入大二的大家,能更好去规划你愈来愈少的大学生活。青春是最美好年龄,也是最好的学习年龄,是我这个年龄人只能羡慕却不能回头的时光,愿大家能好好珍惜这份时光。让本身的青春是美好的、充实的、积极的。