| 选课类别:计划内与自由选修 | 教学类型:理论实验课 |
| 课程类别:本科计划内课程 | 开课单位:信息科学技术学院 |
| 课程层次:通修 | 学分:4.0 |
这是进阶班。
以前:
计算机程序设计A(孙广中, 李卫海) - USTC评课社区 (icourse.club)
平行:
计算机程序设计A(李卫海) - USTC评课社区 (icourse.club)
2025秋季,原先的程序设计A/B不再开设,变更为3学分的程序设计/程序设计(L),学时数从原先的60+40变为40+40(理论+实验)。课程内容和考试方式可能也会有一定变化。此处(以及其他的程序设计A/B时代)的资料仅供参考。
新课程:
孙广中老师的《计算机程序设计A》面向有一定编程基础的进阶班同学,课程主要讲授C语言语法,授课中规中矩,但声音较小,教学过程中不点名。课程内容总体上没有涉及超纲的知识,重点在于培养学生的程序设计思维以及处理复杂编程问题的能力。孙老师在讲授过程中使用PPT,并穿插有趣的程序员冷笑话和小故事,使课堂不乏趣味性。
作业量相对较少,大约每月一次书面作业和两次编程大作业。平时的作业包括手写简单代码和上机操作,相对简单。C1大作业通常是实现一些算法,如大梅森数素因子分解,C2大作业较为自由,可以设计和学校相关的游戏或工具。尽管大作业要求开放,但对于有OI基础的同学而言通常难度不大。
期末考试形式为手写代码,考察内容包括C语言八股,如二分查找、排序、链表操作及运算符优先级。对此部分学生表示不满,建议将考试形式改为上机考试。不过,很多同学提到即使考试考砸了,孙老师通常会给予较好评分,平时成绩比例高,且给分相当慷慨,一些同学期末成绩与总评差距较大,优秀率高达80%左右,因此孙老师有"GPA之父"之称。
孙广中老师的课程适合有一定基础、希望进一步提升编程能力的学生,因为课程难度相对适中,且优秀率不限,给分优厚,对GPA有很大帮助。老师和助教团队支持力度大,平时能按时完成作业的同学通常能取得高GPA。若对C语言基础掌握不错,建议积极参与进阶班,此外,复习期末考试中运算符优先级等内容应多加注意,以避免因个人疏忽拉低成绩。课程整体来说是一门高效学习且提高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/),里面的资料分享有好东西。
点评其实已经写完了,出分之后没有及时来评课
(>人<;)对不起
进阶班,班上大部分都有竞赛基础,相比于平行班主要难度差距在于一次上机作业和一次大作业。除此之外,小作业就是手写一些非常简单的代码,跟其他班应该是一样的。(跟另一个进阶班比作业少了不少,隔壁班上机作业据说有好几十道(水)题)
上机作业需要写高精度分解质因数,大作业需要写一个游戏或者工具,游戏要有科大元素,工具要有实用性且不能是之前已经有的工具。
对于 OIer 来说几乎没有难度。
孙广中老师人很好,上课讲的就是C语言的语法,不点名。(我几乎没去上过课,不知道有没有拓展内容)
最后稍微批判一下这整门课(进阶班和平行班期末考一样)的期末考,二分查找,排序,链表的插入删除都要求手写代码,还考了不少运算符优先级(如 \*p++) 之类的平时写代码根本用不到的问题。(正常人都会写成 (\*p)++ 或者 \*(p++) 吧)。
希望将来能够改成上机考试。
给分情况未知,期末 91,总评出了再来 update。
upd : 4.3 了,孙广中老师 GPA 之父的传闻不假。
老师能力很强,上课还行,但是声音比较小。作业较少,其他同学已经说过了,C2不限语言形式好评。给分很好,不限优秀率很捞。
进阶班的同学都有一定的基础了,平时分给的差距也不大,期末考试就很重要了。
下面放送一点试卷资料(评论侵删):
还有这个书后面有四套有解答的卷子:计算机程序设计学习指导与实践 贾伯琪.pdf
再发点其他书籍:
进阶班,建议有OI基础的人选(否则大作业会比较困难),上课摸鱼的人比较多(毕竟大家基本上都会),但是讲的还是挺好的。
作业是若干道A题(很简单)还有两次大作业,C1的话对有OI基础的人来说不难(甚至可以卷时间,当时最快的程序运行时间一度从60s卷到了60ms,当然要求是两分钟,还是比较容易的)。
C2是一个开放选题的作业,两人组队完成,你可以做任何自己想做的(顺便安利一下我的C2作业:https://www.bilibili.com/video/BV1u14y1T7VW)。
作业所花费的时间还是比普通班要高不少,但是非常推荐。
upd:出分了,4.3,期末考试94.5(应该是班二),在意料之中吧,不过还是要说一句,孙老师不愧GPA之父!
进阶班,没啥好说的,上课摸鱼的比较多,因为大家对这方面知识比较熟悉。
但是凭我不多的听课印象来看,孙老师讲得还是不错的,ppt也做得很好。
作业一如既往是十几道A题,与两次C组作业。A题几乎是乱做;C1的话有OI基础是没啥难的,高效率的话就去看一些除法优化算法;C2看个人吧。有实力的话来进阶班一定不亏,作业这方面花的精力确实是比普通班小不少的(即使有C2这个大块头)(毕竟我看少院的普通班是一周七道题,上机课每次都要到;而我们班则是一学期十几道)。
最后给分没出,不太懂这方面怎么样,出来后再更新,希望gpa之父不要让我失望啦。
出分了,4.3,意料之中吧,因为期末考试95.5,应该是班一(笑)。
总评没给我100应该是怕我骄傲吧(qwq)(我和朋友开玩笑说不给100就给分杀手,当然从周围的人来看给分无疑是超好的)。
本以为进阶班从一个变为两个后优秀率会降的,但孙老师还是维持了80%左右的优秀率,GPA之父还是牛逼的。
能来进阶班的一定要来啊!!!
我期末状态堪忧,考的稀烂,犯了很多脑瘫的错误,但孙老师真的太奶了,我本来已经做好了拿到第一个3.3的准备,没想到捞到了4.0,直接爽翻了!!!
孙老师奶王 gpa之父
助教也很厉害
不考勤 大约每周一次书面作业 学期会有一次大作业
非常好对吧
作业是平均一个月一次的课本习题,感觉主要为了防止大家期末考太差。
大作业 C1 是大梅森数素因子分解,写个高精就行。(个人顺手写了个 Pollard-rho,不然跑太慢)
大作业 C2 是自己写一个游戏或工具。花了大概五天时间写了一个网页版仿小黑屋小游戏,个人感觉完成度挺高。
期末选择题考砸了,希望绩点别太低。
人生第一门4.3
不多说,孙老师就是4.3之神!
进阶班与其他班最大的不同是有一个大作业,要求做一款与科大元素有关的游戏或者做一个工具。大作业选题十分自由,两人组队或者自己一个人做,语言不限,调任何库也不限制。
个人感觉这种模式有利有弊吧,我高中的时候接触过点信息竞赛,对计算机也比较了解,个人感觉在大作业上学到了很多,比C语言有意思多了。不过这个大作业也是比较耗费时间的,前半学期沉迷大作业导致数学都没有好好学(
孙老师上课时候的声音有点小,而且因为有大作业所以好多人上课都没在听课(包括我),不过授课内容很丰富,讲得也不错,貌似扩充了一些其他班不讲的内容。每节的ppt后都有一段有意思的“名言”,上课的时候也穿插了一些笑话和小故事,如果认真听的话还是挺有趣的。
期末考试的时候是按照往年卷子的思路答的,所以前面做的时候刻意放慢速度了,然后就顺利的没做完( 题量是真挺大的,而且我个人真的反感这种纸币写代码的肉编器考试模式,写错一行就要划掉重新写一段😡。
上课不点名,上机课可以提前做完任务,不去机房(作业在BB上提交,助教检查),总而言之非常不错
期末87,平时作业按时完成,自我感觉我们组大作业做的也还不错(相较而言)
1.17日更新
出分了,4.3,感谢伟大的GPA之父
孙老师上课很认真,ppt做的也很详细,期末可以直接拿来复习(尽管进阶班的同学们少有人听课) 作业很少。大作业有一定挑战,但小作业少,总体来说比普通班轻松不少,特别是只有编程题,没有流程图等反人类作业,而且上机课不要求每周都去 孙老师给分超级好,我期末86.5,总评竟然被老师捞到了95,喜提4.3。出成绩后班级群有人感叹平时分给到了110,可见孙老师的奶王能力。 可能有的新生有一定编程基础但不多,在纠结去不去进阶班。我觉得不必担心。进阶班不限优秀率,老师也愿意捞,你最后的绩点不会比在普通班差。而且进阶班的作业能省去不少无用功,节约时间,进一步提升编程能力。
这篇点评的最后,我要大喊一句:孙老师,您就是我爹!(逃
提醒准大一新生在高考完之后的假期学C语言,开学进入进阶班摆烂。上课基本都不怎么听。(相当于大一上比其他人少学了一门课程)
任务比普通班少不少,只是班上大佬太多。这样可以用多出来的时间卷数分力学等课程。
期末考试很难,捞人力度很大,73→87。
学完线性代数后感觉线代和程设可以一起学,相得益彰。
不点名,作业少,基本就周一晚上上机实验,每次三四道题,一小会就可以完成
C1大作业是个分解质因数的题,不卡时间复杂度(但是有好多人卷这个),C2大作业主题自选(神仙打架),只要认真做应该问题不大
建议有一定基础的来选,不限优秀率还是很香的,这可能是为数不多好拿4.3的课了
助教姐姐人美心善!(括号删掉,每条五毛)
进阶班,平时作业少,但有两个大作业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. 头像是怎么回事啊。。。。。。