| 选课类别:计划内与自由选修 | 教学类型:理论实验课 |
| 课程类别:本科计划内课程 | 开课单位:计算机科学与技术系 |
| 课程层次:专业基础 | 学分:2.5 |
本课程作为计算机科学技术专业的编程进阶和过渡课程,采取迭代渐进的教学模式,从回顾C语言程序设计的基础知识开始,逐步深入程序在计算机存储系统和操作系统运行的基本原理,将算法和系统联系起来,阐述如何借助系统的特性和编程语言让算法更加正确、高效的实现。本课程从程序的运行时环境开始,依次介绍数据的存储和处理,包括最底层的位运算和指针的使用,从内存的视角检视各种数据类型的构造和使用。然后围绕程序开发与调试的全流程,依次介绍各种确保程序正确运行和方便调试的技巧。在此基础上,介绍程序性能优化的基本概念和测量分析方法,并介绍常用的程序优化技巧,为初学者建立起高效编程的初步认知。最后,还介绍了并发编程和网络编程,从编程实践的角度学习对多核计算资源的使用以及多计算机间相互通信的方法,为操作系统、计算机网络等后续课程的深入学习打下良好的基础。
本课程的理论部分和实验部分关系不是非常紧密,基本是各讲各的(拼好课属于是
实际教学内容是公共查询上的课程大纲的真子集(那个大纲疑似有点太超前了)
各种资料可参考课程主页:系统程序设计基础 (USTC ISP)
理论部分:
主要内容:回顾了上学期程设的一些内容(老师也知道大家学的不怎么样),讲了一些模块化编程(多文件),指针操作和内存管理(补齐了上学期程设因为学时减少删掉的内容),文件操作,“高级编程”(链接),性能优化等
缺点是很明确的,一是每节课的内容之间缺少显性的联系,没有一条明确的主线,跳跃性太强,二是学时明显不够,以上罗列的内容显然需要一些系统层面的前置知识,但指望大一学生掌握还是太不现实了,因而老师上课会补充一些内容,但是讲的又特别零碎,很难从中真正学会什么
个人认为课程设计时可能参考了CSAPP的部分内容(第5,7,10章等),但不知为何没有直接将其作为教材(老师自称找不到合适的教材)
实验部分:
实验共有5次,内容难度不大,有签到
期末机考共4题,包括“简单”程序设计(实际感觉这题最难),文件读写,内存操作,性能优化,这里放一下题目
评分标准:oj评测满分的题直接按满分记,每满分的话助教会人工评分(甚至还有评语,孩子们这是真伟大),取oj和人工分数较高的一个,性能优化全部是人工评,按优化点个数给分
开学的时候说参加csp并得到200分即可免修实验(按满分记),当时课程组内部应该也没有商量好,显然马老师非常后悔这一决定,下次估计没有这个政策了
期末还没考,这门课第一次开,连样卷都没有,裸考了属于是
给分还不清楚(马老师声称会给满优秀率甚至突破),等出分之后再来回评吧
2026.6.20
孩子们,前无古人(可能也后无来者)的开卷形式
我刚刚跟王老师商量了一下,允许大家带笔记本电脑(手机、平板等不允许)浏览PPT(只允许打开/浏览PPT课件,原则上不能敲键盘,只允许操作鼠标。若监考中发现有其他任何操作直接算作弊,包括但不限于用浏览器搜索其他文档、互联网,跑编译软件等,打开微信QQ等社交媒体工具)。如果发现其他人作弊,可以当堂举手反映,但拒绝事后“检举”)。纸质材料不限。
话说真的能监督过来吗()
2026.7.8
刚才出了总评(计划,还没上教务系统),机考90+ + 笔试85+ = 4.0,考虑到优秀率已经突破了40%,这个调分幅度已经相当可以了
总的来说,对于必修这门课的同学来说,倒也不是非常难赤(至少开卷可以带电脑这一点就比隔壁班好多了),学的东西也确实比较有用,对于非必修的同学来说,个人认为看看ppt和实验讲义(课程主页上有)就行,没必要专门来选(也可以给计科自己人增加点优秀率)
最后,感谢老师和助教的付出,机考逐题批改还写评语,笔试手写代码评阅2-3遍在其他课简直是闻所未闻,太负责了实在是
另外,建议明年取消手写代码吧,哪怕换成流程图都行,学生写的难受,助教改的也难受,程设都已经删掉的题型在这里复活实在是太不应该了
感觉讲的课既跟上学期没什么关联,又没法为下学期打基础,还要以有没有竞赛成绩来区分学生,PPT做的很烂,拓展的很多,没有教材,没有往年的题目,这课上了就偷偷乐吧
追评,今天在这复习PPT又想骂一遍,老师写这些PPT到底是在炫技还是在授课?感觉像是故意告诉你不会写更高级的代码就滚蛋,复习PPT的时候动不动就是一个听都没听过的定义有没有懂的,这个课不是说是巩固c语言吗?这教的内容都飘哪来了,然后学了一个学期感觉啥也没学会,也不懂学了有什么用
老师是好老师,助教也是好助教,给分也不错
但是,今年的这个课毕竟是一个demo,所以很多方面都不是很完善(例如另一位同学的帖子里提到的讲义左右脑互搏的问题)。可能还需要再过几年,这门课的教学大纲和内容等才会稳定下来
如果有希望选这门课的人可以寒假努力研究一下基础数据结构和算法,因为CSPro 200分以上可以免修实验课(竞赛生达到300+还是比较容易的;但其实CSPro不完全是面向竞赛生的,所以自学数据结构和算法之后应该还是可以拿到200分以上的。)最近一年(2026-2027)应该是进行这门课的教学方式实验,所以给分应该会好很多