选课类别:计划 | 教学类型:理论实验课 |
课程类别:本科计划内课程 | 开课单位:自动化系 |
课程层次:专业选修 | 学分:2.5 |
我个人认为作为一门编程性质的课,主线是非常重要的,但是在这个课上没有体现出来。课程讲的比较残缺,C++面向对象的特性讲的比较少,大篇幅来讲GUI了(说实话现在有很多GUI优秀的库,但课程还停留在10多年前的FLTK,属实是课程比较落后的一个地方),学习编程应该跟紧时代,去学习好的代码习惯和编程思想才是最重要的。如果想比较系统的学习一遍C++建议看看b站上的视频(黑马程序员的视频就不错,但个人认为此过程仅能掌握C++的基本语法、面向对象基本特性和STL基本容器,要真的对C++有深的体会还是建议多敲代码,写几个大项目多体会)。另外也可以买一本好的C++书,多去看体会人家的代码书写习惯和思想。本人大一的时候学过C++,这门课也基本上没付出多少时间,目测老师给分还可以卷面估计80,总评90。
刚开学,先打个平均分mark一下
本课程是自动化大三下的专业选修,选课人数不多,大概就10-15个,到课人数比较肯定明显少于选课人数。虽然名义上是不限优秀率,但看前辈的评课似乎是有分也不给
第三周开始有纸质签到(放在教室最后面),自行前去签到,但不能签完到跑路,偶尔会点名回答
某次下课随机询问是否用过Java,第二堂课就开始讲Java-AOP和Spring了,本班的班级成分应该几乎没有人用过Java的样子
第一次实验(两周):实现一个计算器,在课上直接开始讲编译的文法分析了233。本人直接拿上学期的编译实验套个壳交了,不太理解没学过编译和OOP真的能写出这玩意来吗?
第二次实验(两周):写两个程序,一个将文本文件转化为二进制,一个将二进制格式转化为文本。感觉实在是有点乐,似乎就是一个""r+"和一个"wb+"的应用而已
先说结论:大四学分不够的同学可以选着玩儿,大一到大三的想刷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++,最后成绩很高,因此推测给分很好。
教师主页: 暂无