Course-Material 信息类通修课

本帖最初是对 西工大计算机专业课程攻略 几乎不做修改的转载,可能移除了部分违反本站守则的内容。
本站不对其做任何价值判断和倾向性建议
如果您觉得有不合适或者过时的内容,欢迎留言,本站将对其进行修改和补充。
对于帖子内的文件资源,暂时请访问 GitHub 项目原地址,本站在后续将提供资源直接下载服务


程序设计基础 III

本课程为考试课,占 3 学分,期末上机为系统内随机抽题。

分数构成 = 期末理论上机成绩 *60% + MOOC 单元测试 *20% + 课外阅读报告 *10% + 随堂测验成绩 *10%

关于教师

…待补充

关于课程

作为程设基础课,我校理论课程考查难度非常之低,应付考试只需要熟悉 MOOC 和练习册上的题目即可。

关于实验

本课程为考试课,占 1 学分,平时上机无平时分,只需做完 NOJ 即可满分,期末上机为在题库中抽题形式,共 10 题,AC 7 题即满分,辣鸡系统为黑箱式做题,在本地运行成功后无法及时在系统内得知 AC 情况。注意,如出现多道字符串题目,可能会出现来不及的情况,其中文件题基本可以放弃。

分数构成 = 期末上机成绩 *50% + (NOJ 题目 AC 数量 -40)/2 + 课程设计 (大作业) 成绩 *20%

大作业基本为完全开放式,可以说是毫无引导,也没有定期进度汇报检查,甚至界面型大作业的演示图形库为 OpenGL 这种远古东西,有基础和有兴趣有时间的同学可以选择认真做,参考一下别的学校的程设作业题目,最好是有 PDF 版的任务引导的,能够提升自己的代码能力。

关于代码能力

作为计算机专业第一门与代码相关的课程,为了提升自己的编程思维与代码能力:

虽然课上是以 C 为主,但更推荐同学们使用 C++,相较于 C 有很多代码上的改进。

不要用 Dev,codeblocks 等,使用 vscode 或者 vs,codeblocks 可以在考试前下下来熟悉一下流程,因为机试电脑上只能用它。

在实验课上,虽然有祖传的 NOJ 答案,但实话说里面的代码风格和许多题目的解题思路并不佳,对于每一块新的内容,更推荐自己先在写出自己的思路,然后给出自己的代码框架并实现,也可以在 vscode 里安装 copilot 插件,tab 编程法(笑)得到理论上更好看的代码,学习之,自己重新实现一遍(很重要)。

我更加推荐的学习课程与路线是:MOOC 北京大学李戈老师的计算概论 A,菜鸟教程可以简单过一遍,GitHub 上许多的开源项目,询问 ChatGPT 答疑解惑,PKU 或者 NJU 的 PPT,不推荐直接看 primer plus,很枯燥而且不容易看的下去。

P.S.

在大一上学期,我非常非常推荐学习 UC Berkeley 的 cs61a 课程(推荐 2020fall 那一版),使用 python 讲述,可以说是最好的 CS 入门课,b 站上有全系列的视频,但推荐阅读原版教材为主。对比一下国内外的课程,唉~更多资料上网搜索即可,完全公开在互联网上。

离散数学(Discrete Maths)

本课程为考试课,占 4 学分。

分数构成 = 30% 平时成绩(出勤&作业) + 70% 期末考试

关于教师

  • hl

老师授课采用 PPT+ 粉笔演示,习题每年会由老师自己出,里面会有部分前几年的考试题,但是题量很少。

上课幽默风趣,基本不管考勤,很好的老师。

关于课程

推荐跟着老师上课走,逻辑连接度更高,PPT 上内容并不完整,所以课下学习有可能事倍功半。

除了选用的徐版教材,推荐阅读 Rosen 版的黑皮书,里面内容更丰富,但并不算深入。

除了作业,有想要进阶的同学可以找南大的同学要他们的习题,难度更大。他们的 PPT 不方便上传,但在网上可以找到大部分。

