Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 11 additions & 7 deletions docs/major/ai_basic/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,23 @@ grave: https://zju-turing.github.io/TuringCoursesGrave/major_basic/ai_basic/
# 人工智能引论

!!! note
22 级开始从人工智能基础改名为了人工智能引论。原来的人工智能基础仍开课,面向的是非图灵班的同学(两门课教的内容和考的都差不多,差不多就是计逻和数逻的关系)。
22 级开始从人工智能基础改名为了人工智能引论。原来的人工智能基础仍开课,面向的是非图灵班的同学(两门课教的内容和考的都差不多,差不多就是计逻和数逻的关系,所以最后复习的时候两门课程的相关资料都是可以参考的)。

## 课程学习内容

围绕吴飞老师的《人工智能导论:模型与算法》这本书讲解人工智能的领域的一些基础知识:逻辑推理、搜索求解、监督学习、无监督学习、深度学习、强化学习、博弈论等内容。22 级这本书只是作为参考,期末出题主要根据 PPT 出。不过事实上 PPT 内容和这本书内容差不多,PPT 例子更多一些,以及相较于书删减了一些复杂的内容。听说之后会出一本新书作为教材。

课程内容看似较多,但实际要求掌握、考试考的基本都是概念,重点在于理解以及背书。会有 5-8 次实验(21 级是 7 次,22 级是 5 次),均使用 python 语言,设计较为不合理,基本达到实验目标即可,不用太深究。在课程改名为人工智能引论之后,实验数量减少了,并且不需要写实验报告,可以说是一大改进。22 级的 5 次实验具体为:
课程内容看似较多,但实际要求掌握、考试考的基本都是概念,重点在于理解以及背书。会有若干次实验(24 级有 9 次实验,其中前 4 次是必做实验,后 5 次选两次实验),均使用 python 语言,设计较为不合理,基本达到实验目标即可,不用太深究。在课程改名为人工智能引论之后,实验数量减少了,并且不需要写实验报告,可以说是一大改进。24 级的 9 次实验具体为:

- 用深度优先搜索求解八皇后问题的所有解
- 使用蒙特卡洛搜索算法实现一个下黑白棋的 AI
- 使用 K-means 算法实现异常检测
- 实现对手写数字的识别和垃圾分类(这个 lab 看起来很难,但事实上代码全都写好了,只需要调参数)
- 设计一个能够根据描述任务和调用 python 对输入 CSV 数据进行分析的智能体(实际上就是输入合适的 prompt 并让智能体能够执行正确的 python 代码)
- 使用 Deep Q-learning 算法实现自动走迷宫的机器人
- 实现特征人脸识别
- 实现一个中医辨证系统
- 大模型回答长度预测
- 壁仞实训——BIRENSUPA 编程入门

以下是一份比较简略的课程(考试)大纲,其中有部分课程内容没有被包含,主要是 8-10 章的内容,也不保证之后的大纲与此相同,仅供参考。

Expand Down Expand Up @@ -97,10 +101,12 @@ grave: https://zju-turing.github.io/TuringCoursesGrave/major_basic/ai_basic/
杨易老师是国际上很有名的人工智能领域专家,有许多研究成果。他的课虽然挂名是杨老师,但是在 23-24 秋冬学期的 16 周课程中,本人只来上了 3 周的课(可能是因为比较忙),剩下的部分是其学生朱霖潮老师来讲授。总的来说,杨易老师讲课风趣幽默、引人入胜,朱霖潮老师讲课严谨认真、互动性强(实际上是他希望有互动,因为单纯讲课效果略催眠)。

在 23-24 秋冬学期的课程中,杨老师的课只正式点过(计入考核)一次名,是在倒数第三节课时提前提醒的,平常几乎不点名,同时实验课的助教也比较负责。期末考试之前会有一至两节复习课,给分方面反馈普遍还不错。
=== "黄正行"
黄正行老师上课比较认真,经常会讲一些比较<s>有趣</s>的话,比如自己上的不如吴飞老师好,或者吐槽一下没什么人听课,然后说自己学生时代也不喜欢上课什么的。讲课内容基本上就是读 PPT,平时基本不点名,期末考试前最后一节课会从第一章开始简单过一遍划些重点,考前还会再次提醒哪些点比较重要,<s>甚至考试过程中还会偶尔给点提示</s>,给分也普遍反馈不错,感觉还是非常好的。

