选课类别:计划内与自由选修 | 教学类型:理论实验课 |
课程类别:本科计划内课程 | 开课单位:自动化系 |
课程层次:专业选修 | 学分:2.5 |
谢兴生老师的《面向对象技术》课程内容相对陈旧,强调使用FLTK等较老的GUI库,缺乏现代C++和主流GUI库的应用,使得课程内容显得过时(如多个点评所言,课程停留在十几年前的水平)。教学细节不够完善,很多实验要求和课程内容以口述形式传达,导致学生难以抓住重点,课程缺乏系统性。如有同学所述,“课程讲的比较残缺,C++面向对象的特性讲的比较少,大篇幅来讲GUI”。课上教授内容存在一定错误,如有学生发现PPT内容与实际操作结果不符。
实验和作业主要集中在GUI程序的开发,但实验指导不够详细,许多学生反映实验任务含糊不清,容易陷入困惑。例如,第三次实验的环境配置复杂且bug较多,耗费了学生大量时间。有实验任务如“融合应用 GUI接口库及 FLTK 绘图支持库的图形化开发环境构建”更是抽象到让学生不知所措。实验报告撰写要求也较高但内容不明,有学生表示难以理解这些抽象内容该如何报告。课程的大作业要求很多,需要写10页以上的论文报告,显得舍本逐末。
考试难度较大,半开卷考试题目多涉及书本及PPT上的内容,且考察具体代码实现和概念的辨析,形式较为古板。据多个点评反应,考题涉及到类似回调函数、异常处理等基础概念拼写等,部分题目如模板别名问题选择有些生僻。尽管如此,部分学生反映只要考前认真复习PPT内容,考试并不算太困难,但对编程基础薄弱的同学影响较大,总体给分较一般,有学生表示被“卡3.7”。
总体而言,该课程和老师的教学水平让不少学生失望。课程内容陈旧、实验要求模糊且难度不均、考试题目设计不尽合理,严重影响了学生的学习体验。对于有一定C++基础且只想水学分的大四学生来说,这门课较为合适,但若希望扎实学习C++编程技术的同学则不推荐选修。综合来看,“大四可以选,其他的都别选”是学生普遍的建议。
真的破防了,这实验三环境配置一堆bug,也没详细的说明,代码没写几行,时间全浪费在配置环境上了,不知道有什么意义,真不如自己看书自己写代码
另外,我不知道GUI接口库里的头文件都包含的fltk.h在哪,找了半天也没找到,最后在github上找了一个,真的笑了,不知道群里的word文档是怎么做到没有这个文件还能成功运行的。
引用应该是一种指针常量吧。。。。
这是我第一次在评课社区评价,只能说这门课简直是我上过的最答辩的课,最致命的就是用的都是十几年前的东西,导致有问题你根本无从求助,体验上甚至不如量子物理。并且这门课的细节非常粗糙,主要体现在实验要求上,很多时候没有具体化要做什么,报告要写什么,让人摸不着头脑,我觉得主要是老师没有说明白。总的来说在这门课上感受不到认真的态度,体验很差,我的评价是大四可以选,其他的都别选,作为水课这门课还是非常合格的,上上下下充满了摆烂的气氛。
考完了,只能说甚至所有的实验一行代码都不用写,最后的大作业只用交一个毕业论文格式的报告,代码根本看都不会看,只要论文写的好就行(扶额苦笑),有点舍本逐末的意思,最后的考试很多都是PPT上的内容.总之非常不推荐选,大概只有两类人会喜欢这种课:有C++基础的和单纯水学分的大四老狗
如果是大四人水学分可以来,其他情况一律建议快跑。更新:上这门课确实与持矢无异,没有特殊需求,请务必远离。以及不推荐该老师(谢兴生)的一切课程
本课程是自动化大三下的专业选修,选课人数不多,大概就 10-15 个,到课人数比较肯定明显少于选课人数。虽然名义上是不限优秀率,但看前辈的评课似乎是给分扣扣搜搜
课程难度不好评价,实验只能用抽象来评价,而无法用难度来衡量,助教也很摆,没有足够详细的说明。布置的任务大多没有公告或者纸质要求,全靠上课口述(老师声音很小也不清晰,还有可能前后不一致,参考下面关于大作业的部分)
老师水平看起来堪忧,看起来对 OS 和编译了解的也不太多。更新:从没见过水平这么低下的授课老师
第三周开始有纸质签到(放在教室最后面),自行前去签到,但不能签完到跑路,偶尔会点名回答
某次下课随机询问是否用过 Java,第二堂课就开始讲 Java-AOP 和 Spring 了,本班的班级成分应该几乎没有人用过 Java 的样子
第一次实验(两周):实现一个计算器,在课上直接开始讲编译的文法分析了233。本人直接拿上学期的编译实验套个壳交了,不太理解没学过编译和 OOP 真的能写出这玩意来吗?
第二次实验(两周):写两个程序,一个将文本文件转化为二进制,一个将二进制格式转化为文本。感觉实在是有点乐,似乎就是一个 "r+" 和一个 "wb+" 的应用而已。比起上次实验难度骤降
第三次实验:融合应用 gui 接口库及 FLTK 绘图支持库的图形化开发环境构建,及基于课本本部分章节配套源码的调试验证
第四次实验:基于C++ FLTK 设计/实现一个支持简单交互绘图小程序。要求:实现含标题条、菜单、工具条和绘图工作区的窗口界面。基本图形:直线、矩形、多边形、椭圆、文本。支持对已工作区中绘制的图形,选择、拖动、修改大小、删除操作。支持将当前工作区所有图形序列化存储到磁盘文件,以及将磁盘中的图形文件重载入工作区--编辑处理。
这实验越来越抽象了,抽象得恰到好处以至于我不知道要干什么。第三次实验看起来疑似只是搭环境但不写代码
全部实验都要写实验报告,乐,这种抽象东西不知道有什么报告好写的
老师上课表示最后两节课(14周)会下来一个一个检查过关 GUI 大作业,乐
12周周四结课,当天晚上布置了实验四,并首次清楚的描述出大作业的要求,14周周四上课时间考试。实验四的任务量属于是把大作业级别的任务出成实验了,然后布置一个更幽默的大作业。然后要在两周内完成这些东西并做好大抄准备考试,这个时间点还非常巧的有各科大作业ddl
考试半开卷,不知道能抄些什么
关于大作业:
我在某次下课去问了老师,得到的回答是:“要做一个GUI程序,然后按照论文格式写个报告”,并且我反复询问要写什么功能,得到的回答是 “不限,只要写一个就行”
第二周上课,“上次有同学来问我大作业,我已经说的很清楚了。” “把那个GUI库(指FLTK)当做是你自己写的,你把每个部分描述出来,按论文格式写出来”,要写10页
两周后:
更加迷惑了,不知道他是否把第四次实验报告和大作业混淆了。总之,这已经是第三次前后不一致了,不知道其精神状态是否正常。还有四天考试,盼望着那最后一口史,如同被轮兼焦急地等待最后一个人上场并发射结束一切一样
学期过半,只能说该课程非常不推荐选,示例代码 zip 解压开,很难相信能在 2024 年看到 borlandc ,vc2005 和来自 2009 年的上古代码,图形库也是寒武纪时期的 FLTK,起码用个 Qt 呢?
该课程几乎没有收获(不要污染知识库为宜),上课内容不如去菜鸟教程看几小时学的多,已经能想象到期末考试有多么背书了,估计能狠狠打击擅长编程但不擅长背诵奇怪概念的同学
晚上写大作业属实被气笑了,边写边笑,很难想象一门编程课能被上成文科课,这种大作业感觉应该给什么《编程语言之美》课布置才对
分享一下我的大抄(使用Typst编写),需要源码可以联系邮箱,评课社区不允许上传.typ文件
检查大作业,发现有一个哥们写了21页的正文😅
老师批改大作业,要求也蛮多的,参考文献要求15篇以上🤣我都不知道这个题目怎么水出15篇来。给后来者的建议:使用 GitHub 上 USTC TeX User Group 制作的 ustcthesis 模板,如果是 Typst 使用者,同样建议使用 ustc thesis typst 模板。这样能规避一切格式挑刺
出分了,给分一般
我个人认为作为一门编程性质的课,主线是非常重要的,但是在这个课上没有体现出来。课程讲的比较残缺,C++面向对象的特性讲的比较少,大篇幅来讲GUI了(说实话现在有很多GUI优秀的库,但课程还停留在10多年前的FLTK,属实是课程比较落后的一个地方),学习编程应该跟紧时代,去学习好的代码习惯和编程思想才是最重要的。如果想比较系统的学习一遍C++建议看看b站上的视频(黑马程序员的视频就不错,但个人认为此过程仅能掌握C++的基本语法、面向对象基本特性和STL基本容器,要真的对C++有深的体会还是建议多敲代码,写几个大项目多体会)。另外也可以买一本好的C++书,多去看体会人家的代码书写习惯和思想。本人大一的时候学过C++,这门课也基本上没付出多少时间,目测老师给分还可以卷面估计80,总评90。
我只想问问老师为什么PPT里讲的的东西都是错的
例如reference的问题:
int a=1;
int& b=a;
int c=2;
b=c;//error
但是实际上会发生的是c的值给了a。。。
先说结论:大四学分不够的同学可以选着玩儿,大一到大三的想刷GPA的同学最好快跑。
本人自以为精通C++,于是抱着刷GPA的心态选了这门课。上课的确很水,甚至没有点名。实验量也尚可接受。结果期末考了许多书本上的具体实现(比如桌面计算器、GUI接口库),以及一些课本上的概念的辨析(比如什么是回调函数),甚至某个选择题的选项故意把“exception”拼错,似乎是想考单词拼写。其中一道10分的大题要求把一个“C风格的模板别名改成C++风格”,原本的代码大致是:
template<typename T>
struct Vec {
typedef MyVec<T,MyAlloc<T>> Type;
};
//usage
Vec<T>::Type vec;
我完全不知道它想考什么(什么是C风格的模板别名?难道C有模板吗?),于是写了一个 C++ 11 的别名模板:
template<typename T>
using Vec<T> = MyVec<T,MyAlloc<T>>;
估计这里被扣了10分。
最后被卡3.7了(呜呜呜~)
本人大一低水平信竞生选了这课水学分。
这课基本就是一半C++,一半GUI,没啥难度。
考试半开卷,写代码的都很简单,剩下的大概45分是概念题,把PPT上的关键信息抄在纸上就行。
结课早,复习两周就考期末,基本不影响其他学科的期末复习。
上课的话老师划水,助教划水,学生划水。平时实验和大作业差不多是能跑就行(大作业超纲的部分我写不来就没写,一样通过)
最后总评92,中规中矩了。
如果是抱着想学C++的目的,别选这个课,讲课比较烂,10周左右的实验,难度基本为0。
考试半开卷,考前b站3天速成了一下C++,最后成绩很高,因此推测给分很好。
教师主页: 暂无