选课类别:计划内与自由选修 | 教学类型:理论课 |
课程类别:本科计划内课程 | 开课单位:数学科学学院 |
课程层次:专业选修 | 学分:4.0 |
《算法基础》是计算数学专业几乎必修的课程,内容基于《算法导论》,涵盖经典的排序算法、分治法、红黑树、动态规划、贪心算法等,以及一些并行算法和图形学相关内容。尽管内容和数据结构与数据库课程部分重合,课程强调对编程能力的训练。总的来说,课程内容丰富且实用,但学生反映讲授稍快且不够吸引人,需要自学补充。
张举勇老师的教学存在争议。一些学生认为老师上课节奏较快,内容解释不够清晰,有点“催眠”,但也有观点称张老师正在逐渐提高教学水平,课程本身设计合理,PPT制作简洁明了,有助于理解算法原理。助教普遍被认为十分负责,积极解答问题,课程和实践环节安排得当。
平时成绩由书面作业和OJ编程题构成。编程题量较大,每周四五道,难度不低,主要考察算法应用和编程实现能力。书面作业以课后题为主,量适中但质量不一。重视OJ编程,是提高编程能力的重要环节。部分学期还有大作业,内容可能涉及图形学,需要额外学习,但在时间安排上较为紧张。综合来看,平时作业量大但可以有效提升编程能力,整体较为公平。
期末考试占比重大(60%),主要考核课本内容和课上讲解的算法思想,多为原题或书上题,难度适中,但题量较大。期末考试的设计被一些学生认为不合理,部分同学因考试题量和难度导致成绩不佳,但期末全程考算法思想掌握情况,对应平时的努力付出。给分方面相对友善,会根据实际情况进行调整,重视平时表现和最终分数的合理分布。
《算法基础》课程内容全面、结构合理且实用,适合有一定编程基础的学生。虽然上课体验因人而异,部分学生对教学方式不太满意,但总体有助于提升编程能力和理解算法。平时作业和期末考试占比均高,但给分相对友善,成绩分布合理。对于计算数学方向及有志于提升编程能力的学生而言,推荐选修这门课程。
想起来回来还愿。同学们注意,评课社区看评论一定要从最新的开始看。就算法基础这门课而言,2020以前的评论参考价值不大了。
一、课程简介
算法基础是计算数学专业几乎必修课之一,和计科的算法基础课程内容相似。前置课程为数据结构与数据库,二者内容一脉相承,且听说以后会合二为一。课程不太像一门传统的数学课,对于其他数学课的知识运用不多,但对于编程能力和思想是个很好的训练。课程共3学分,历时15周,一般会提前一点讲完。每学期可能还会有算法竞赛 (就是现场写OJ,分数占比不大,图个乐呵),还有课程大作业。无期中,有期末,期末占60。总评最后还会再奶一口。
二、老师和助教
张老师是个好老师,不止听过一个学长说过张老师人很好。而且张老师还是青年才俊国家优青,欢迎选课一睹风采。作为科大图形与几何计算实验室(GCL)的老师之一,张老师立志要用这门课提高数院同学编程能力,而且看来取得了一定成果。助教方面,张助教和李助教都很认真负责,平时在群里积极答疑,非常值得尊敬。这里多说一句李助教,李助教是算法基础祖传助教,主持两年朝政,目前的课程主页和OJ系统都是疫情那年开始,李助教上任时和老师一起合力开的先河,直接促使算法基础从一门理论课转变得更像一门注重编程的实验课了。
三、上课体验
结合评课社区的评论观察,原本以为张老师上课会很催眠,结果一去发现,其实还好,计算数学的其他老师感觉讲课风格也差不多。看来张老师也是在进步的,讲课一年比一年熟练了。如果认真听课的话,体验应该还不错。其实要完全跟上上课节奏也没有那么容易,经常发现有不懂的小地方,建议直接课上思考解决,不要留到课下。课上学算法,课下做OJ,节是个比较合理的节奏,要是不太能自律还不听课而全堆到课下,其实负担确实有些沉重。老师也和善,下课很欢迎大家去问问题。所以,快去听课啊兄弟姐妹们。
啊对了,张老师还请了一些学术大牛来给大家宣讲一下学术前沿的知识,还和算法有一定相关性,让我们扩展视野。虽然听不太懂,但还是蛮有意思的。内容涉及计算机视觉,推荐算法之类的,尤其是以后可能对这些方向感兴趣的同学,欢迎听听。
三、平时成绩
平时共有4部分构成:书面作业,线上算法题 (OnlineJudge, 简称OJ) ,算法竞赛,大作业。恰逢我们今年图形学换成了陈仁杰老师授课,所以算法基础的大作业内容和图形学某次作业重合了,于是我们这学期没有大作业,把大作业的思想简化成了一道OJ题。所以只剩下三部分了。总体花费的时间:书面 = O(OJ)。OJ编程量不小,可以说和图形学并重,撑起了计算数学编程任务的半边天。OJ做起来的体验和图形学不一样,图形学主要是比较费事,需要从头配环境、熟悉算法思想,有一个摸索的过程,但一旦完成,复现就比较容易,偏记忆性比较多一点;而算法题,算法看起来绝对不难,不过遇到题目就做不出来,一个题有一个题的思路,更考验灵活的应用。一般的话,复现上课算法+活用PPT上的例子就能做出不少问题,所以还是那句话,快去上课……
书面作业一般是课本课后题,不时也有课上留的问题。难度不一定小,而且由于是线上提交,千万别忘了交。不过仔细啃一下课本证明,其实也问题不大,而且就算有小错助教也会好心地不计较(以便让大家集中精力做OJ)。
OJ是重中之重,做起来和其他评论体验一样,确实可以治低血压……一定要注意小地方,比如加不加回车,多不多空格之类的,还有就是想好再上手。由于只要不全对就不得分,所以如果做不完了,一定要彻底做出几个题,而不是每个题都试一试 (当然这是从功利的角度讲)。不懂的问题就多问同学或助教,不过千万不要麻烦他们帮debug……一学期练下来,确实感觉算法题能力有不小的增长。确实比评课社区说的抄满课本答案的体验要好得多。尽力做就好,重在学习。会奶的。
算法竞赛只搞了一次,3道题90分钟,今年是一道送分题,一道最大流最小割,一道动态规划。主要还是让大家体验为主了。最后看结果,全做出来的还不少,瑟瑟发抖……不过助教说占比不大,重在参与。
四、期末考试
虽然OJ是平时花时间最多的,但最后算分理论测试还是大头。期末考试还是很友善的,几乎全是原题,而且主要看会不会,不会死抠伪代码会不会有BUG之类的。只要是背过书面作业+OJ题目+课本算法就能对答如流,当然最好再看看助教的习题课讲义。虽然都是背,但个人认为比数值代数要好背得多,算法也是只要脑子里能知道怎么跑就好,可能这就是理解的用处。结果不过不知为什么一看成绩分布,最终期末考到80左右好像就能拿4.3,可以说奶得相当到位。
总结起来,平时OJ尽力好好做,书面作业别忘了交,期末认真准备,别轻视,少犯低级错误,就能学到很多东西,也能取得不错的成绩。推荐大家积极选课。
附1:算法导论答案 (前面评论区有了,再贴一遍):https://walkccc.github.io/CLRS/
附2:如果想提高OJ能力,有时间的同学可以去逛逛leetcode,OJ的运行模式就是仿照leetcode进行的,多刷刷题,应该可以熟练一点。
作为一门算法课,期末的比例疑似有点太高了,据说60的期末的占比对没考好的很不友好。
因为个人原因,一天考两场期末,导致确实没有复习好,希望别大三挂科保不了研了。。。不调分就挂了。。。
不挂回来给满
1.0 成功不挂哈哈哈
今天翻自己在评课社区的评论,想不到居然忘了给这门课评价,遂来补上
(毕竟zjy可以说是我来科大最大的恩师了hhh,无论是给分还是学知识还是其他帮助,不评价一下有点过意不去)
这门课在未来会是一门4学分的课,主要内容就是算法导论上面的一些经典算法和一些经典数据结构。对于入门coding还是非常有帮助的。相比于算法导论过于啰嗦的文字描述,我觉得老师的PPT就写的更加简洁明了。我个人学这门课的时候一般都是以PPT为主,然后PPT遇到疑惑才去参考课本或者是网上的一些叙述,总体来说不会特别吃力,整个学习过程只有一个红黑树学的比较累orz,其他知识应该都是能够比较快学会的。(特别提醒的是老师由于上课速度比较快,会在课程结尾的时候补充一些图形学的私货,我本来以为不会考就没看,但结果考了一个十分的大题,最后因此失去了一些分数。)
这门课平时的作业包括书面作业和编程作业,以及一些大作业。
书面作业的话网上会有答案,我觉得不太有必要自己投入过多精力思考,理解答案的想法即可。(尤其是后面图那一块的作业,难度可以说还是比较大的)
编程作业对于没搞过算法竞赛的同学来说可能比较痛苦,不过确实是个蛮好的锻炼。平时要花费的时间不定,我个人大概是一周要花差不多4-12小时来写代码才能通过(根据当周难度来定)
大作业的话,说实话今年大作业本来还是非常有难度的,但是这门课今年的助教实在是太C了,给我们提前写好了非常多可能要用到的函数,直接干脆就是把大作业变成了5分钟能写完的东西。(不过算上看论文可能还是要30-60分钟。)
我个人认为如果选这门课,应该平时是要经历比较多的编程拷打的,全部挺过去肯定能得到不少收获,是一个好事。
期末考的每年难度比较稳定,只要上了80分就可以拿到4.3,我个人感觉大概80分左右是只要理解书上的算法思想就能做的题或者是作业原题(我的意思是不用证明,只要知道算法思想+会用算法就行)
还有20分可能是需要大家临场思考的oj题。反正只要把ppt上的算法思想给掌握好,然后稍微有一些临场做oj的能力,拿个4.3就没什么问题了。总体来说还算是比较好拿高分的课。
最后再感慨一句zjy绝对是来科大这么久最喜欢的老师了。
计数快乐课,推荐大一下学习。
老师和助教都很懂科大学生的学习节奏 (指知道恐怖的P.D.E的期中考试后延期ddl),这门课的平时压力主要来源于每周的编程题(类似于洛谷或力扣)。期中前大概每周四五道,包括上课讲授的算法复现和一些算法思想的应用(比如DP,贪心,二分,分治等等),期中后改为每周两三道。一门十五周的课程考试内容前十周就已经讲完,后面会有习题课,答疑,或老师找来一些学者/实验室的学长做有趣的报告,总之,这门课绝对不会在你需要花时间做其他事时突然跳出来,挺住了OJ题较多的前几周(而这时候其他课的压力一般较小),后面的学习会很轻松。
到课的人不多,事实上张老师的讲课用的PPT都会发下,而去听课也并不能获得超过PPT的知识,我到现在也只记得张老师课上经常提及当前算法与其他课的联系,貌似cue了运筹学,图形学,数值分析等课。。。不过张老师不点名,各位来去自由。
据助教所说,除去OJ,书面作业,期末考试以外,每年会从ACM和大作业中二选一布置,今年的两个大作业第一个迫真完形填空,第二个与图形学相关,听说很多人都没做,我因为方向是统计不想花费学习成本在open**上也摆烂了,张老师说一个大作业最多能影响3分总评,所以可能没选过图形学这门课的会吃一点点亏,,,什么,你问我为什么概统要来学算法基础,我会告诉你那是因为上学期的运筹学由于不会python吃大亏了吗?所以为什么概统要选运筹bushi
最终考试可能需要把讲的内容,作业题,OJ题BFS遍历一遍,由于基本上一道题的算法理解了就是满分,不理解就很难得分,因而若复习不全面总评容易发生惨案。最后给分未知,我觉得就是保证优秀率的情况下整体平移吧。
本课程为应用数学&计算数学的专业方向课程,课程教材为《算法导论》。
课程的具体内容包括:排序算法、分治法、红黑树、动态规划、贪心算法、哈希表、图的遍历、最小生成树、最短路径、最大流、字符串匹配(以上按讲述先后排序)。授课过程比较重视一些算法的证明。可以发现,以上内容和“数据结构与数据库”中的不少内容有重合。事实上,老师的讲课并不十分吸引人,有一定程度上的催眠,课堂到课率不高,有时甚至会人数低于20
本课程第一节课开始时选中人数为62人,参加期末考试的人数为43人。(瑟瑟发抖)
作业包括手写和机评编程(OnlineJudge)。手写作业为算法导论的课后题,一周三四道,写了就行。我个人经常写不出来上网搜答案。编程作业一周三四个,只有对错之分,和当周所学算法密切相关,不少题比较困难,因而编程多了,人就易怒,此时要冷静。因此作业总量较大。
考试内容基本覆盖全部课程内容。
自己感觉给分很好。或许是因为善良的张老师不希望挂人,而低分不少,有三成学生期末得分不足40,只能大力度捞人,分比较高的也就一样被捞上去了。然而事实上,期末考卷中有排序(12)+堆(10)+最小生成树(15)+最短路(7)=44分在数据结构与数据库中详细涉及(我考完这个第二天考数据结构与数据库,这些基本是又考了一遍一样的题型),因而拿到这些分数再认真学的话获得优秀也许并不太难。
感觉是任务量比较大的水课,感兴趣的话大一下就可以选不需要什么前置知识(
上课约等于念ppt而且还有点口吃,所以上几节课只够就再也没去过了,ppt做得真的挺好的
oj系统真的很高血压啊啊啊,不过可能确实提高了我的编程能力吧
最后期末考试几乎是ppt上的课内内容,不过今年考了特别多并行的题,刚好那几个ppt没看太懂,所以考试寄了,最后考了79大概是五六名的样子看分布,最后总评是90感觉挺奶的了,因为窝大作业约等于没做(实际是选了那个开放课题然后做了个难度约等于解决二分匹配的东西,把之前的oj代码改改就行了呃呃)
感觉有能力的话还是选计院的算法基础吧(
算法基础课程虽然是一门选修课程,但能学到的东西仍然是相当多的。而且其教学内容与数据结构这门课有高度重合,无论是大二下选修巩固自己大一学的知识;还是大三下选修重温那些 C 语言与数据结构知识,都是十分合适的。
张老师在课程教学方面广泛听取学生意见,现在的整体教学旨在提高大家的编程能力。上课方面老师会把一些重要知识讲细一些,且对于学生不会的方面进行再讲解。有时候也会补充一些材料便于大家理解,同时张老师有时候会结合自己课题组学生的现况对大家进行一些小建议。上课中期或最后也会讲一些课题组内的研究方向,让大家领略目前 CG 或 CV 的前沿领域,算是带大家初窥门径。
每周布置的书面作业都是很少的,取而代之的是上线了OnlineJudge系统,每周有 4-5 道线上编程题目,旨在将上课学到的算法通过一些编程题目进行实现,以此加深对算法思想或相应数据结构的理解(不过这个大概还是需要投入一些时间,就像刷 leetcode 一样)。
那年期末题量还挺大的,且覆盖知识面比较广,基本涉及到所有上课知识,所以如果想要考一个还算过得去的分数还是需要对所有内容广泛浏览一遍。
不过并不用特别担心分数问题,张老师的给分比例大约是:20%书面+20%OJ作业+60%期末考试。算完分后再进行比例上的调整,会给满优秀率!平时作业只要是基本完成了,期末考试也不是特别差,优秀基本可以保证,努力与收获成正比,回顾学期的努力与最后得到的结果会有别样的收获感。
收获很大,但是给8分,两个原因:老师上课感觉很随意233,经常讲到一半莫名卡住,然后就“同学们我们休息一下”救场,另外作业很多很多,而且有的找不到答案,助教习题课讲得也很模糊。
课本身是很好的,算是数据结构的后续课,拓展了很多东西,编程比数据结构复杂了一些,但是很有趣~
我是大二选的,感觉老师有点照顾大二学生???给分还挺好的其实~
统计方向的可以考虑选修一个,挺有用的~
今年是这门课程第一次升级到4学分,增加了很多并行的部分,上课方面个人认为挑不出太多问题,最多只是老师讲课方式并不吸引人导致到课率很差
给分方面个人认为不好,主要是课程考核设置的问题,期末考试占比个人认为过高且内容多考察的很杂,并且每道题小分很低,这就导致了期末考试大部分同学都爆炸了
大作业私货太多,可以说就是一次图形学实验并且没有提供框架
算法基础个人认为还是很重要一门课。希望以后这门课能针对性的改革一下,至少从今年来看这门课是比较失败的,老师上课效果也不好,同学们学习效果也不好
只是想评论一下这位同学的评论
本人基本上每节课都去,内容结合PPT理解的很轻松,这门课没怎么花时间。老师讲课稍微快了点,但是绝对没有大毛病。不知道这位同学的“讲课稀烂”从何而来,请问是否来听了?有资格评论吗?如果真的来听了,“默写大赛”应该很轻松才是,确实“没有一点技术含量”,因为这次考试除了第五题全部都是上课讲过的,原封不动。如果这位同学真的听了老师的课,拿高GPA不是有手就行?没有技术含量你都拿不到高G?喂到嘴边了还勾交你tmb是什么废物?你爸妈喂饭喂出脾气了是吧?cs都知道不咬给饭的主人,你tm不知好歹连cs都不如?都这样了还不行,不知道什么课能给你这种zz好成绩。。。
下面是稍微正常的评课(
内容:今年算法基础学分从3学分到4学分,多了一些数据结构和并行的内容。一共有40个PPT,大约15个是数据结构(平衡树等),10个算法(排序,动态规划等),10个图和网络,5个并行,都是基础的算法和数据结构。PPT做的不是很好,里面挺多地方抛给你一个问题,比如算法复杂度是多少,但是不告诉你答案,没理解的得自己去搜。上课的时候老师的节奏有点快,走神就会跟不上。yysy,这都是小毛病,算法是包经典的,网上写的比教材都细,PPT结合着老师讲课来看,把缺漏补上看的也快。体验挺好的(如果真的来听了的话懂吗)
作业:分为纸质作业和代码题,不难,网上还有答案,代码题不会写的问GPT(如果都是抄的自然一点用都没有,只能混学分)。最后有一个大作业,没有提供框架,但是实际上网上应该都有,老师说得清楚,也基本给了资源。目测拼装一下就行,难度也不大
考试:全是原题,背就完事,默写大赛,随便拿高GPA 我的建议是,这门课平常跟上节奏,一周作业就那么点,讲的也就那么点,考的都是PPT上有的,就是背诵大赛,每年都只有一道5分-10分拉区分度的题(甚至是老师原话)。还是上面那句,除了第五题10分其余都是原题,真不知道为什么勾交,出技术含量的你不更没法做?
总结:内容有用、平时轻松、考试放水、选就完了
(声明:本评课仅针对图中评论,建立在该同学真的来听,但因为老师讲的稀烂而考砸破防的假设下。老师苦口婆心在群里劝说大家不要挂科,还出的是没有技术含量的默写卷子,都这样了,我的建议是没有拿到高G思考一下自己的问题,是不是别的课也就只有可怜的几个b子儿)
1 感觉老师上课非常随意,很多东西都解释不清楚,基本上靠自学了。
2 平时作业非常多,感觉是我这学期花时间最多的一门课了(可能是其他课完全没怎么学)。
3 编程作业的话,前四次比较ordinary,最后一次感觉很有难度,所以我随便水了水就交了(所以最后一次编 程3/5)。
4 给分的话一言难尽。我期末95,平时纸质作业分数全班最高,编程作业坑了(第一次4/5,最后一次3/5(最 后一次权重*2)),然后总评93。
5 不过上这门课收获还是挺多,教材很不错(虽然废话有点多)。
这门课用的教材是Introduction to Algorithms (3rd Edition),有对应的中文译本《算法导论》(第三版),不过老师的PPT也是用英文撰写的。书后习题网上有答案,直接百度相应章节即可,下面是一个较为完整的英文版答案:https://walkccc.github.io/CLRS/
老师讲了书中的第2,4,6,7,8,9,12,13,14,15,16,22,23,24,25,26,32,33(最近点对的计算),22(线性规划的标准型)。老师上课声音有点小,而且讲课逻辑有一些混乱...感觉有的老师自己可能都不太完全掌握,所以也导致除了前几节课外基本上都没什么同学听,旷课迟到也是常有的事...
每周一般布置4~16道书面习题...量非常大,经常要写(chao)很久很久,本学期助教比较负责,安照一题1分计算平时分,迟交打五折,最后统计学期一共是114题,平均分99.88。(这部分占总评20%)另外除开刚开学几周外平均两周左右布置一道程序设计题,这学期的题目是:1.找n个数中第k小的元素 2.实现红黑树和顺序统计树 3.实现矩阵连乘的最优括号化方案/两种方法实现最大子数组 4.求解任意两个顶点之间的最短路径 5.二选一复现老师给的两篇论文(纹理合成/纹理切割)。每次上机满分5分,最后一次按两次计算。(这部分也占总评20%)
今年的期末考试题出现大量前年考试原题,也有一两道去年考试的原题(期末之前几周老师让助教发群里),据一个学长所说,当年他上这门课的时候老师开学时发的卷子也与期末考试题大量重合(我怀疑是老师忘了发过卷子),因此建议大家找一下往年卷子做一做...可能基本上都是差不多的。期末试卷难度基本上等于中等的作业题难度,大概就是算法证明、算法默写、建模...不过题量很大,最好能熟练地记下书上的算法,满分110(有一道附加题),考多少最后就算多少。
最后的给分按20%书面作业+20%上机+60%期末卷面,我的成绩是没怎么调,涉及卡绩的可能有微调吧。
课堂:到课率低,老师声音有点小,我反正没怎么听
教材:clrs
书面作业:量大,平均难度一般,部分较难的题可以参考github上答案,反正考试不会考难题。迟交打五折,尽量提前一两天写好,虽然我都是要交的前一天肝的。
编程作业:最后一次大作业略难,其余对书上伪代码进行翻译并利用python的库进行数据处理和绘图即可完成,难度较小。过ddl得分打五折,千万不要太拖延。
考试:这次考试题和前年考试题大面积重合,我已经彻底没话说了。水题+算法默写+附加题,满分110。然后水题也不知道为啥完全正确的答案要扣分,有些题干没要求的事你不干还扣分,我强烈要求算法基础考试删除所有题干,让学生们心灵感应猜猜老师要我们往卷子上写啥。
(考试就是考试,希望老师和助教们可以认真对待,认真出题、认真写题干、认真制定评卷标准、认真批改试卷。)
给分:个人觉得还行,请参考学生们的平均评价
这门课老师的存在感可以说是很低了…能给7分主要是教材算法导论还是很经典的,可以看看。书上的内容都还是比较有意思也有用的。但是正如上面的评论,感觉老师对算法的理解也只是停留在应该怎么做,对于为什么要这么做其实并不十分清楚(当然可能应用中也不需要特别清楚)。所以老师上课也讲得不是很清楚,需要自己好好看书。 课程前半学期进度很快,每周作业量巨大,而且教材的习题还是蛮难的,需要参考上面评论贴出的答案……上到图论以后速度和作业量都变得可以接受。总共五次编程作业,最后的大作业是实现论文啥的…实在是不太友好。考试=算法默写大赛,只要对书上的算法和作业题比较熟练就行…我从头到尾没停笔才勉强做得只剩最后一道附加题,题量是很大的。 值得一提的是老师会请人来讲讲深度学习的科普啥的,比较关注前沿领域的科普,这还是不错的(不过也就是科普了啦)。
课本身是很有意思的 无奈老师上课水平有限 比较催眠
教材是CLRS
教材上习题有一定难度,下面网址有参考答案(有错误)
https://walkccc.github.io/CLRS/
给分就那样吧。基本看期末考试成绩
简单评一下吧,扣两分一分给到大作业,一分给到期末试卷。
首先是平时课堂,张老师在平时课堂讲课还是讲的非常不错的,课件准备的也非常清晰(不过可惜是英文的)。不过比较可惜的是由于这门课的上课时间比较差,而且张老师也不喜欢点名,所以到课听讲的同学并不多。但其实这门课程的难度不算难,深度也不算深,个人认为如果每节课都到课认真听讲,应该还是比较容易拿到一个很不错的成绩的。
接下来是书面作业。书面作业基本上都是算法导论上的原题。虽然因为个人原因不太喜欢算法导论上的题,但量真的很小,所以也无所谓了。
再然后是编程作业。好像有不少同学反应编程作业难,其实编程作业的题目相对而言都比较简单,而且比较基础,很多题都可以近似认为是算法的模版题。不过这学期中间 OJ 崩了一次,导致后面几周在补前面几周的作业,可能因此导致后几周代码量变大了不少。如果抛开这个因素的话,每周三道左右的 OJ 题其实题量真的不算大,可能对于很多没学过算法竞赛的同学来说编程确实会有点困难,但作为一门算法课,编程能力的训练是必不可少的,这个量可以说已经相当基础了。
再接下来是大作业。大作业是实现两篇文章的图形学的问题,应用了最大流算法;也可以自选一个与最大流算法有关选题。其实我不太理解在这门课里面放入一个图形学问题的意义,因为对于没有学过计算机图形学的同学来说,要完成这个大作业最难的部分不是最大流算法,而是 OpevCV 的配置和使用。个人认为这其实略微有一点点偏题;而自选问题实际上也很难选出什么与最大流算法有关的选题。个人感觉这个大作业作为算法基础课程的大作业不是很妥当,感觉不如取消,或改为在编程作业中添加几道较难一些的算法题,并提供一定的解题思路由同学去实现。
再然后是考试。个人感觉这次的考试其实不算难,但是题量真的有一点大。不过像部分评课社区的同学所说的那样完全是背书考试也不至于,毕竟如果真是这样的话为什么平均分会这么惨。个人感觉可能在考试中加入的并行算法有关的题目有一点多,在多个地方考到了并行算法相关的内容,并且有个别一两问个人不太喜欢,其他的都没什么槽点,中规中矩。不过之后可以考虑适当减少一些题量或是加长一点时间,因为在两小时写一大堆话描述算法真的很累(
再然后,看到评课社区说曾经有过机试,但至少本学期没有。个人还是比较支持在算法课里面放入机试的,甚至可以作为加分项,也算是对代码能力的一种训练。毕竟在笔试里面也放入了很多算法设计题,那与其手写代码,不如直接加一点上机,既考察了代码能力,又考查了算法能力。
最后,关于评分这方面,张老师应该还是调了分的不然我真的不知道我怎么上的4.3。不过调分力度可能不大,这中间应该也有到课率低的原因,这我就不作评价了。综合来看这门课还是一门不错的课,值得一选。
好像其他这学期的评分有点低,但是其实上课体验还是不错的,给个10分拉一下分。
张老师的课件作讲的比较精简,很适合复习,上课讲的和看课件说实话没有太大的区别。作业任务量其实也不算很大,书面+oj一周一般不会超过3h,比其他4学分硬课好多了。
唯一比较麻烦的是这学期有关于图形学的大作业,只做基础要求的话任务量不大,但布置的时间在考试月,有些影响复习。希望以后可以调换一下讲课顺序,比如放在开学布置。
这学期是改4学分的第一学期,新加了并行算法的内容,但是讲的比较浅显笼统,其实没怎么增加复习工作量
考试思维难度不高,主要考记忆。把slides仔仔细细看两遍应该能90+,不过由于slides共有2000+页,可能得预留40h的时间达到比较好的复习效果。