选课类别:计划内与自由选修 | 教学类型:理论实验课 |
课程类别:本科计划内课程 | 开课单位:信息科学技术学院 |
课程层次:通修 | 学分:4.0 |
孙广中老师的《计算机程序设计A》课程被学生普遍评价为教学内容扎实,讲课认真,但声音偏小,适合前排听课。课程内容聚焦在C语言的语法和应用,较少拓展知识。尽管大部分进阶班学生已有编程基础,上课认真听讲依然能够收获颇丰。孙老师的PPT内容详细,可用于复习。
课程难度主要体现在期末考试和大作业上。上机作业要求编写高精度的质因数分解程序,大作业需要创作具有科大元素的游戏或实用工具。期末考试为笔试,涉及二分查找、排序、链表操作及运算符优先级等内容,题目难度较大。对于有OI基础的学生,平时作业难度较低,期末考试和部分大作业可能稍显挑战。总体而言,课程更适合有编程竞赛或C语言基础的学生。
作业量相对较少,每月一次书面作业,包括简单的代码练习。大作业分为两个部分:C1需要编写高效的质因数分解程序,C2为开放选题,可以自由选择开发游戏或工具,采用任意语言。作业设置的目的是巩固课堂知识,避免学生期末考试表现过差。
孙广中老师以慷慨给分闻名,被学生称为"GPA之父"。无论是平时作业还是期末考试,只要认真完成,得分都会相对理想。例如,有学生期末74分也能捞上3.7的绩点。总评评分标准大致为:10%A作业、10%B作业、30%C大作业、50%期末考试,平时分比重较大,有助于整体成绩的提升。
综合来看,孙广中老师的《计算机程序设计A》课程适合有编程基础,特别是曾参与过编程竞赛的学生。课堂内容实用,平时作业和考试注重基础和应用,给分宽松。建议有基础的同学积极选课,通过进阶班不仅可以轻松获得高绩点,还能在较少无效工作的情况下,高效提升编程能力。
进阶班,班上大部分都有竞赛基础,相比于平行班主要难度差距在于一次上机作业和一次大作业。除此之外,小作业就是手写一些非常简单的代码,跟其他班应该是一样的。(跟另一个进阶班比作业少了不少,隔壁班上机作业据说有好几十道(水)题)
上机作业需要写高精度分解质因数,大作业需要写一个游戏或者工具,游戏要有科大元素,工具要有实用性且不能是之前已经有的工具。
对于 OIer 来说几乎没有难度。
孙广中老师人很好,上课讲的就是C语言的语法,不点名。(我几乎没去上过课,不知道有没有拓展内容)
最后稍微批判一下这整门课(进阶班和平行班期末考一样)的期末考,二分查找,排序,链表的插入删除都要求手写代码,还考了不少运算符优先级(如 \*p++) 之类的平时写代码根本用不到的问题。(正常人都会写成 (\*p)++ 或者 \*(p++) 吧)。
希望将来能够改成上机考试。
给分情况未知,期末 91,总评出了再来 update。
upd : 4.3 了,孙广中老师 GPA 之父的传闻不假。
进阶班,没啥好说的,上课摸鱼的比较多,因为大家对这方面知识比较熟悉。
但是凭我不多的听课印象来看,孙老师讲得还是不错的,ppt也做得很好。
作业一如既往是十几道A题,与两次C组作业。A题几乎是乱做;C1的话有OI基础是没啥难的,高效率的话就去看一些除法优化算法;C2看个人吧。有实力的话来进阶班一定不亏,作业这方面花的精力确实是比普通班小不少的(即使有C2这个大块头)(毕竟我看少院的普通班是一周七道题,上机课每次都要到;而我们班则是一学期十几道)。
最后给分没出,不太懂这方面怎么样,出来后再更新,希望gpa之父不要让我失望啦。
出分了,4.3,意料之中吧,因为期末考试95.5,应该是班一(笑)。
总评没给我100应该是怕我骄傲吧(qwq)(我和朋友开玩笑说不给100就给分杀手,当然从周围的人来看给分无疑是超好的)。
本以为进阶班从一个变为两个后优秀率会降的,但孙老师还是维持了80%左右的优秀率,GPA之父还是牛逼的。
能来进阶班的一定要来啊!!!
本次课程评分标准:
课程内容与收获:40%,8.5(中规中矩,声音略小,前排听课效果较好,虽然很多人不听就是了(比如我(不是)))
作业量:5%,10.5(相当少)
作业质量:30%,10(没有学生信息管理系统好评)
课程难度:20%,9(对于进阶班大部分同学来说课程略水,没有想象中的很多拓展知识o(╥﹏╥)o,大作业有难度)
给分:5%,10.5(期末91->总评95,A组作业全A(感谢助教,似乎除了只有填空题那次给过B(虽然也就没几次作业[汗])))
加权平均:9.25
印象分:3位助教相当好,为边gg、昆昆、sxl点赞(感谢助教手下留情不杀之恩)+0.3
总评:9.55->10
其他人评课已经相当全面了,不再补充。建议有基础选。如果考试形式不变,建议练习几次手写代码(如图1)
夹带一下私货(),别惦记着GPA,考完了就不归你管了,别急(手动狗头,见图2)
助教哥哥别打我(不是)
P.S.向各位推荐一下sxl助教的我的科大(https://wdkd.feixu.site/),里面的资料分享有好东西。
点评其实已经写完了,出分之后没有及时来评课
(>人<;)对不起
我期末状态堪忧,考的稀烂,犯了很多脑瘫的错误,但孙老师真的太奶了,我本来已经做好了拿到第一个3.3的准备,没想到捞到了4.0,直接爽翻了!!!
作业是平均一个月一次的课本习题,感觉主要为了防止大家期末考太差。
大作业 C1 是大梅森数素因子分解,写个高精就行。(个人顺手写了个 Pollard-rho,不然跑太慢)
大作业 C2 是自己写一个游戏或工具。花了大概五天时间写了一个网页版仿小黑屋小游戏,个人感觉完成度挺高。
期末选择题考砸了,希望绩点别太低。
老师能力很强,上课还行,但是声音比较小。作业较少,其他同学已经说过了,C2不限语言形式好评。给分很好,不限优秀率很捞。
进阶班的同学都有一定的基础了,平时分给的差距也不大,期末考试就很重要了。
下面放送一点试卷资料(评论侵删):
还有这个书后面有四套有解答的卷子:计算机程序设计学习指导与实践 贾伯琪.pdf
再发点其他书籍:
进阶班,建议有OI基础的人选(否则大作业会比较困难),上课摸鱼的人比较多(毕竟大家基本上都会),但是讲的还是挺好的。
作业是若干道A题(很简单)还有两次大作业,C1的话对有OI基础的人来说不难(甚至可以卷时间,当时最快的程序运行时间一度从60s卷到了60ms,当然要求是两分钟,还是比较容易的)。
C2是一个开放选题的作业,两人组队完成,你可以做任何自己想做的(顺便安利一下我的C2作业:https://www.bilibili.com/video/BV1u14y1T7VW)。
作业所花费的时间还是比普通班要高不少,但是非常推荐。
upd:出分了,4.3,期末考试94.5(应该是班二),在意料之中吧,不过还是要说一句,孙老师不愧GPA之父!
孙老师奶王 gpa之父
助教也很厉害
不考勤 大约每周一次书面作业 学期会有一次大作业
非常好对吧
孙老师上课很认真,ppt做的也很详细,期末可以直接拿来复习(尽管进阶班的同学们少有人听课) 作业很少。大作业有一定挑战,但小作业少,总体来说比普通班轻松不少,特别是只有编程题,没有流程图等反人类作业,而且上机课不要求每周都去 孙老师给分超级好,我期末86.5,总评竟然被老师捞到了95,喜提4.3。出成绩后班级群有人感叹平时分给到了110,可见孙老师的奶王能力。 可能有的新生有一定编程基础但不多,在纠结去不去进阶班。我觉得不必担心。进阶班不限优秀率,老师也愿意捞,你最后的绩点不会比在普通班差。而且进阶班的作业能省去不少无用功,节约时间,进一步提升编程能力。
这篇点评的最后,我要大喊一句:孙老师,您就是我爹!(逃
进阶班,平时作业少,但有两个大作业C1 C2,总体给分很好。C1 是在网上找一些算法实现梅森素数的检验和分解,做起来比较轻松。
考试的主要难点是 C 语言八股,包括但不限于判断“能否用指针间接修改字符串内容”、判断变量生存期主要与xxx相关是否正确、背诵 C 运算符优先级顺序等。
1分扣给大作业 C2。C2 的内容是组队做“和学校相关的游戏”或“工具”,与课程内容是无关的。尽管从这几年的趋势看来 C2 的要求是越来越低了,但仍然是一个过于开放的大作业,对于以前没有大项目经验的本人来说体验较差,做项目的过程中也没学到什么东西。另外据说有不少计科相关的课程大作业,都是这种大开放的形式,个人不觉得意义很大。
如果你在开学时就有 C 语言基础,可以选择来进阶班,获得更少的平时任务和更大的优秀甚至 4.3 概率,但需要花费不少时间和精力应对 C2 大作业,大家在选班前要有所考虑。
非常喜欢老师的程序员冷笑话( 虽然是进阶班但其实没讲什么超纲的东西,所以米娜基本上都不听() 主要难度还是在大作业上,不过水了两次应该分给的也很好。 只要不介意班上全是大佬的话就非常推荐!
虽然说最后给分4.0很难让人满意,但这主要还是因为我完全没复习多选题只对了两个,老师的给分还是很好的。在这里提醒后人考前一定要复习。
老师上课讲的怎么样我不好评价,声音基本听不见,我也基本没听甚至没去。
讲一下总评的比例,10%A作业+10%B作业+15%C1作业+15%C2作业+50%考试。
A是非常简单的常规编程小练习。B是让你上去讲几个题,我们这届一共7个题可以选择,可以选择适合自己的讲,不一定要讲题目本身,可以适当添加条件适当拓展,或者讲一下自己不一样的想法,总之这一块没啥问题。C1是一个RSA算法需要的一个大素数判定,对于学过OI的这玩意就很水,没学过的直接上网搜索也能依葫芦画瓢写出来,要求的时间的2min,我随手写的一个不加优化的能稳定跑2s,用上Barrett Reduction快速取模能跑进1s,总之这一块也不难。
C2是组队大作业项目,这块呢成果良莠不齐,参差很大。我自己一开始定了一个自认为很不错的想法,但是最后技术力太差加上中间规划出了大问题,最后成品很抽象(我其实是独立开发的,但是我舍友挂的课实在是太多了,所以最后署名带了他一份,学弟学妹可以考虑抱别人大腿)。很多人在这一块花了很多时间卷上加卷,其实没必要,想用功还是把时间花在复习期末考上。但是如果你想做点有意义的项目,给自己的资历添点东西,那请认真对待这一个项目,但不需要把他当作作业来做。
舍友B作业没讲(全翘了)其他作业都是借鉴我的,然后期末考刚好及格,总评奶到了82,可见在这种极端情况下平时分也给满了,孙老师不愧是GPA之父。所以说这门课非常推荐,有机会一定要选!
看到这里认识的人应该能猜出我是谁,还请不要开盒喵(尤其是不要开我舍友的盒)。
孙老师的课真的讲的很不错。相信来进阶班的好多人都有基础,但是C语言这东西其实真不简单,很多概念性的东西和基本原理需要搞清楚,基本上除了理解还要会应用,特别是数组那一块。学过竞赛的佬可能会熟悉一点,但是据本蒟蒻所知竞赛用的C++,到C里面包括引用、STL、字符串拼接(+)在内的一堆东西都不能用,指针什么的还是得搞清楚,也需要一点功夫。
木有期中考试,但整个学期有两个大作业。一个是Blum数生成器,要求给得挺宽松(佬都在往几秒钟卷),但是只能用C99(其实不算难);另一个是应用项目,写一个工具或游戏,语言不限,本人菜菜,只会JavaScript乱写,实在是比不上诸位大佬,就不拿出来丢人现眼了。
课程本身更考察的是程序思维,如何去组织一个程序,先想好再写代码,比如期末考试里的“数组插入元素自动排序”,第一空如果你不知道是把更大的元素后移一位,这题基本就做不了。
说到考试,期末卷子也不简单,至少写得很累(手写代码),考试的时候选择题有好几个拿不准,幸亏孙老师给分好,外加进阶班不限优秀率,总算是捞了个满绩。可惜本人上课基本在打游戏,对于这么好的一门课,算是很对不起。
总的来说,如果学过一点编程,知道怎么搭建个C环境,能写点比HelloWorld更高级的东西,基本上来进阶班没问题。开学考试的卷子上会让你选,各位学弟学妹如果有能力一定要来啊!
先把满分给上
听说孙老师是gpa之父,如若不弃,某愿拜为义父.jpg
期末75.5垫底,等gpa出了再来评
upd:出分了3.7 平时分是50%包括abc题,期末50%
总评88,老师应该是平时分给满了
感谢孙父,给分太好了
看到分数的那一刻唯一的想法就是:好人一生平安。。
讲课有点无聊,用ppt上课。他讲课的声音也比较小,所以对我这样的人来说听课存在一定困难...但是讲的还是不错的...
Ps. 头像是怎么回事啊。。。。。。