C/C++程序设计 (于仕琪)CS2052024春 2023春 2022秋 2021秋 2020秋  
2024春 2023春 2022秋 2021秋 2020秋
8.8(5人评价)
  • 课程难度
    中等
  • 作业多少
    很多
  • 给分好坏
    一般
  • 收获大小
    很多
选课类别:专业任务 教学语言:英文
课程类别:专业选修课 开课单位:计算机科学与工程系
课程层次:本科 获得学分:3.0
课程主页:暂无(如果你知道,请点右上角“编辑课程信息”添加!)
课程简介(教工部数据)
The objective of this course is to give a good knowledge of C and C++, as well as a working practice of Linux, and to prepare to future courses in the Computer Science curriculum. Through lectures and small programming projects, it covers topics such as how to build a program on Linux, what are the major differences between a language such as C and Object oriented languages such as Java (and C++), how Object oriented Programming in C++ differs from Object oriented Programming in Java, pointers and memory management, data structures in C and C++, as well as system calls. The first half of the course will solely be devoted to mastering C, and the second half will present C++ and the efforts to build a “better C”, as well as how to interact with the operating system through "system calls".


The objective of this course is to give a good knowledge of C and C++, as well as a working practice of Linux, and to prepare to future courses in the Computer Science curriculum. Through lectures and small programming projects, it covers topics such as how to build a program on Linux, what are the major differences between a language such as C and Object oriented languages such as Java (and C++), how Object oriented Programming in C++ differs from Object oriented Programming in Java, pointers and memory management, data structures in C and C++, as well as system calls. The first half of the course will solely be devoted to mastering C, and the second half will present C++ and the efforts to build a “better C”, as well as how to interact with the operating system through "system calls".
点评写点评
排序学期
评分评分5条点评
user avatar   咕桃     2022秋
  • 难度:中等
  • 作业:很多
  • 给分:一般
  • 收获:很多

先说老师。于仕琪老师讲课的风格很棒,是个很有趣的人,平时在群里也会有比较有意思的互动。讲课时经常通过现场演示bug和debug,用比较刁钻的语法(自己为了避免歧义/错误一般不会那么写的那种)展示这门语言的特性,真正做到了让台下学生学得越多,不懂的越多(褒义),PPT和随堂样例代码非常完善,详情可以访问这个仓库:https://github.com/ShiqiYu/CPP,在bilibili也可以找到于老师的频道,那里有录制好的C/C++课程,和课程主线内容一致。在GitHub上也有许多历届同学的优秀project,可以参考但请对自己负责。

再说课程内容。第一周一般是劝退课,虽说是hello world但是拓展讲了很多周边知识,劝退效果极佳。这门课的内容其实更适合已经对C/C++有一定使用经历的同学上,因为进度会相对比较快,简单的部分转瞬即逝。于老师对C/C++的指针和内存管理等特性有着深刻的认识,讲得非常清楚。对于计算机系以外的朋友,个人建议抱着一颗真正想要学好C/C++的心来学习并且做好心理准备,或是避开这门课程。

再说project。一学期五个单人project,占比65%,可以说是这门课程的灵魂所在:) 于老师表示project给分都是凭感觉给,但做得好的给分不会差,同时也说明这门课存在严重的内卷情况,你的分数是可能受到其他人的完成情况影响的,所以外系的朋友请三思而后选,计系的朋友请给同行和外系的朋友留条活路,做人不用做那么绝。project平均分和中位数每次会公布,大概就是八十五附近的样子,所以这门课要拿A-及以上其实相当有难度。如果希望了解project,也可以去上面的仓库里看看,有项目要求和往期优秀项目展示。

最后说考试。每节课有随堂quiz,占5%,quiz取n-1次得分最好的计分。没有期中考试,25%是期末考试。期末考试挺有意思,时间不赶但考得很全面,最后一题小型手写project可以说是认真完成project后就是送分,但project摸鱼的话就相当有难度的一题,祝君好运。

官方推荐环境是vscode+wsl2,这学期还给每个同学发了一块eaidk-310开发板用于project跨平台的实现。

后面想起来有什么要说的再补吧,有疑问也可以回复我/

by 咕桃 2023.1.16

user avatar   アイス     2022秋
  • 难度:困难
  • 作业:中等
  • 给分:一般
  • 收获:很多

这学期(2023秋)当了一学期郑老师的CPP助教,感受到了课程间的质量差距,再加上前几天于老师这门课申遗了,推荐一下想学CPP的同学下学期选计系精品课于++。

于仕琪:深圳市推动“全市高校课程互选、学分互认”,我报了名。2024年春季学期,以这个内容为基础的南科大课程“C/C++程序设计”会向深圳高校学生开放选课,到南科大教室里上课。欢迎选课。

于老师的上课思路挺贴合计系学生:先讲语言特性,然后表演一下怎么写bug,然后再讲产生的原因,最后讲如何避免/解决方案。如果上课的时候听的比较认真的话,应该能避免入门C/CPP大多数的坑(

再讲讲project,于老师非常喜欢矩阵/计算相关的东西,一度让我怀疑他的xp是不是矩阵。project难度在线,内容有趣,如果好好按着要求写能学到不少东西,给分也会相对美丽。

考试的话客观题主要是看有没有复习quiz做的东西,大部分都是里面的内容。主观题如果project好好写的话不难。

最后讲讲总评,主要扣分的地方还是project,最后总评一般来说会比project均分高点。

总之总之欢迎真的想学的同学选于老师的C/C++,如果只是想轻松飘过还是等秋季学期选zf的吧(

user avatar   cra     2021秋
  • 难度:中等
  • 作业:中等
  • 给分:一般
  • 收获:一般

问:c++的课和java相比难度如何?有推荐的老师吗?

答:问就是计系刘德华——于仕琪。难度个人感觉比javaA甚至还低些(最主要我javaA纯自学,太痛苦了,c++我好歹听着课按着老师大纲来,而且学过java有些基础了)。

user avatar   什么盆栽     2021秋
  • 难度:中等
  • 作业:很多
  • 给分:一般
  • 收获:很多

属实是我在南科大上过最有用的课之一。ysq老师讲课内容也非常深入浅出,还会水群。给分一般,但是真的有用。

user avatar   Matthew_Thomas     2022秋
  • 难度:中等
  • 作业:很多
  • 给分:一般
  • 收获:很多

老师讲的很好,上课也会结合具体代码来进行授课,平时问问题也解释的很详细,邮件也回得勤,每节课后都有quiz来帮你巩固知识。唯一就是,project没标准,所以不知道卷到什么程度停,想拿高分也挺难的,每次project分数中位数在80-85之间


teacher avatar

于仕琪

计算机科学与工程系

教师主页

其他老师的「C/C++程序设计」课

于仕琪老师的其他课