## 分数构成

出勤(5%)+ 实验(35%)+ 期末考试(60%)
出勤(5%)+ 实验(45%)+ 期末考试(50%)

## 参考笔记

Expand All @@ -111,6 +117,4 @@ grave: https://zju-turing.github.io/TuringCoursesGrave/major_basic/ai_basic/

实验建议不要拖 ddl,尽早完成。实验设计基本都不怎么合理,体现在无从下手、测试不全等等方面。遇到问题了找助教或者和同学们讨论讨论。完成目标就可以了,不需要深究,不必要求结果达到完美,没必要在这种课程这种实验上浪费太多时间。

22 级期末考试是填空(40)+ 单选(30)+ 简答(30)。填空题 1 分一个共 40 个,基本就是 PPT 上的一段文字挖空填,会给备选项,类似完形填空;单项选择题 1.5 分一个共 20 个;大题 5 分一个共 6 个。可以说考察的大部分是概念,有少部分计算但并不困难,有不少是 PPT 上面的例子,复习的时候需要特别注意。总体而言考察的很均匀,无论是填空选择还是大题,基本上考试范围内的每一章的重点都会考。难度不高,主要是看书记概念。如果想要拿到还过得去的分数,PPT 还是需要认真过一遍,熟悉重要的概念和 PPT 上面的例子。98 上面有 22 级的历年卷回忆,可以拿来检查一下自己复习的效果。

笔者和同学注意到黄正行老师在 22 级人工智能基础的最后一节复习课上有划重点,并附带部分真题讲解,因为这两门课差不多,所以可以在期末周的时候关注一下。考试题型和上面参考资料中的 mooc 的题目有一定相似度,也可以参考。
24 级期末考试是填空 + 单选 + 简答,具体分值的分布忘了。填空题基本就是 PPT 上的一段文字挖空填,会给备选项,类似完形填空;简答分为思考题和计算题两部分,思考题主要考概念,计算题主要考一些简单的计算,有不少是 PPT 上面的例子,复习的时候需要特别注意。特点是简答题每一问的分值都很小(2 分左右),最后应该是 8 道简答 8 道计算(<s>力竭了</s>)。总体而言考察的很均匀,无论是填空选择还是大题,基本上考试范围内的每一章的重点都会考。难度不高,主要是看书记概念。如果想要拿到还过得去的分数,PPT 还是需要认真过一遍,熟悉重要的概念和 PPT 上面的例子。
31 changes: 23 additions & 8 deletions docs/major/computer_system2/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,21 +12,21 @@ grave: https://zju-turing.github.io/TuringCoursesGrave/major_basic/computer_syst
系统贯通系列的第二门课程,主要包括计组(一点体系结构)、操作系统两个部分,也称为硬件和软件两个部分。具体内容是,硬件部分重点为 RISC-V 流水线 CPU,还有一些其他的硬件优化技术介绍等;软件部分从操作系统基础讲起,包括操作系统调用、进程线程、调度、同步等内容。

!!! note "课程大纲"
来自 23 级卢立申文博老师班
来自 24 级卢立申文博老师班

- Instruction Classification and Design Principle ~ 1.5 week
- Instruction Classification and Design Principle ~ 1 week
- Concept, Category, Architecture and Design of Pipeline CPU ~ 1.5 weeks
- Hazard of Pipeline CPU ~ 2 weeks
- Software/Hardware Interfaces ~ 1 week
- Introduction of OS ~ 2 weeks
- Interrupt ~ 2 week
- Interrupt ~ 2 weeks
- Process and Thread ~ 2 weeks
- Scheduling, Synchronization and Deadlock ~ 3 weeks
- Scheduling, Synchronization and Deadlock ~ 2.5 weeks
- Final Review ~ 1 week

## 任课教师

