longlin10086 / COMP2021

HITSZ 高级语言程序设计

Home Page:https://hoa.moe/docs/fresh-autumn/comp2021/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

COMP2021 - 高级语言程序设计

贡献者:psp 文档编写者:psp

Static Badge Static Badge

Static Badge Static Badge Static Badge Static Badge Static Badge Static Badge Static Badge Static Badge

关于教师

教师上课风格没有很活泼,照着 ppt 念,而且速度偏快。

听课并不必须,因为 C语言 的语法,主要不是听讲学来的,而是自己敲代码所体悟到,上课建议可以自己敲敲代码。

关于本课

3202 年了,大学中居然还存在这种考试要手写代码,语言标准还停留在上个世纪的编程语言课,简直不可思议。

作为大多数人接触的第一门编程语言,c语言劝退了很多萌新。如果你觉得这门语言晦涩难懂,大概率不是你的问题,而是教材或是授课老师的问题(也有可能是语言本身的问题)。你不能指望通过学校的课程学习这门课(当然如果你只是针对考试以后并不想做与编程有关的事情当我没说),你也不能指望通过国内教材学习编程语言,更不能指望b站上国内诸如某马、某士兵之类的培训机构。

个人认为比较好的学习流程是(当然这并不能给你带来高分):

  • 放弃 codeblocks 这种古董IDE,拥抱 CLion、VSC 等一众现代 IDE 。你有什么理由要拒绝一个 调试简单、UI美观、自带自动补全功能的编程工具呢?(Vim 和 Emacs 用户请自行离开)
  • 放弃出勤。你可以在课前课后找老师要 PPT,然后根据 PPT 上的内容自主学习(我反正觉得待在教室听课就是坐牢)。自主学习的方式很多,一般可以分为:
    • 通过相关课程视频学习:推荐 Coursera 和 youtube 上的课程(英文授课),可以在 b 站上找找有没有搬运(不过机翻字幕看着还是挺难受的,英文比较好的可以尝试直接啃生肉)
    • 通过官方文档学习:推荐 微软官方提供的c教程。一般这种网页开源书或教程都能与时俱进,这也是电子化学习的好处之一。
    • 通过权威书籍学习:如果以上的方式都不适合你,你也可以选择一本业界公认的权威书籍进行学习(避雷国内教材!)。可以试试 C Primer Plus,但我个人觉得里面的内容比较拖沓。
  • 放弃 C 语言(逃)。直接上手 cpp 其实也没啥太大问题,不过 cpp 水太深,并且也很容易陷入与 c 语言一样的困境——接触的东西全是十几二十年前的内容,新特性一点不会。

本小节更新于 2023.9.1


关于实验

实验一共九次。前四次实验较简单,而且是独立实验。后五次实验难度较大,代码量较大,综合考察指针、数组、函数、结构体,任务大体相似,只是具体要求不同。

每年实验几乎不变。

助教答疑很随便,大多是让自己去调试。

前三、四个课上基本可以完成,课后大概只需花一点时间完善一下,并测试好。后五个实验需要在课后花大量时间,才能写完,一个实验课后大约多花 2-4 小时。(ps:要想拿高分,除了基本要求外,还有增强代码健壮性,还有多写注释,课后还需更多时间)

关于考试

考试整体难度不大。最高分应该是 100 分或接近 100 分,平均分 80 左右,挂科率大约百分之二。(补:22级全年级仅有一人挂科)

主要考查对各语法的理解,基本上实验课都有所设及,个别比较生僻的语法知识和函数,则需特别复习。

Tips

作业主要是完成课后练习题的部分题,难度不大,所需时间也不多。

上课不点名,不考勤。学习时,边看书本语法知识,边敲代码,可以结合 B站 或者 **大学MOOC 上的网课资源。

如果有时间,可以把书本上除作业之外的课后练习题也完成一下,并且完成的同时思考,一道题能否用多种语句来实现,可逐一尝试。前期尽量少复制黏贴代码,尽量手打,对于关键字、语法的记忆有较大帮助。

实验课作业最好独立完——对于 C语言 核心知识掌握很有帮助。一些不常用的语句,函数,生僻的关键字,则需特别记忆。

比较好的 MOOC资源 ,北大的 C语言 和浙江大学翁恺的 C语言 ,B站、或者 **大学MOOC 上都有(但 **大学MOOC 有开课时间限制)。

update time

2023.9.1

About

HITSZ 高级语言程序设计

https://hoa.moe/docs/fresh-autumn/comp2021/


Languages

Language:C 100.0%