(必修)程序设计思维与实践 最近由 吴俊达 于 2025 年 1 月 25 日更新:Update tag.txt
2023 年秋季学期之前,本门课程名称为高级语言程序设计,3 学分,上课内容为 C 语言程序设计 (第四版) 的所有章节。
2024 年秋季学期开始,本门课程改成程序设计思维与实践,4 学分,在原有内容的基础上,增加了部分数据结构和算法部分的内容,这是一门新型的三合一(笑)
教材
C 语言程序设计 / 苏小红等编著;蒋宗礼主审。–4 版。– 北京:高等教育出版社,2019.8(2022.7 重印)ISBN:978-7-04-051998-3 数据结构与算法 / 廖明宏、郭福顺、张岩、李秀坤.–4 版.–北京:高等教育出版社,2007.11,ISBN:978-7-04-022473-3 关于本课
3202 年了,大学中居然还存在这种考试要手写代码,语言标准还停留在上个世纪的编程语言课,简直不可思议。
作为大多数人接触的第一门编程语言,c 语言劝退了很多萌新。如果你觉得这门语言晦涩难懂,大概率不是你的问题,而是教材或是授课老师的问题(也有可能是语言本身的问题)。你不能指望通过学校的课程学习这门课(当然如果你只是针对考试以后并不想做与编程有关的事情当我没说),你也不能指望通过国内教材学习编程语言,更不能指望 b 站上国内诸如某马、某士兵之类的培训机构。
个人认为比较好的学习流程是(当然这并不能给你带来高分):
放弃 codeblocks 这种古董 IDE,拥抱 CLion、VSC 等一众现代 IDE。你有什么理由要拒绝一个 调试简单、UI 美观、自带自动补全功能的编程工具呢?(Vim 和 Emacs 用户请自行离开) 放弃出勤。你可以在课前课后找老师要 PPT,然后根据 PPT 上的内容自主学习(我反正觉得待在教室听课就是坐牢)。自主学习的方式很多,一般可以分为:通过相关课程视频学习:推荐 Coursera 和 youtube 上的课程(英文授课),可以在 b 站上找找有没有搬运(不过机翻字幕看着还是挺难受的,英文比较好的可以尝试直接啃生肉) 通过官方文档学习:推荐 微软官方提供的 c 教程 。一般这种网页开源书或教程都能与时俱进,这也是电子化学习的好处之一。 通过权威书籍学习:如果以上的方式都不适合你,你也可以选择一本业界公认的权威书籍进行学习(避雷国内教材!)。可以试试 C Primer Plus,但我个人觉得里面的内容比较拖沓。 放弃 C 语言(逃)。直接上手 cpp 其实也没啥太大问题,不过 cpp 水太深,并且也很容易陷入与 c 语言一样的困境——接触的东西全是十几二十年前的内容,新特性一点不会。 文 / longlin , 2023.9
24 的程序设计属于是烂上加烂,将算法与语法混合着讲,而且顺序十分奇葩。涉及递归、栈、链表、排序算法。到现在老师上课和考试用的 C 语言标准还是 C89(虽然教材已经用的 C99 了)。
课程作业是一段时间一收,且作业量偏大,建议不要留到要交的前一天晚上再看,有一些作业对实际代码能力帮助不大,有些老师要求上交纸质版。
个人非常赞同以上 longlin 的建议。算法相关知识可以去 OI Wiki
文 / syhanjin , 2025.1
关于教师
教师上课风格没有很活泼,照着 ppt 念,而且速度偏快。
听课并不必须,因为 C 语言 的语法,主要不是听讲学来的,而是自己敲代码所体悟到,上课建议可以自己敲敲代码。
文 / lmh
关于实验
实验一共九次。前四次实验较简单,而且是独立实验。后五次实验难度较大,代码量较大,综合考察指针、数组、函数、结构体,任务大体相似,只是具体要求不同。
每年实验几乎不变。
助教答疑很随便,大多是让自己去调试。
前三、四个课上基本可以完成,课后大概只需花一点时间完善一下,并测试好。后五个实验需要在课后花大量时间,才能写完,一个实验课后大约多花 2-4 小时。(ps:要想拿高分,除了基本要求外,还有增强代码健壮性,还有多写注释,课后还需更多时间)
文 / lmh
自 24 开始实验课发生大幅改动,具体实验内容根据课程进度。实验报告需要交 CodeBlocks 项目。
最后两个实验是综合项目(但是一百多行代码可以解决),且几乎没有差异(单向链表改双向链表)
实验课最后一次有现场检查,会随机选一次实验让你用 Debug 调试,并讲解思路(原则上是使用 CodeBlocks,但是可以找老师检查用自己熟悉的 IDE,取决于老师)
文 / syhanjin , 2025.1
关于考试
考试整体难度不大。最高分应该是 100 分或接近 100 分,平均分 80 左右,挂科率大约百分之二。(补:22 级全年级仅有一人挂科)
主要考查对各语法的理解,基本上实验课都有所设及,个别比较生僻的语法知识和函数,则需特别复习。
文 / lmh
自 24 开始,考试内容发生大幅度改动。简答题有 40 分,而且内容十分抽象(参见回忆版试卷)。考试试卷代码可能有错误,有些错误会影响作答,需要自行分辨。
以下内容来自老师原文
客观题按照要求,不能超过 30%,所以选择、填空之外增加了问答题,但整体内容主要还是涉及基本语法、概念和编程能力的检验,由于扩充了数据结构和算法,所以编程和概念也会扩充到这两部分内容。包括栈、文件、链表,这几部分也都是程序设计思维与实践的重要内容组成部分,但是基于栈的函数调用机制未涉及。主要内容都已我们课件上的讲解内容为主。
文 / syhanjin , 2025.1
Tips
作业主要是完成课后练习题的部分题,难度不大,所需时间也不多。
上课不点名,不考勤。学习时,边看书本语法知识,边敲代码,可以结合 B 站 或者 中国大学 MOOC 上的网课资源。
如果有时间,可以把书本上除作业之外的课后练习题也完成一下,并且完成的同时思考,一道题能否用多种语句来实现,可逐一尝试。前期尽量少复制黏贴代码,尽量手打,对于关键字、语法的记忆有较大帮助。
实验课作业最好独立完——对于 C 语言 核心知识掌握很有帮助。一些不常用的语句,函数,生僻的关键字,则需特别记忆。
比较好的 MOOC 资源,北大的 C 语言 和浙江大学翁恺的 C 语言,B 站、或者 中国大学 MOOC 上都有(但 中国大学 MOOC 有开课时间限制)。
资料下载
如果你是校内学生,可点击如下「内网网盘」按钮查看本门课程的电子书、课件和实验软件等。
2023-afterclass exercises-Gaster
zip
26.5 KB
2025/01/24
26.5 KB
2025/01/24
作业 1-自动化 6 班 -210320621-吴俊达
docx
542.1 KB
2023/11/07
542.1 KB
2023/11/07
作业 2-自动化 6 班 -210320621-吴俊达
docx
930.1 KB
2023/11/07
930.1 KB
2023/11/07
作业 3-自动化 6 班 -210320621-吴俊达
docx
665.6 KB
2023/11/07
665.6 KB
2023/11/07
作业 4-自动化 6 班 -210320621-吴俊达
docx
266.0 KB
2023/11/07
266.0 KB
2023/11/07
作业 5-自动化 6 班 -210320621-吴俊达
docx
71.7 KB
2023/11/07
71.7 KB
2023/11/07
作业 6-自动化 6 班 -210320621-吴俊达
docx
239.0 KB
2023/11/07
239.0 KB
2023/11/07
大数相加修改与注意点
docx
19.1 KB
2023/11/07
19.1 KB
2023/11/07
大数阶乘修改与注意点
docx
19.7 KB
2023/11/07
19.7 KB
2023/11/07
查找函数修改与注意点
docx
17.9 KB
2023/11/07
17.9 KB
2023/11/07
C Primer Plus 第 6 版 中文版
pdf
21.1 MB
2023/11/07
21.1 MB
2023/11/07
C 程序设计 第四版 清华大学出版社
pdf
18.5 MB
2023/11/07
18.5 MB
2023/11/07
No.2 C 陷阱与缺陷
pdf
4.8 MB
2023/11/07
4.8 MB
2023/11/07
No.3 [C 标准库].P.J.Plauger.扫描版
pdf
54.1 MB
2023/11/07
54.1 MB
2023/11/07
No.4 C 语言接口与实现
pdf
7.2 MB
2023/11/07
7.2 MB
2023/11/07
No.5 C 专家编程+(高清晰)
pdf
13.9 MB
2023/11/07
13.9 MB
2023/11/07
No.6 你必须知道的 495 个 C 语言问题
pdf
18.8 MB
2023/11/07
18.8 MB
2023/11/07
2016 深圳高级语言程序设计期末答案
doc
94.5 KB
2023/11/07
94.5 KB
2023/11/07
2016 深圳高级语言程序设计期末试题
doc
87.0 KB
2023/11/07
87.0 KB
2023/11/07
2017 深圳高级语言程序设计期末试题
docx
29.8 KB
2023/11/07
29.8 KB
2023/11/07
2021 深圳高级语言程序设计期末试题 - 代码高亮
pdf
1.1 MB
2023/11/07
1.1 MB
2023/11/07
2021 深圳高级语言程序设计期末试题 - 无代码高亮
pdf
1.1 MB
2023/11/07
1.1 MB
2023/11/07
2021 秋 C 语言程序设计复习题答案(修订)
pdf
166.5 KB
2023/11/07
166.5 KB
2023/11/07
2021 秋 C 语言程序设计复习题(修订)
pdf
365.2 KB
2023/11/07
365.2 KB
2023/11/07
2023 深圳高级语言程序设计期末
pdf
456.1 KB
2023/12/06
456.1 KB
2023/12/06
2024 年秋程序设计与思维实践期末考试(回忆版)
pdf
617.5 KB
2025/01/05
617.5 KB
2025/01/05
2023Experiment-Gaster
zip
310.1 KB
2025/01/24
310.1 KB
2025/01/24
第 1 讲 熟悉实验环境和初级编程
pdf
2.8 MB
2023/11/07
2.8 MB
2023/11/07
第 2 讲 高级语言程序设计 - 单步调试&基本运算、三角形判断
pdf
1.4 MB
2023/11/07
1.4 MB
2023/11/07
第 4 讲 高级语言程序设计 - 程序测试&计算机辅助教学系统
pdf
1.2 MB
2023/11/07
1.2 MB
2023/11/07
第 5 讲 编码规范&学生成绩管理系统 V1.0
pdf
908.5 KB
2023/11/07
908.5 KB
2023/11/07
第 6 讲 软件文档&学生成绩管理系统 V2.0
pdf
896.0 KB
2023/11/07
896.0 KB
2023/11/07
第 7 讲 版本管理&学生成绩管理系统 V3.0
pdf
1.6 MB
2023/11/07
1.6 MB
2023/11/07
第 8 讲 学生成绩管理系统 V4.0
pdf
1.3 MB
2023/11/07
1.3 MB
2023/11/07
第 9 讲 学生成绩管理系统 V5.0
pdf
1.3 MB
2023/11/07
1.3 MB
2023/11/07
附加题解题思路_liangs333
md
753 bytes
2023/11/07
753 bytes
2023/11/07
附加题解题思路_xyfJASON
md
1.5 KB
2023/11/07
1.5 KB
2023/11/07
C_ex1_NLP
pdf
441.8 KB
2023/11/07
441.8 KB
2023/11/07
vocabulary
txt
22.2 KB
2023/11/07
22.2 KB
2023/11/07
words
txt
207.1 KB
2023/11/07
207.1 KB
2023/11/07
C_ex2_CV
pdf
1.9 MB
2023/11/07
1.9 MB
2023/11/07
C_ex3_MC
docx
1.3 MB
2023/11/07
1.3 MB
2023/11/07
C_ex3_MC
pdf
1.0 MB
2023/11/07
1.0 MB
2023/11/07
C 语言实验
docx
28.6 KB
2025/01/24
28.6 KB
2025/01/24
accounting
txt
0 bytes
2025/01/24
0 bytes
2025/01/24
高级语言程序设计 - 实验报告
docx
314.1 KB
2025/01/24
314.1 KB
2025/01/24
参与
《HITSZ 自动化课程攻略共享计划》是所有同学都可以参与编写的,如果你有好的笔记或者资料,欢迎前往我们的 GitHub 进行参与,也可以发邮件至 📮[email protected] 联系我们,我们会在收到的第一时间进行答复。