在课程方面有理论问题的,除了向老师同学询问,更推荐在外网搜寻,国内的离散相关问题回答可信度不高。

关于考试

19 年课程大纲改革后试卷各模块基本保持不变,参考仓库内真题即可,再之前的卷子几乎没有参考价值。

关注课程大纲,教学范围中超过大纲的不会考。

出卷据说每年由三个学院轮流出卷,难度随机,近几年都不算高。

数据结构及实验(Data Structure)

理论

本课程为考试课,占 3.5 学分。

分数构成 = 10% 平时成绩(出勤&作业) + 20% 实验成绩(noj)+ 70% 期末考试

关于教师

  • ljq

老师授课采用祖传 PPT+ 粉笔演示,书面习题从严蔚敏版习题册中选择。

助教基本负责书面作业批改相关工作,也会开设线上习题课。

平时分给满。

  • wb

没上过老师的课,但是听说老师上课会直接手打代码演示,应该不错,但是选课经常爆满。

关于考试

近几年来,数据结构理论考试均为大题,8 道左右,涉及课程中大部分内容,太细的内容不会考,其中算法题 2 道左右,一道较难。

整体难度不大,理论上说,其实专业课考试难度都不会太大。

实验

本课程为考试课,0.5 学分,期末为机试,每年具体形式不同。

分数构成 = 40% 实验报告(包括 AC 代码) + 60% 机试成绩

教师与本门课成绩几乎无关,所以随意选择即可。

数据结构实验本应该是整个大一最关键的实验课,奈何你瓜的实验课设计安排实在一言难尽,实验内容全用祖传无更新,老师也基本放手不管,全靠学生自己摸索,题目质量也难评,整体于能力提升几乎无益。

论课程本身,实验题目每年固定,为 noj 上数据结构实验课程的内容,CSDN 上或本仓库内有可参考的 AC 代码,优秀的代码风格可以参考,主算法部分仍建议自己先思考,一堂课近 4h 除非先有预习(可参考仓库内的 PPT),基本课下还需花时间才能完成每次课的题目。

课后实验报告每个老师(助教)的要求不同,可参考仓库内给出的文件,一般老师也不会细看,流程图和伪代码可由 GPT 生成。

回到数据结构本身,为加强个人能力,题目方面,可以参考其他学校的数据结构实验题目并练习;基础算法方面,可以参考陈越版教材上的示例及算法习题,用代码自行实现。

Tips

数据结构这门课非常重要,是后面许多课程的先修课,也是后续科研或职场的必修内容。

除了学校课程课本,推荐看看陈越版教材,课后也要及时复习并尝试着上机写一写各类数据结构的相关操作,重在实操,光看代码是学不进去的,一定要多动手多写代码。

考试前复习一遍 PPT 和书,结合思维导图复习,同时也要善用搜索引擎,对于各种比较重要的算法和不太懂的地方,上网看看大家的理解。

对于喜欢国外课程的同学,可以选择 CS61B,虽然是用 Java 讲述,但数据结构本身与语言关系不大。

电路基础 III

本课程为考试课,占 2 学分。

分数构成 = 10% 平时成绩(出勤&作业) + 20%MOOC 成绩 + 70% 期末考试

关于教师

  • lh + zzl

虽然作业练习不少,但是跟着完成了可以轻松碾压考试。

两个老师都很诙谐,基本不管考勤,但平时分会和作业挂钩。

注意:MOOC 的习题注意期限,过期了一般不允许补交。

关于课程

电基 III 的教学内容难于考试,相当于高中物理电路部分的延伸,课本上内容相较于 PPT 更丰富,说明更详细(尤其是第四章),但许多都超过教学大纲,结合 PPT 一同食用即可。

习题方面,能够解决书后习题即可完全应付考试,QQ 频道内有书后习题的完整解答,答案 repo 里就有,但注意书的不同版本,有些题目与答案不对应,尤其是最后一两章。

关于考试

难度很低,都是大题,目前没找到真题。

1 Like