选课类别:计划内与自由选修 | 教学类型:理论实验课 |
课程类别:本科计划内课程 | 开课单位:计算机科学与技术系 |
课程层次:专业基础 | 学分:4.0 |
数据结构是计算机学科一门重要的专业基础课,该课程系统地讨论各种常用的数据结构及其应用,各种查找和排序的方法,及其综合分析比较,能够培养学生数据抽象和程序设计的能力,算法时、空复杂性的分析能力。
李金龙老师在《数据结构》课程上展现出了优秀的教学能力。许多学生认为他的讲课风趣幽默,能吸引学生的注意力。课程内容覆盖全面,包括线性表、树、广义表、图等基本数据结构和操作。他还常在课堂上分享一些拓展内容和课外知识,诸如人工智能算法和开发经验,使得课堂气氛活跃并对学生有实际帮助。此外,李老师会与学生进行一对一的交流,帮助他们进行学业规划,这种互动得到了许多学生的好评。
作业量适中,实验一共八个,内容基本为各数据结构的ADT实现,没设置大作业。作业主要通过线上提交,但没有OJ系统进行代码评测,主要由助教人工检查。一些学生指出尽管实验没有OJ系统,给出了详细的代码框架,便于学生理解和实现。虽然实验不难,但助教对代码检查认真,有助于学生提升编程能力。
期末考试的难度评价不一,有人认为不难,以基础概念和代码实现为主,题型包括选择题、填空题、以及二叉树、哈夫曼树、哈希表等主题的大题。李老师班的考试似乎更注重手写代码,而非机考。有学生感叹这个只有期末的评估方法限制了学生的分数。给分整体来说较为慷慨,许多人表示获得了较高的总评成绩,但一些观点认为分数与期末考试表现之比不尽合理,尤其是在考试占比过高的情况下。
在代码实践和上课出勤上,李老师的班级没有硬性点名,但偶有抽查,学期中安排与学生的交流时间让学生感受到关心和指导。总评的优秀率通常较高,李老师会对平时和期末的表现进行整体考量,从而合理调整分数,确保较好地反映学生的真实学习状况。
李金龙老师的数据结构课程深受学生欢迎,以课程趣味性、教学质量和给分慷慨著称。虽然作业与上机实践方面仍有改进空间(如引入OJ系统),总体而言,是一门推荐选修的课程。学生普遍认为课程负担适中,收获颇丰。
出分了,大概是按照平时分50%期末50%,几乎没有调分,以下是我周围同学总评参考:
卷面65 69 总评85
卷面71 总评86
卷面73 总评87
卷面80 总评90
平时分只要拿满作业和实验没有补交,基本上总评只看你期末分
然而平时分根本拉不开任何差距,只要你认真写就是满分,因此今年这个班也没有什么所谓的多奶,你期末考得好那总评就是高,期末考得差你总评也高不到哪去
说说我上这门课的感受吧:
上课没听过,数据结构这东西不是听听课就能掌握的,关键在于平时敲代码实践使用,我周围的信竞同学都拿了高分,而我这学期疏于代码的编写考试也没考好倒也是正常)
作业就是做习题集,选择题填空题,偶尔有代码编写题,比较简单轻松,实验就是学到的几种数据结构根据要求写出对应的程序来
本次课程没有大作业,实验只要检查就是5分满分,作业也基本上扣不了多少分
学期内有一次到课人数太少点了一次名,我没到,不过最后貌似也没有怎么扣平时分。
学期末交了几个实验还被当做模范代码了,不过到也没啥用,也许下一届学弟学妹还能看到我)
这课实在是不知道该说啥,这种课考试手写代码在我看来就是纯纯的逆天,计科这种课一天不改机考,就永远没有考试的价值。
就这么多吧,不推荐也不吹捧
李老师讲课水平高,PPT也很不错,上课偶尔讲讲带研究生或者搞开发时候的事情,挺有趣的
总共8个编程作业,个别内容有难度,平时作业大多来自数据结构习题集,平时作业可以线上提交
很有意思的一点是老师每周会请同学去办公室聊天(顺序在开课的时候安排了),聊什么都行,上课点名优先点本该去但没去的
作为一名转院学生,个人认为聊天收获非常大,聊完以后对未来的规划清晰了很多
期末考试闭卷(隔壁mjh出卷),无期中考,内容偏基础。
部分题目:
画一个有12个节点的B-树
给定数据构造一棵Huffman三叉树(这题数据数量上有坑,最后构造出来的树某个节点只有2个孩子,我没注意所以构造完一脸懵逼,最后涂了重做)
给定图求最小生成树并写出所用算法的名称
给定数据和构造方法来构建哈希表并求AVL
读算法题是计数排序
编程题三选二
1.用栈实现图的DFS
2.写一个合并两棵二叉排序树的算法
3.写一个求三叉树节点数的算法
是隔壁mjh老师出卷,我们助教在考前说了,遇到有歧义的定义(例:栈顶存不存元素、链表表头存不存元素),备注自己的理解后按自己的想法做题即可,所以大概不需要太过纠结这些模棱两可的东西(不知道以后还会不会有这种规定
总之是很推荐的老师,助教也很负责任
—————————————————————————————
成绩出来了 给分巨大好 满分老师 选就完事了
分数给个均分维持一下。不评价老师,只是对于课程本身有些想说的话。
首先是语言。课程要求使用 C 语言完成作业以及实验,不过课本给出的伪代码是类 C,一些语法是 C++ 中的,可能会让没接触过 C++ 的同学一头雾水。
其次是对于课程本身。作业是课本后面的一些题目,只需要写出代码主体即可。我并不是很理解为什么妮可到现在都没有一个稳定的 OJ(Online Judge)。作业的正确性纯靠助教肉眼检查,一个学期下来很多人除了实验之外没写过几份完整的代码(据我所知有的班作业甚至是手写代码,感觉更加逆天)。我帮助别的同学调代码的时候,能够明显感觉到那些大一才接触程序设计的同学的代码能力,在经过了大一下的空白期后是不过关的。有些人作业写出来的代码正确与否很可能连自己都不知道(毕竟连编译运行的步骤可能都没有经历过)。
而且作业与实验的抄袭现象可能比较严重,助教含蓄地在群里暗示“有些有缘人不仅算法逻辑错的一样,甚至变量名都一样”。直接用别人的代码去检查实验这种事也不是没有。
我与一位浙大的朋友交流过,他们的数据结构课程是在 Pintia 上面提交代码完成作业/实验的,并执行严格的查重,范围包括但不限于往届作业/同届作业/网络资源,查到抄袭直接挂科。
个人认为,应当在这门课程中加入 OJ 训练(哪怕仅仅是评测作业题)以及查重。一门对于计科来说如此重要且核心的课程,目前的训练量我觉得是远远不够的。
把实验都写完了,来简单评价一下每个实验
lab1:线性表的实现:简单;且提供了完整代码,可以直接照着抄。
lab2:高精度小数:困难;未提供代码;个人认为是最麻烦的一个实验;代码能力不是很强的同学请预留较长时间完成这个实验,即使是 OIer 最好也给自己留半天写,别 ddl 前 2h 开始动手,容易出事。(好像不少人都没有完成全部内容)
lab3:遗传求函数最优解/爬山求 n 皇后一组解:简单;n 皇后的要求是 1min 跑出 n=500 的一组解,用脚写都行,也提供了代码框架。
lab4:串的 ADT 实现:简单;对着书上代码写就行了。
lab5:二叉树:简单;基本就 Dfs ,没啥内容。
lab6:Huffman Tree:较难;不过提供了数组代码,要求是改成指针就行了,所以主要难度在于看懂代码。
lab7&8:一般;放一起写了,就是个图论的大实验,提供了框架,整体上只是堆代码量,没什么要思考的。
期末考试考完了,先回忆一下题目:
选择题涉及一些基本的概念,很简单。
填空题里考了 next 求值,最后一题填代码是填中序遍历的非递归写法。这道题目在课件里有,考前老师也明确说了要看,所以大家应该都会。
简答题挺多,涉及二叉排序树、AVL、B 树、Hash Table 的画法和 ASL,Huffman 编码,拓扑排序和 Dijkstra,基本都是手玩。
算法题三道:链表、二叉树父子关系判断、BFS,我把父子关系当成整个子树做了(题目提示可以用全局变量,当成直接连边的话则这句话没用,所以就当子树做了,评价为纯纯nt)。
整体难度不大。
出卷面了,感觉有点寄。
父子关系那题扣了 3 分,不过前面好像犯了不少小错误,大概只能 4.0 了。
均分估了一下除去缺考的大概 75 上下,盲猜会三七开给分。
这种文科期末最好还是好好复习吧,即使 OIer 想拿 4.3 也不太容易,容错挺低的。
1:1:8 给分优秀率都超了属实难绷。
这种纯靠文科期末区分的课程早该电电了。
好像有个哥们向 jwc 反映了一下给分中实验占比过低的事情,最后给分比例未知,但反正不是 1:1:8 了(至少我算出来不是)
先上结论:李金龙老师的数据结构是我在科大两年多时间里收获最大的一门课。
个人拙见:这是计科最重要的一门专业课。在学数据结构之前,我甚至连基本的注视都写不好,也不知道什么栈、队列、堆、树、图。但是在学习了数据结构之后,当我去设计一个算法的时候,以前的我只会暴力求解,而现在我会考虑使用优先队列、使用栈、使用堆去优化我的代码,我会注意时间复杂度和空间复杂度,我还能理解很多函数的功能到底是如何实现的。它让我了解了递归的调度机制,也了解了 C++ STL 很多方法的底层是如何实现的,并且能够自己编写实现相同功能的代码,它让我的码风从一坨 shit 变得规范易读。后期的几乎所有专业课,实际上都或多或少的需要数据结构作为基础。
但我认为这门课 4 个学分远远不够,还有很多结构没有学,如果真的想学好数据结构(并不是指这门课,而是真正意义上的数据结构)的话还是需要另外花费很多的时间去学习各种结构。
李老师讲课还行,属于听课能听得下去的。但个人觉得老师讲课吹水有点多,导致信息密度有点低,认真听课性价比不高。老师常常从课堂本身延伸出去发散到不知道哪里去,可以听到不少有趣的故事,但大都可能也就是营销号级别的,有深度的不多。我对老师的水平有那么一点点没有依据的怀疑,虽然实际上老师应该还是蛮厉害的,课后问老师问题老师反应也挺快。
上课使用的slides在学期初就全部传在了课程rec仓库里面,看日期大都是暑假里更新过的,应该不是祖传的那种,后期也有对内容出错的部分进行修正。
老师几乎不点名,但可能会在讲完一部分内容后从名单中抽取一两位幸运同学上台完成小练习。唯一一次点名是大约期中考试后某一次课天气挺不好的,教室看起来非常空,老师打开教务系统,给所有没到的同学发了封邮件,并抄送了班主任,那次一百五十人的班级有三分之一左右的没来。个人怀疑这次点名最后没有算进成绩里。
老师课堂内容还是比较丰富的,涵盖顺序表,链表,栈,队列,串,数组,广义表,树,图,查找等内容。这些也基本上是数据结构必须要会的部分了。
一共八个实验,大体上是一周一次。助教在学期初就已经将每个实验的内容定下来,发在了rec上,假如有能力的话是有可能一开始就全部完成的,不过一开始是没有提供代码框架的。随着课程讲到对应的部分,可能会有一些细节上的更新。另外,除了一两个实验,后来全部提供了对应的框架。
每次课后会布置一次作业,内容不多,一次大约一两个小时就能完成。有些是课后题,有些是习题集上的题目。
我暑假跟着陈越老师的数据结构课程过了一遍,所以这门课真正的收获不算多,但也是有的,比如B-树和B+树的部分。
总的来说,李老师的班还是值得推荐的,课上可以听到一些段子,课后的练习也足够。
以下不计入评课
助教:这学期的助教还是很不错的。我是唐助教组的,个人挺喜欢唐助教对代码检查上的认真,这样可以学到蛮多知识的。似乎有一次线上检查实验,唐助教一直检查到了凌晨。
考试:这学期有一次期中小测,因为疫情封校,是在线上完成的,全凭自觉。算作一次作业。期末考试回忆版见后文。
给分:直接提供的是总评成绩,没有直接提供考试成绩,不过要问的话助教是会告诉的。按助教说法是作业25%+实验30%+考试45%给的总评,没有对原成绩进行调分。小道消息似乎是4.3:4:3.7大约是5:15:20.优秀率应该是满的。
另外,李老师每周都欢迎同学去他办公室和他聊聊天,按照安排的顺序是可以做到全班都聊一遍的。聊天的内容可以是向他询问对于以后进行科研或是之后学习的一些安排等。老师是很健谈的,会聊一些他个人的经历等。这可能是唯一主动这么做的老师了。
一、15道填空
考察内容包括时间复杂度,广义表的表长表尾,Huffman树的存储结构,写出哈希表的建立三种方法等等
二、四道简答
1.给出指向单链表的一个节点的指针,从单链表中删除该节点
2.给出一个二叉树的中序和层序遍历序列,画出二叉树及中序线索二叉树
3.要求写出带双亲节点的二叉链表结构体定义,并求一个节点的后继
4.给出一个序列,画二叉排序树的生成,删除,插入过程
三、两道综合
1.huffman树求编码和平均编码长度
2.一道哈希表线性探测再散列法求平均查找次数
四、三道算法
1.输出从根到每个节点的路径(提供一个队列长度足够最长路径)
2.三叉树求每个节点所在子树的叶节点个数,求时间复杂度
3.有向无环图n个节点,重新排序使邻接矩阵为上三角阵,求时间复杂度
一些资料分享,包括这学期的小测,这门课的教材电子版等。
搜索讲得很精彩。讲了很多富有哲理的算法思想,和人工智能科普。以及一些有趣的段子。
OK 又是卷爆了的一门课,每学期都要迎接的鸡皮卷G时候又到了,原来还可以有一门课作业:实验:考试 => 1:1:8的评分标准还能超优秀率的,不过老师和助教都很好,各种卷怪大佬层出不穷,对此五星上将麦克阿瑟评价:给鸡皮一门考试,还你一份鸡皮最爱的满分答卷。
李老师是个好老师,上课会有很多拓展。而实验虽然量大但是很多都给了框架,并且我觉得是能锻炼自己的。尤其是老师的师生交流非常赞,通过这种方式老师可以真正了解到学生的难处在哪。比较可惜的是这学期大家积极性似乎都不高,可能是课业负担太重了吧,并且由于搬去高新区的缘故老师也基本只有上课之后有时间,我也没有去交流过。但是老师上课提到的一些往年同学反映的问题有不少都是我也存在的,老师也针对这些问题做了改变,比如有同学写实验不知道怎么写第一行,老师就给框架,lab1直接给了源码,不过是图片的,防止照搬。
但是最后给分因为大家都考的太好了,考试占比80%,这样甚至还多了一个优秀,因此给分并不算好,但这也不是老师的原因,助教们也都很好,也在为我们争取更好分数(这里感慨一下zyf助教太强了,检查实验的时候我不用怎么说就能立即明白我的想法)。
总的来说,如果给老师打分的话我打十分,但是为了防止卷王浓度过高导致均分越来越高,打个八分中和一下。
出分了,最后总评比按照1:1:8算的高了3分,看来老师应该是捞了。
老师讲数据结构这门课好多年了,很有经验,讲课内容也不局限于课本,比如在最开始讲课前介绍了进程在操作系统中的布局,讲数组矩阵的时候介绍了一下tensorflow,在图中介绍了一下A*算法等,认真听的话还是能学到不少东西的.
实验方面没有大作业,基本上每星期一个小实验,比较复杂的高精度还有霍夫曼树给了两个星期,相比于马老师班上的大作业,我们班的实验压力应该是比较小的.
另外老师会按学号每周安排一些人去和他交流,和他谈一谈学习相关的事,自愿的,没有加分.虽说上课回答问题会优先点没去交流的人,实际上这学期就没点过人回答问题
这门课的考试范围与考研中数据结构考点几乎一致(我们今年没考排序,简单讲了一下heap sort,不知道往年这个是不是重点),出题的方式也与[考研题](https://github.com/CodePanda66/CSPostgraduate-408/tree/master/408Exam)相似,如果心里没底可以去练练手.但实际上只要上课认真听,实验认真写,考前注意一下图和查找表那些算法问题就不大,老师给分也非常好!
这个必须满分好吧 李老师学识渊博,而且鼓励同学们和他交流(有和老师交流的机会),讲课水平很高(个人感觉比隔壁班老师好一点勿喷),有n次实验题基本就是每个数据结构adt的实现,没有大作业(隔壁班好像有) 期中炸了期末80多最后应该3.0吧 (mdB树忘了直接10分没了) 题型前面是填空选择覆盖面很广 大题是一道哈夫曼,一道最小生成树,一道B树(这三个应该是必考的) 两道算法设计题(忘了×)仔细看看课本的代码实现很简单的 感觉没调分的样子,就是比例算的 不过考的低一些的同学应该全都捞了(保真) 选了绝对不亏,放心选
老师很厉害,最后基于老师的ppt总结了一份知识点提纲,放在我的个人主页上,有需要的同学可以看看,欢迎批评指正。https://shaofengwu123.github.io/study/data-structure/
老师挺好聊天的,说话语气还真的有点像“小老板”。
关于上课:周六下午2:00~5:30,老师平均提前10min下课吧,倒是这样一个下午听下来课堂容量真的比较大。老师也挺体谅同学们的,上课的时候会说到研究生复试的内容,也会说到他以前读书的时候给别人开发的小游戏什么的,课堂氛围确实不错。上课不时会有屏幕截图,看签到情况。
关于作业:分为一般作业+大作业,一般作业就一周交一次,ddl是周五中午十二点半,在bb平台提交,上机作业会给出框架,一共6个大作业,在布置下去的两个星期内提交。
关于考试和给分:超级超级奶,起码我觉得是吧...毕竟感觉自己有道10分的哈希表+最后一道关于排序二叉树的7分编程题没写出来...(一共3道编程题:8+15+7分),结果91?!感谢ljl老师!
老师很好的,很认真,ppt也很好,我没看书,期末考试前看了老师ppt 考试题比较简单 注意概念 推荐学弟学妹们选李金龙老师的课 给分也挺好的 唯一不足是不知道最后是怎么给分的,没看到考试成绩 学弟学妹们还有什么想问的可以评论欧
-计院老师果然没有那么浓厚的学术气息(此处为褒义),像是一个做开发的小老板。
-不过上课强行吹b,然后讲一些很trivial的东西,主课不好好讲。
-平时有编程作业,比普通的数据结构课有挑战性。目测可以随便写,他没时间看的。
-收获如上(没有),后面来的人越来越少,但本人每次去撑个场子,干别的事。
-考试别担心,很简单。而且竟然是开卷。
-反正是双学位课,成绩我就直说,最后给了91。算是那个学期3门课给分最好的一个了吧,我要是李老师,这个态度的学生也就70分。
因为这门课只有期末考试,所以总评很大程度上是看期末考试成绩,下面给大家参考一下:
卷面63,总评81
卷面66,总评82
卷面69,总评85
卷面74,总评87
卷面81,总评88
总之调分调的非常不合理,卷面74的跟卷面81的总评只差1分,但卷面63的跟卷面69的总评差了4分
打分是5分给上课,1分给调分(均是五分满分)
别的都很好。老师上课幽默风趣,愿意给同学们分享一些升学和就业的事情。
就是不能理解为什么老师对于在二叉树中存储双亲节点有这么大的偏见。宁愿只存指向两个孩子的指针,为了求一个结点的双亲结点搜遍整棵树,也不愿意再多存一个双亲结点。为了求最近公共祖先甚至要用递推算出三个数组。老师的说法是“节省空间”,这能节省多少空间啊,这不是捡了芝麻丢了西瓜吗。
本课程里还有关于栈的、图的很多类似这样的让人理解不能的反向优化(十几个)。最无法理解的就是坚持使用指针而不是数组下标,搞得整个算法过程非常麻烦,特别是图的存储结构那里,结构体一层套一层,完全没有必要。数据结构课却要求同学们必须面向过程编程而不是面向对象,也是很奇怪的一件事情。
不过这些都是对具体教学内容的吐槽,课程过程、作业布置、班级组织都是很好的。
不清楚是老师这样还是这门课都这样。大概是这门课的问题吧。如果是必修的话,这不影响同学们选择李老师。我从李老师的课堂上和师生交流的过程中是学到了很多东西的。老师上课的风格也是有一定活力的,也不是纯念PPT。
等成绩出了再来更新。
李老师的数据结构是没有大作业的,并且平时作业量和实验任务都非常少。
会让每一位同学找他聊天(比如这一周是学号尾号为0的去找,下周就是尾号为1的)。聊天就比较随性,想聊什么聊什么。
老师的PPT做的不错,复习可以用作参考。并且还有老师自己总结的考试侧重点,会在临近期末的时候发放。
21秋有一个类似于期中考试的小测(毕竟卷子的标题就是期中考试),但是和小测形式一样,占比貌似也不大(?记不清了)
上课体验极佳,非常推荐
吹爆助教chyxgg,人超好还很有担当 实验内容正常[在此暗示mjh的电梯],8次实验,只要认真做助教绝对不会为难,老师也会不断选优秀代码来做较难实验的代码示范 上课从不点名,给分好,鄙人出勤率20%还是拿到了满意的分数 比mjh班多一个期中,题目与去年完全一样 期末统考,整体难度不大,失分率最高的两道的题目是手画B树&基础二分答案:给两个长度为n的有序数组,用尽可能小的时间复杂度找出中位数 总体强烈推荐,计科大二上较轻松,可以考虑选李老师再叠一节别的课
这门课主要用的教材是:《数据结构(c语言版)》,严蔚敏等编著,清华大学出版社。课程主页会放上PPT和作业提交链接,共有五次编程作业,基本要求用C/C++完成。
期末考试闭卷,题型和难度上和《数据结构与数据库》课程试卷中数据结构部分类似,因为我之前上过这门课所以也没怎么听...最后有一次作业没交的情况下可能是因为期末考的还行,老师给了91,在本学期的双学位3门中给分应该算相当好了。
辅修人 平时作业扣过1分,实验全满,考试92,最终95,李老师给分实在好
出分了,118确实不实,我大概调了1.5分,喜提这学期第一门4.3,到时说不定会来当助教
期末考试分数93,总评94.7,被舍入到94了,助教很好想帮我期末捞一分回来。但这全是概念题的期末考试和严苛的给分标准对高分选手尤其是OI选手并不友好。
李金龙老师是一位很关心学生的老师,李老师上课不仅讲授数据结构的知识,还会和我们聊自己做计算机相关工作的故事,也会为我们的未来稍微指点路。最为印象深刻的是李老师会约班上每一位同学到他办公室和他聊天,为我们提供经验,帮我们解答疑惑。
相比隔壁马建辉班,李金龙班的作业相对少了不少,几位助教也都很认真,强烈推荐像我这样的懒人前来选课。
出分了,个人感觉给分超好,感谢老师和助教捞捞
首先说明:给李老板打10分是因为满分只有10分!!!
李老师的讲课水平是我前三个学期遇到的专业课老师中的顶峰,讲课思路十分清晰,感觉读代码速度超快,思路超级敏捷!除此之外,李老师还会在将图的搜索章节时加入一点AI的知识,听课感受极佳,而且从来不拖堂,对肚子十分友好(x
关于交流:李老师十分随和,交流时感觉轻松愉快,话题也非常自由(但还是建议尽量多问专业相关和未来去向,毕竟一对一交流机会难得
关于考试:中间有一次小测(可能很多人叫期中)权重只相当于两次作业,所以稍微熟悉一下概念然后认真答题就可以啦;我们这一届期末貌似没有以往那么水(据说),不过个人认为这样才能考出一点真正的数据结构和算法的感觉嘛(不过这样可能对OIer比较有利.......)最后感觉分数巨调,给分超级好,超级赞!!!
数据结构对计批来说是一门很重要的课了,但遗憾这学期这门课的上机练习量不太够,作业手写代码也不好判断正确与否,自己用leetcodepoj什么的再练练会好些,也能加深一些理解。
李老师带的班上机作业是每一章都有的,没有大作业(听闻隔壁班电梯不做人了
最后老师给分巨大好,作业实验全交就能及格。期末考的不好,prim没写过程,b树也不太对,最后一题代码也不是最优版本,但还是在边缘给我捞了一档整90,感恩老师和助教。
试卷回忆:前面填空选择不难,注意看看概念就行。第二大题考了哈夫曼树,Prim(一定要写过程!!),B树(每年都考每年都错)。第三大题第一题是给邻接矩阵找从s到t的所有路径,打印输出,第二题是两个长度分别为m和n的有序递增数组合并后找中位数,时间复杂度要求log(m+n),这个好像是leetcode原题。
这门课是计科基础课。然而对于我这种转院的,而且C语言学得又很烂的人来说还是不简单的,尤其是上机实验。不过最后坚持下来了,实验作业全交了,虽然每次都会扣一些分数。考试的话,以基础知识为主,代码题不多,考前多看书看PPT就可以了。另外推荐李春葆编写的辅导书,知识点很全面。考试给分不错,本以为实验做得稀烂总评要跪,结果最后88, 还可以吧……
今年隔壁班老师出期末,在讲课时的重点划的有些不对,说不考的考了。但是该讲的都讲了,期末调分也不错,值得一选。
这个老师水平真的高,一学期下来收获最大的一门课。
这门课在双学位中是很有收获的一门,讲的东西都是很基础也很实用的,包括线性表,树,图,其中前两个都比较简单,但是图还是比较难的(图的实验我到最后都没改出来,哭了)
老师水平很高,讲东西透彻,能抓住本质,而且上课也很有意思,听一下午也不觉得无聊,十分建议选。
期末还是有难度,前面会考一些平时可能不太注意的概念,最后两个算法题还挺考查对递归的理解的。
但是,但是,期末总评是我没想到的,自我感觉很良好,几个比较难的题也做出来了,上课也全勤,(作业有迟交,在家太颓废qwq)。最后84…居然是三门双学位中最低的(C++和离散数学自我感觉学得极烂,最后都89……),没有体会到前人说的良好给分,鄙人不能免俗,-1分
这门课是我双学位课程里听的最认真的一门。老师ppt做得很好,上课的时候经常讲一些和应用相关的例子,可以看出实际开发开发经验很丰富。内容其实是有难度的,比如搜索和AVL这种,但考试只考了一些基础内容。由于我这学期同时学了两门数据结构相关课程,没专门复习,直接水过去了。。
大二下来追评!!先说:李金龙老师的课堂真的非常值得选!选对老师简直就是一个学期下来至少保证自己有一门课是享受的!
课程难度:中等 作业多少:超多 给分好坏:爹!!!! 收获多少:很多!
苯人是大一春季学期后结束转入计科,在2023年秋季学期置课李金龙老师的班。
PS1:发现转专业的置课真的超级香,大二上所有老师都极好~
现在已经大二春季结束了,决定整理一波评课。为了凸显龙龙对我的重要性,所以把第一次评课留给龙龙(泪目。
先做一个小铺垫,这两天会逐步写完点评,我尽量详细并且不过于强调给分好坏问题(因为这是龙龙不值一提的优点。同时也在23级计科和(转计科)的学弟学妹们选课之前给一些参考~
李老师讲的还是很不错的,但是这门课难度属实不高,自学完全能学明白,不如选个不卷的班.前面也都说了,这个班有八次实验,而且作业不算少,后面几次作业比实验还难写,大二秋课很多的话建议还是去别的班
期末96、实验满分,平时分综合99.6667,然后总评98,老师很好,很负责,这是我这学期最喜欢的一门课
我以一个辅修菜鸡的身份来答一波。
总体而言,李老师的数据结构还是比较简单的,内容基本是程设A plus,但平时作业连编译都没有要求(意思是贴个代码就可以都不用输出结果)甚至写伪代码都可以,从这点来看比程设A要轻松,然后是实验,实验内容的话难度不高,平均下来每一周多点要写一个实验,每个实验平均也许在400行左右?但第二个高精度数运算yysy给我写破防了直接放弃了(事实证明一次实验占比也不高,还是主修任务为第一位)然后我这门课是叠课的,一共就去听了5次,中间小测及时补交了问题不大,然后平时都是自学多(边写实验边学),期末考感觉比程设A简单些(因为基本不用写代码,大家考得也很高),还是能学到很多东西的,最后吹一下林助教,非常有耐心,每次我去写实验都拖到10点(都感觉他们要赶不上校车了有点不好意思),给分啥的都挺好,然后我有什么疑问都详细给了建议,满昏。
利益相关4.3。上机93.5,作业95,考试95。老师说比例按1:1:8来算,但是118貌似优秀率还超一个人,因此算出94.875的我瑟瑟发抖,怕老师向下取整,幸好没有卡绩,感谢李老师!
先说上机吧。李老师的上机有8个,比其他班多了不少(室友班上只有3个,不过他们的工程量似乎大一些)。在此提醒学弟学妹们,上机最好提前做!上机最好提前做!上机最好提前做!我有一次就觉得不难因此等到了当天下午才做,结果喜提迟交一次,不迟交那一次的话上机应该也在95+,就不用提心吊胆怕卡绩了。
李老师班上作业不多,基本上都是新教材的课后习题和配套的习题集上面的(我们用的老教材,没习题),量不算太大,也不是很难。要注意的是因为是线上提交,因此不存在弹性,到点必须交,否则打六折,这应该也是计科特色了?
其实上机和作业只要好好做是拉不开差距的,主要还是看考试。我们这次考试不难,平均分71(算上6个缺考的),因此才有了逆天的118比例,平时还是要上课认真听,考前认真复习。
李老师人非常好,上课经常拓展一些内容,也会讲讲自己带研究生的经历,课下还有师生交流。唯一有些不满的可能就是上课方式稍微枯燥,听到后半学期就听不进去了,因此打个9分,当然这就是仁者见仁智者见智的问题了。
总之李老师还是非常值得选的!
上课方面:老师讲的内容基本上就是ppt上的内容,ppt会分享到睿客网的群组,还是比较方便复习的。一个学期下来有过三四次点名,形式是叫同学到黑板上做题以及有两次当堂学习新算法的报告,分别是红黑树和并查集。
作业方面:作业量还是比较多的。平常的作业提交方式是线上提交,一周布置两次作业,都是课后习题或者习题集上的题。需要线下检查的实验一共有8次,还是比较多的,其中比较麻烦的两个分别是高精度和哈夫曼树,其他都比较简单。
给分方面:这门课是没有期中考试的,而期末考试又比较简单,所以有过8:1:1的说法,不过实际出分应该不是按照这个比例来的。我是期末92,实验满分,作业总共扣过一两分,最后总评96。总的来说期末还是比较重要的,建议把课后题都过一遍,以及平衡树,B-树的插入删除,期末的题型基本上都在课后题里包含。
最后再总结一下这门课我认为的优缺点吧:
先说优点,这门课的代码量是比较大的,可以很好地锻炼代码能力,而且李老师很贴心地给出了相应的代码框架,让编写代码的难度大幅降低。助教也是很负责的,每周无论是不是实验ddl都会到电三楼等待检查。
再说缺点:感觉一门编程的课程没有线上评测的OJ还是比较奇怪的,考试时手写代码真的很不方便,尤其是需要在前面的某一部分删除或者增加代码的时候。至于平常的作业,都是助教手动检查。如果能像大一上的程设一样有一个 OJ 就会方便很多。
李老师上课不错,思路也比较清晰
考试也比较简单,对辅修人很友好(建议不要速成,速成只保过(>...<),不保优秀,复习可以看看考研资料~)
就是实验比例占10%有点绷不住了……
貌似李老师班实验挺多的,不过写代码练练手还是挺有意义的
实验真的是占时间,比例是不是有点低了?
还没出分,先来占个坑。
总体上课程难度不大,李老师讲课也很有趣,lab有8个,似乎比隔壁班多一点,但是基本的框架都会给出来,还是很好写的。
现在来评主要是对成绩不确定了,今年最后一题大意为:找出图中所有到u的最短简单路径长为k的点v,很多同学用了dijkstra来写,助教称未达到最优复杂度(-2)以及未使用队列(-2),因此最多只能拿到6分(满分10),但印象中题目并没有“必须使用队列”的要求,这应该也是许多同学用dijsktra而非BFS的原因。
btw,倒二题寻找父子关系也有同学错看成祖先,有小道消息称按祖先的写法也能拿到一半的分(5分),两相对比确实感觉评分标准有些迷了(而且正常写父子也用不到题目中的全局变量,不知道这是不是也要扣2分QAQ)。
李金龙老师人比较随和,每周都会会让同学们去找他聊聊,讲课基本上把数据结构课该讲的都讲了,PPT比较详细,特别是一些代码的实现也都在上面,有的时候会讲偏题,整体节奏很慢,对我这种没接触过数据结构的人比较友好。作业主要是严蔚敏的教材的课后习题,比较简单,除此之外还会有一些其他的题目也会加到作业中。实验难度不高,印象里第二个实验比较费劲,哈夫曼树也不太好做,后面的实验都会有框架,主要就是实现一些数据结构的基本操作和经典算法。 考试难度不是很大,填空题考察基本概念的运用和背书水平,后面的简答?和编程大题熟悉所有数据结构的基本操作性质,以及课后习题和PPT上的代码都得话就足够达到一个不错的水平了。当然为了学好这门课最好还是要大量的做题,比如去刷题网站专门做一些数据结构的算法题来加深理解,也可以做做王道的考研书,也会有一定的帮助。给分不错,期末上80,作业实验都接近满分,总评应该就可以接近90了。这门课的内容很重要,还是要好好学的。
作业不多,实验给很多框架,难度--,期末占比45%也算调分了吧(感觉应该正常来讲期末占比不能低于50%的),虽说可能没开根乘10调那么离谱。会分批找学生聊一次,这个我感觉受益很大,上课有时候会说一些题外话,感觉多了解了很多东西(基本没有计科学长学姐,消息渠道比较有限,感觉从李老师这里了解很多)很和善的老师,但有时会破天荒点名,这学期大规模点名点过一次(人少太多了,应该是期中刚结束,大家不太爱去),上课小抽查抽个一两次(点两三个人去前面写刚讲完的题)