选课类别:计划 | 教学类型:理论实验课 |
课程类别:本科计划内课程 | 开课单位:信息科学技术学院 |
课程层次:未知 | 学分:4.0 |
《计算机程序设计A》进阶班需要通过开学时的一次选择题考试进入,考试内容类似于NOIP初赛的C语言知识。班级内有很多竞赛选手以及预习过相关内容的学生,因此水平参差不齐。
课程内容与普通班相差不大,主要使用USTC的C语言教材,并补充一些位运算等高级内容,删去部分过时知识。同时,进阶班还包含一些竞赛题选讲和期中、期末的大作业。学生普遍认为老师的PPT详尽、清晰,便于考前自学,但有些学生期待更多的算法和数据结构内容。
李卫海老师授课,教学方法灵活,不拘泥于PPT。部分学生反映上课质量很高,讲解清晰,能回答同学问题,课程群允许匿名交流。老师和助教都很认真负责,助教批改作业细致认真。由于是第一次开班,课程定位和内容还有改进空间,希望未来能更加明确。
平时作业包括纸上和上机作业。上机通过后可以不必再去机房,令一些学生感到方便。期中大作业为Miller-Rabin素性测试,期末大作业为分组编写一个C/C++小游戏并撰写报告。大作业被认为是课程的精华部分,能给学生带来较大收获。
考试与普通班统一安排、统一调分,但进阶班对优秀率没有限制。期末考试包含选择题、填空题、编程题等,题目主要考查C语言语法和基本编程能力。平时成绩占比40%,大作业占平时成绩的40%。一些学生通过突击备考成绩优异,给分普遍为中高档。
多数学生对课程内容持肯定态度,认为大作业和算法讲解有助于提升编程能力。课程给分公平合理,教师和助教教学认真。但由于入学测试的规则,一些基础不强的学生也被录取,课程难度设置需要更加平衡。同时,为了避免与后续计算机学院课程重叠,可以增加一些C++的内容和高阶编程技巧的讲解。总之,进阶班定位明确后,将会更有利于学生的发展,期待未来的改进。
开学考志愿选择题选了进阶班且分数达线的可进。因此本班巨佬挺多,也有一些暑假时得知了开学考科目预习过的萌新,或者就是运气好的同学(开学考只有选择题)。今年教务处新阴谋,咱们就是小白鼠。有次本小组和老师一起走到食堂,路上交流了一些课程方面。老师说也没收到什么指导,就按感觉开的班,和我们一样还在思考这个班开出来的目的、意义和如何开好这个班。老师挺好的。
本人浙江NOIP悲惨卡一等线下二等选手,以为进来会学一些算法啥的(大概率我已经学过),然后我就可以摸鱼了(实际上还是摸鱼人)。然而实际上算法涉及到不多,就算你都不会也不影响绩点。课本内容比普通班补充了一些位运算啥的,然后把费拉傻逼浪费时间内容去掉了,总体还是差不多。老师的ppt会发群里,ppt做的详细的同时比课本突出了重点,减少了废话,我基本上是看看ppt复习我早已遗忘的基础知识。老师上课也不是完全按ppt念,虽然是对着ppt上课,课也上得挺好的。我们挺早就上完书本了,后面写大作业的时候就直接不用来上课了(导致本蓝狗天天下午睡到6点(不过其实本蓝狗平时就经常不去上课(不点名,会了就可以为所欲为)))。算法那章是老师出的一大堆题,轮流抽人一星期准备然后上去讲(我没被抽到,我真欧啊),都是OI经典题(很惭愧,实际上我很多都已经忘得差不多了),不过至少比书上的zz题有意思。大多数大佬们讲的还是挺好的,也准备的比较认真,就是有些人可能不太会讲解,听起来就比较莫名其妙。所以题都认真听懂的话大概算OI入门的入门吧(其实再划一划,学学骗分,多见点题,就能在浙江以外的地方拿省一了,OI真就这么简单)。
平时成绩似乎是40%?然后大作业占40%的40%。
作业有纸上和上机作业。
纸上作业我觉得除了为了适应期末费拉手写代码考试之外应该不如电子版方便。当然对思路要求比用IDE敲要高,如果思路不清晰就会涂改得妈都不认识,或者像我这种蓝狗就是先想好再写,要么就骚操作强行补完功能。好像挺多人是电脑上跑完抄上去的,我感觉也还行吧,不过期末考可没电脑给你跑。我就是直接写的,有时候有点bug,助教挺认真的,居然能发现(tql),所以我好几次作业只有9分(还有一次数学题我直接笔算“输出答案”了,OI操作少用吧)。
提示:平时不写的话,可能期末考手写代码会心态爆炸。
第一次过了老师的测试上机课可以不用去,只需要提交代码和运行截图给助教(发邮件),对我这种蓝狗来说非常爽,一般布置了就直接当天写完发就行,省得去机房(听说别的班花时间最长是排队等助教验收)。我们这种形式助教应该也比较舒服。不过本憨憨有好几次附件没拖到正确位置,发了空邮件给助教(连着3星期),助教发未提交名单才发现。还好存了代码,不然得再写一遍。
有一次连着两三星期写了个Miller-Rabin素性测试(老师给了算法,也讲解了,但是就算不理解也可以无脑直接实现),大概算个小大作业,比普通班的数组模拟器有意义多了。
大作业的话,就是停课,然后分小组(3人)写一个小游戏+报告,然后评分。学过图形界面的同学可以把侧重点放在界面优化上,像我这种菜人又懒得学,就随便写了点控制台界面。ddl前会轮流课堂上展示评分里有一项就是你展示的时候的其他小组投票除以到场小组数。我们组的报告是本人闲着蛋疼用LaTex打的 ,可能加了点印象分。
考试是和普通班一起考的,年级统考,统一调分。
(据说普通班优秀率超了要往回调而我们不用,不知道真假,不过看上去我们的给分没啥区别,还是看考得咋样)
题目是一些单选、一些多选、几个填空、几个看程序写结果、两道手写编程题。
至于考试内容,只能说,爬爬爬,真就USTC编译器2019版预发布测试,算法啥的应该没有(可能太简单到我已经看不出来了,这个没问过普通班同学看法)。大概就是OI初赛去掉算法部分感觉,然后语法部分应该比OI更多更细节。
备考主要方向是成为一个合格编译器,能判error(s),能快速编译运行。
老师上课也讲过一些比较坑的题目,先给我们扫过了,认真听的话能少踩坑。虽然是往年题,不过看来期末题也没咋更新。黑心书店的题我只看了一点,那个字体太醉了,看吐了,而且那个似乎是古代题(32768的int),我就不评价有没有用了。
卷面分没公布,老师说了一些大致情况,我可以厚颜无耻地猜一下自己有90分以上(你浙OI初赛分数线毕竟是变态),4.3飘过。
本人最大收获大概是写那个大作业吧(大模拟以及多层逻辑处理),还有大作业项目报告(LaTex练习)。
我一个之前0基础的朋友认为收获挺大的,他期末的时候确实已经比较强了。
至少我这学期摸鱼是摸得爽死了,以后不知道这个班会怎样,希望明确一下开班目的,然后课程内容也能在现在基础上做得更好一些吧。
不这样缩进的和省略大括号的,都
if(flag) { printf("\n"); }
对了,老师是网安的。
这是计算机的进阶班。
开学考试计算机考得好就能进。
个人是之前信息学竞赛省一,也经常自己编写小游戏,所以上课基本没听。。。。。
但是偶尔听几次,感觉还是很好的,PPT也很好。
在开始会有小测试,如果通过,就可以不去上实验课,然后我就爽了一学期。
大作业主要是做的小游戏,分组做,感觉还行,挺有意思。
平时作业,毕竟都有电脑,在电脑上写完,运行没问题再抄到本子上,然后作业基本就全是满分了。
实验有些也就是作业题,直接交就完事了。
期末,吃老本,加上考前一天突击,最后总评4.3。
自我感觉比较满意(水了一个4.3?)
期末突击在做题的基础上可以看看这个:https://blog.csdn.net/cggwz/article/details/103740713
能进进阶班的话,选这个班没问题,老师也很和善,给分也很好,上课讲得也很nice。
选就完事了!
这课有点迷,上课的是李老师一人,教务系统是李老师和张老师两人,评课社区是三人(我仔细翻了一下评课社区有李老师和张老师的课程,但既然大佬们都在此处发表点评,那我也就不换地方了)。
分以下几个方面进行评价:
利益相关:前oi划水选手,本课绩点4.0
整体来说和普通班没有太大差别,都是讲科大那本食之无味丢之可惜而且初学者不友好、有基础者看了只想睡觉的教材(听说教材快要改版了,希望能少祸害点后来者),区别是以老师自己做的ppt为提纲,相比普通班多了位运算,少了第一、二章一些过时而且没什么用的知识(强推ppt,清晰简洁而且便于考前自学)。
比较有“进阶班特色”的是有一段时间的竞赛题选讲,还有期中期末的大作业。但是本蒟蒻本来以为可以重新系统学下算法,由于课程定位等原因并没有,有点失望。
平常就是手写课后习题代码,上机写课后另外一些习题的代码(所以总题量比普通班应该是更多的),当然手写代码一般都是上机验证完再抄(后期由于在思修课上写作业所以是先写再验证)。
期中大作业是Miller-Rabin test,给了具体的算法讲解和步骤说明,整体难度大概是普及组,但由于本人想搞点骚操作失败,所以还是花了不少时间。期末大作业是写一个c/c++小游戏(妮可军备竞赛初体验),由于大佬们几乎都搞了GUI,所以本蒟蒻也搞了个三天自学的简单c++GUI库写了个垃圾界面。
大作业是本课的精华所在,好好写,多花点时间debug对萌新和蒟蒻来说是会很有收获的。(但毕竟是通修,也不要太过投入导致专业课期末爆炸)
期末是统考,统一调分,不过进阶班虽然没有优秀率限制,但是平时分给的是不如一部分普通班的,所以虽然最后优秀率75%,但是如果大家都在普通班我相信优秀率绝对超过80%,所以给分评的是一般。(当然班内给分还是很公正的,而且不卡绩)
老师人很nice,不点名而且回答问题很耐心,最重要的是课程群允许匿名。助教小哥哥们改作业很负责,当然由于进阶班特殊属性助教们的任务还是很轻松的(甚至让我想当程设助教)
毕竟是第一次开班,整个课程定位还是不明确的,我觉得存在以下一些问题:(不怪老师,应该怪教务处和信院备课组长)
1、入学考试是类似于noip初赛的选择题,主要考的是c语言能力,所以会出现提高省一进不了进阶班(oi用的是pascal)而一部分萌新进入进阶班(暑假预习c语言)的怪象,也导致进阶班内部水平差别比较大,上课不好上。
2、进阶班的定位比较尴尬,因为一部分同学是会转计的,所以为了不与计院后续课程冲突没法讲深数据结构和算法,讲语言特性由于c太过底层,用处也不大。我认为可以结课之后剩余的课程时间多讲一些c++的内容。
最后,欢迎学弟和更多学妹选择进阶班!
实际上课是李卫海老师在上,大部分内容与其他班一致,会增加一些偏向算法的内容,两个大作业(Miller Rabin大质数检验&分小组写游戏)至少对于我这种没啥基础(别问,我也不知道我怎么考进来的)的同学来说是很有收获的。上课会让大家轮流讲一些算法题,据几位前oi选手说,题目并不困难,而且都是比较经典的。在网上能找到一些相关的blog,即便此前没有学过,也能波动速学(这是我觉得收获最大的地方——给你指明自学的方向,定下ddl和标准,在大学的课堂里可能比讲课好还要可贵)
但是事实上我们并没有讲特别多的进阶内容,一方面是照顾基础较弱的同学,另一方面是,班里想转计科的同学挺多,讲太多算法和后续课程有所重叠。
整体教学进度快很多,主要是最前面一些无趣的介绍性的东西一笔带过了(你好好看教材的话就知道妮可C语言教材前两章只有进制和补码两个东西需要掌握),然后像位运算这种其他班没讲的知识点也讲了,还在课上给我们做了一点老师精选的往年题(其实是很久以前的了)。
给分的话应该说中规中矩吧,期末是全年级统一给分、调分,然后平时分,游戏这个大作业占40%,剩下是作业分和上机的分数(上机只登记是否提交,不打分)。卷面分优秀率33%,调分后75%,4.3,4.0遍地跑。事实上大家去普通班也许能拿到更好的成绩,但是收获可能就没这么大了。
先占坑,后面再补充。
教师主页: 暂无
教师主页: 暂无