View on GitHub

BUPT SCS 选课指北

BUPT SCS 选修课指北

程序设计实践

评价1

  1. 开课信息:闫丹凤,王玉龙(2019秋)
  2. 推荐等级:一般推荐
  3. 授课内容:程序设计的方法和一些需要规范
  4. 考核方式:期末大作业,满足要求的任意程序+文档,范围基本没有限制
  5. 作业情况:没有平时作业
  6. 成绩情况:85+
  7. 心得体会:比较清闲,算是水课
  8. 其他方面:期末大作业助教验收,老师会压分

评价2

  1. 开课信息:闫丹凤,王玉龙(2019秋)
  2. 推荐等级:一般推荐
  3. 授课内容:编程规范 + C++语法
  4. 成绩情况:85+ (其他内容楼上都已经说了,不赘述了)
  5. 其他方面:关于考核和作业情况同上吧; 给分一般吧,助教验收挺水的,甚至问你觉得给几分合适? 刷分的话谨慎选择,因为得高分比较难; 纯粹为了水的话比较推荐,毕竟没有平时作业呢

评价3

  1. 开课信息:闫丹凤,王玉龙(2019秋)
  2. 推荐等级:一般推荐
  3. 授课内容:C++ 复习、编程规范
  4. 考核方式:大作业,交一个程序就行,要求没限制
  5. 作业情况:没有平时作业
  6. 成绩情况:85+
  7. 心得体会:水课
  8. 其他方面:助教验收比较水,见过拿之前的课程设计来验收的

评价4

  1. 开课信息:闫丹凤,王玉龙(2020秋)
  2. 推荐等级:强烈推荐
  3. 授课内容:编程规范
  4. 考核方式:大作业,交一个程序就行,要求没限制
  5. 作业情况:没有平时作业
  6. 成绩情况:90+
  7. 心得体会:水课,分高不高全看在助教面前吹牛吹得好不好
  8. 其他方面:ui做得好看一点,说到并发性能扯上一两句,就差不多了。

评价5

  1. 开课信息:闫丹凤,王玉龙(2020秋)
  2. 推荐等级:强烈推荐
  3. 授课内容:编程规范、重构、设计模式
  4. 考核方式:大作业,根据采分点完成项目
  5. 作业情况:无平时作业
  6. 成绩情况:98
  7. 心得体会:很好的一门课,从王玉龙老师那里学了很多知识。第二个女老师就不直到她在讲什么了
  8. 其他方面:只有前大半学期有课,接下来就是自己上机了。设计的程序一定要根据采分点,包括界面、并发、设计模式等。设计模式随便扯上一点就行了,并发最好用多线程,同学做的异步IO好像不符合助教口味。提前准备,不要到了截至日期才开始做。注意,截止日期比较早,在期末前好几周就结课了。

评价6

  1. 开课信息:闫丹凤,王玉龙(2019秋)
  2. 推荐等级:一般推荐
  3. 授课内容:编程规范
  4. 考核方式:大作业,交一个程序没较大限制
  5. 作业情况:没有平时作业
  6. 成绩情况:80+
  7. 心得体会:许多人拿着之前c++的程序验收,反正今年结课反馈老师也注意到了估计以后也不太可能了,要么就是高要求了,写程序的时间很充裕但是确实学不到任何东西,推荐还是做个好一点的新颖点的程序
  8. 其他方面:注重多线程,大佬或许可以很高的分数,但是也不是那么容易水,单论没有平时作业或许是很舒适

评价7

  1. 开课信息:张海滨(2021秋)
  2. 推荐等级:随便
  3. 授课内容:主要讲解程序设计规范,包括风格、记法、测试、性能、改错等等程序设计的编程规范。
  4. 考核方式:大作业,可能是考虑到前几届随便拿程序演示太水了,19级专门安排了题目,题目内容是做一个领域特定脚本语言的解释器,类似于编译原理相关的大作业。
  5. 作业情况
    • 3次小作业:风格+性能+改错,每次作业形式是要求对一个源代码文件进行修改,程序的问题比较隐蔽,并不是那种很典型的错误,有一定难度,想要小作业每次都全改对感觉还是需要特别敏锐和仔细的。
    • 期末大作业:脚本解释器,有验收和报告要求,验收着重要求检查文法定义、脚本运行演示、程序设计是否包含语法树、是否有自动化脚本构建的测试桩和测试驱动、自动化脚本是否能一次测试多个文件和输入样例等等。
  6. 成绩情况:95+
  7. 心得体会:总体来说这门课在19级发生了比较大的转变,目前来说这门课应该不算是一门水课了,还是比较消耗精力和时间的,大作业建议提早开工,想要做得很好的话其实也还有点费劲的,在卷大作业方面,很多人用了多线程、C/S架构和数据库,还有人卷GUI,可以说是上学期C++内卷的复刻了。不过这门课比起功能可能更看重一些其他的细节,比如说优秀的文档、良好的风格,还有测试脚本等等。
  8. 其他方面:教材为程序设计实践(ISBN:9787111075738)

评价 8

  1. 开课信息:张海滨(2023 秋)
  2. 推荐等级:见仁见智
  3. 授课内容
    • 程序设计中的编程规范,据课件所说包含风格、设计与实现、接口、排错、测试、性能、可移植性、记法这些方面。
    • 但是实际上讲的东西全都比较过时。课本好像是 2000 年发行的,ppt 似乎是课本的子集,讲的内容也都是二十五年前流行的那一套。
  4. 考核方式
    • 三次小作业占 30%,期末大作业占 70%。
    • 近几年期末大作业的祖传题目是设计一个领域特定语言并实现其解释器。
  5. 作业情况
  6. 成绩情况
  7. 打法指引
    • 期末大作业不限制技术选型,找方便或者想用的用就完事了。
    • 最后六周验收,每提前一周给 1 分加分(0~5 分)。实践证明这个真的是加分,不会引起封顶分数的变化。
    • 不用卷那些有的没的功能(e.g. 谁家脚本解释器还给用户变量的值做持久化的?),对准采分点写就 ok。
      • 不过自己感觉好玩想写是另一回事()
    • 解释器本身完全手搓或者调 antlr 之类的工具都可以。手搓的话写个递归下降分析完事,别跟自己过不去。即使是递归下降分析,这门课也够格⎡编译原理课程设计⎦的称号了。我给自己的那个语言弄成图灵完备的通用语言了。。验收都不好意思跟老师说我完成了设计一个领域特定语言的任务。。。

评价9

  1. 开课信息:王智立(2023秋)
  2. 推荐等级:推荐
  3. 授课内容:主要讲解程序设计规范,包括风格、记法、测试、性能、改错等等程序设计的编程规范。
  4. 考核方式:几次小作业+一次大作业
  5. 作业情况
    • 3次小作业:对提供了源代码文件针对某一方面进行改错,例如性能、记法等。
    • 期末大作业:基于领域特定语言的客服机器人设计与实现。有明确的验收要求,按照验收要求做基本上就没有问题。
  6. 成绩情况:90+
  7. 心得体会:鉴定为水课。大作业很水,虽然是脚本解释器但是完全不用将编译原理那些东西套进来,我直接套一个YAML的脚本就水完了,甚至解释器核心代码还没有我糊的前端代码长,而且个人感觉 在助教面前胡说八道»水一个前端界面>优秀的核心代码。
  8. 其他方面:我的作业