硬件部分还是由系统一的卢立老师继续教授。软件部分 20 级为申文博老师,21 级为周亚金老师,都很 nice 的。随着系统逐渐成为计院软硬件课程的主流,必修这门课的同学也越来越多,之后会有更多老师开班
24 级图灵班该课程预置的是卢立老师和申文博老师,没有必要更换预置。应硬件部分由卢立老师教授,软件部分由申文博老师教授。卢立老师上课稍微有点催眠,但大部分时候还是讲得比较清楚的,课上互动不多,听课比较轻松。申文博老师上课则比较活跃,讲得非常不错,唯一的缺点就是比较注重学生的 participation,24 级常做的操作是从后排开始开火车让同学回答问题,并且不定时的会把课上提的问题让同学们写在纸上记名上交,记为平时点名的分数,采取严格的准出计数,基本上不存在本人未到还能签上到的情况

这门课的助教也很重要,无论是实验指导还是课后答疑,负责的助教都会有很大的帮助。

Expand All @@ -39,13 +39,28 @@ grave: https://zju-turing.github.io/TuringCoursesGrave/major_basic/computer_syst
=== "卢立、申文博老师班"
作业(10%)(实则最后没有这部分,应该是换成了签到)+ 实验(60%)+ 期末考试(30%)

=== "24 级"
作业(10%)+ 实验(60%)+ 期末考试(30%)

## 学习建议

硬件课有可能老师会在课上让做一下小题最后上交答题纸来记录课堂参与度。作业次数不一定,21 级只有硬件课留了两次作业,23 级卢立申文博老师班则完全没有作业。同样实验是重头,期末半开卷,难度不高。注意和某些计院专业课一样,这门课也参与了计院的朋辈辅学项目,期末时可以跟着学长的复习课过一遍可能出的大题题型。
关于作业,留的次数不一定,21 级只有硬件课留了两次作业,24 级卢立申文博老师班也是这种情况,23 级卢立申文博老师班则完全没有作业。同样实验是重头,期末半开卷,难度不高。注意和某些计院专业课一样,这门课也参与了计院的朋辈辅学项目,期末时可以跟着学长的复习课过一遍可能出的大题题型。

24 级的系统二有 7 个平时实验、1 个综合实验和 1 个 Bonus 实验:

- lab0: 系统 I 的单周期 CPU
- lab1: 基础五级流水线 CPU
- lab2: 竞争处理及 AXI4-lite 总线内存模型
- lab3: 卷积加速器
- lab4: RISC-V 64 内核引导
- lab5: RISC-V 64 时钟中断处理
- lab6: RISC-V 64 内核线程调度
- Bonus lab: ARM 架构下 Linux 内核的编译与 QEMU 仿真
- lab7: 综合实验

关于实验,硬件部分应该有三个,第一个是上学期的单周期 CPU,照顾一下当时没完成的同学,第二个就是流水线 CPU,第三个是冒险的处理(Forwarding 模块 & Axi 总线模型)。硬件实验还是有些麻烦的,调试不太容易,出问题勤问助教就好。软件部分实验和其他专业的 os 实验差不多,第一个实验是编译、调试 Linux 内核,第二个实验开始根据框架一步一步实现操作系统的功能。面对给的框架可能不知道从何入手,这时候可以参考 Linux 的源码。最后一个实验是综合性实验,但实际来说就是硬件实验,需要在之前的流水线 CPU 上添加 RISC-V 特权模式的一小部分功能,来跑起来一个简化的小 kernel
其中 lab0 到 lab3 以及综合实验属于硬件实验,调试起来比较困难,建议留足时间;lab4 到 lab6 及 Bonus 属于软件实验,会让同学们根据给定的框架一步一步实现操作系统的功能,较为简单,遇到不会的问题可以参考 Linux 的源码或者问大模型解决。具体内容可以参考[实验文档](https://zju-sys.pages.zjusct.io/sys2/sys2-fa25/),如果文档不存在可以访问[仓库](https://git.zju.edu.cn/zju-sys/sys2/sys2-fa25)查看源码或按照指引本地渲染文档

和系统一一样,这门课也是相当好拿分的,甚至 20 级的均绩都达到了 4.8 分。实验不拖 ddl 全部认真完成,期末简单复习一下,成绩完全不用担心。
系统二是计算机系统三门课中最好拿分的一门,实验不拖 ddl 全部认真完成,期末复习一下,成绩完全不用担心。

## 参考书目

Expand Down