预习和准备

type
status
date
slug
summary
tags
category
icon
password
 
💡
开学前的暑假应当如何安排呢?大一学习的专业课是否需要预习呢?入学前应当在学业上做哪些准备呢?关于这些问题,来听听学长学姐们怎么说~

📝 关于预习和准备工作

对于大一上学期的专业课,是否需要提前预习呢?对于人工智能专业的学习和科研,需要在暑假和大一上学期做哪些准备工作呢?

学长学姐说:

首先,需要明确的一点是:通班是面向高考招生的,默认新生入学时都是零基础的萌新!因此,所有培养方案的设计、课程的设置都是默认面向零基础的同学的,故完全不用担心没有编程/AI相关基础会落后于同学,大家都是站在同一起跑线上!
至于开学前的暑假里是否需要提前预习或者做一些有关课程的准备工作,可以说“仁者见仁,智者见智”,来听听学长学姐们怎么说吧:
陈应涵: 个人认为暑假还是可以以放松休息为主,根据自己实际情况提前准备和了解为辅,因为开学后的课程和培养都是从零开始的,因此不会出现不预习就跟不上的情况。AI入门方面,可以阅读一些科普读物,如朱松纯院长主编的《立心之约:中学生AI微课十讲》,可以初步了解一些人工智能的前沿领域,包含了计算机视觉、自然语言处理、认知推理、机器学习、机器人和多智能体等进入通班后可以投身的板块和领域。此外,可以参考后续即将陆续推送的《编程自学指南》《AI入门准备》等进行计算机编程和科研入门方面的准备。个人建议编程自学可以优先自学一些python相关内容,因为大一上学期的计算机专业课计算概论A是不讲python而只讲C的,而后续专业课(如大一下学期的AI引论等)和后续科研工作会要求同学们掌握python作为工具,因此需要一些自学。至于大一上学期的专业课,个人认为预习的必要性是线代略大于高数大于计概(根据开学后上课的感觉和高中学习的gap、难度等),当然仁者见仁智者见智~ 个人认为报道前不预习课本也是完全ok的,因为报道到开学还有大半个月时间,整体都比较清闲,自由时间较多。
杨天琢: 高考后的暑假当然要好好玩啦!毕竟这可能是大家人生中最后一个轻松的暑假啦……/分割线/当然,从个人的角度出发,我作为没有竞赛/大量编程训练背景的选手,确实推荐大家在暑假中对一些专业课做一些准备。大家入学就会面对北京大学信科方向史诗级的3A大作,个人认为,计算概论A是最适合在暑假中提前熟悉手感的,包括但不限于学习cpp的基本语法,熟悉IDE,看一些最简单最基础的搜索和算法,熟悉cpp的基本语法是一个time-consuming和energy-consuming的事情,所以还是推荐以前没写过cpp的学弟学妹们提前准备。笔者在暑假里并没有做任何数学方面的预习,现在想来,还是应当在暑假中看完期中考试的部分(一般高数考到积分,线代考到3.4左右),大一上的上半学期作为大学的适应期,会有一段时间的注意力恢复期,可能难以进行大量而系统的学习,因此还是推荐大家至少先熟悉一遍期中考试范围的书本和例题,保持自己休息的大脑略微activated,这样就能避免拿到树洞的满屏红色。
方思童: 个人觉得比起知识层面的大批量预习,更重要的是在暑假尽快熟悉csai的“工作方式”。包括但不限于科学上网、命令行、Git&Github、remote-ssh、AI编程(如Claudecode, Cursor, windsurf等),以及如何使用notion等工具进行项目管理。非常鼓励大家在课业安全无虞的前提下及早接触科研,通班本科生进组实习几乎无门槛,发邮件或线下reach out即可。可以提前熟悉Pytorch,WandB,huggingface等的使用,之后在科研实践里自然地“做中学”。在自己感兴趣的领域尚未确定时,很建议大量阅读相关论文、找对应导师聊天,甚至可以花一定的时间在不同组轮转。兴趣是科研的第一驱动力。课业方面,在大一学年的基础课取得好绩点的核心是“找对路径”+“刷高熟练度”,每门课最省时省力的路径都不尽相同,且因人而异,比如“面向往年题”还是“面向slides”,亦或是“吃透老师上课推导的核心知识点“。建议善用搜索,结合前人经验和自身体验,总结出最佳路径。面对考试时,则需要针对考试本身做熟练度的巩固加强。另外,通班培养方案在选课次序上有较大的调整空间,大家可以视自身情况改变专业必修的选课顺序,以及选修有利于自身发展方向的选修课。十分推荐参考csdiy进行辅助学习或自主学习。
倪嘉怡: 如果暑假闲着特别有时间和兴趣的话,The Missing Semester of Your CS Education是重要且不会教的,很详细手把手教学Shell、Vim、Git、命令行、debugging,但主要是留下个印象,之后用到了会更深入理解掌握。CS61A: Structure and Interpretation of Computer Programs是可以让人充分感受到编程趣味性的良心好课,之后被更难的课虐的时候能始终提醒自己享受编程的初心。如果有点难可以从CS 10: The Beauty and Joy of Computing入手,是为高中生开的课,零基础友好!csdiy列出各进阶课也都很好玩。实用主义的话可以刷数学课和计概的题,避免学期内没时间刷,绩点掉下之后打击未来学习信心(大一期中后请一定不要被绩点影响学习热情!)。btw,个人作为自学的狂热爱好者,完整学习过Berkeley、Stanford、MIT二十余门课程,在各种感兴趣的领域都可以找到框架设计好、作业/lab/project代码质量高、考核方式科学、教学教团队耐心负责的良心好课,如果有需求欢迎戳我做人肉测评机~
李嘉豪: 从实用的角度来说,因为高数、线代、计概是对大一上绩点影响最大的几门课,可以预习它们。针对绩点改革的政策来看,在其他课划为等级制或合格制且每个人每学期可以自选pf一门课的前提下,这几门会保持百分制且不能自选pf的考试结课的大学分专业基础课是对大一时期的成绩单非常重要的。那么如果要深入学习这几门课并取得较高的成绩,我个人发现的规律是熟能生巧,在掌握核心知识的基础上刷足量的习题是十分有益的。另外,python是ai科研中十分常用但课程较少涉及的编程语言,也很推荐在暑假进行预习,并熟悉一些cs工作流,这方面前人之述备矣。另外,心态的准备也是非常关键的,如何适应一个多元评价的新环境也是值得探索的。
 

预习建议和相关材料

关于自学编程、AI入门和如何开启科研之路,敬请期待后续推文~
而对于大一上学期的专业课,人工智能初级研讨班作为1学分的介绍性质的课程,没有教材也基本没有预习的必要,其主要目的是让同学们广泛了解人工智能的各个领域,寻找自己感兴趣的科研方向。因此,如果你决定预习,不如从以下三门课开始入手:

高等数学A

可以说高数是与高中数学知识联系最最紧密的课程。在高等数学A课程中,我们将从实数的完备性、极限的定义等基础出发,一步一步研究清楚高中常用到的导数、积分、中值定理、洛必达法则、泰勒展开等高等工具的严格定义和原理。 高数A使用的教材是《高等数学(第三版)》(李忠、周建莹编著,北京大学出版社),课程的作业题都来自这本教材。参考教材是《数学分析》(伍胜健编著,北京大学出版社)数分教材对定理的证明更加详细,逻辑更严谨,书后题的难度也更大,可供拓展阅读和练习。
notion image
笔者建议想在暑假自学的同学:在进度上至少要看到“积分”那部分,熟悉各种积分方法;在效果上要熟悉极限部分的ε-N语言和ε-δ语言,能在大量的全称量词和存在量词中能明白其具体含义而不被绕晕。具体的练习不必着急,开学之后的作业、习题课都会有相应的布置和安排。 作为一门数院开设的公共数学课,高数A的期中期末考试难度忽高忽低,有时简单到大家基本都能考90分以上,而有时会难到直接考察数学分析的往年题,千万不要完全依赖往年题进行复习,学明白知识和原理是最重要的! 高等数学A的上位课程是数学分析,下位课程是高等数学B,其中高数B与高数A的授课内容几乎完全一致,学习资料也很有参考意义(如xyt的讲义几乎是人手必备的:darkoxie.github.io)。

线性代数A

相较于DAI的其他方向,通班的培养方案的一大特点是只需要必修线性代数(上),这门课程的内容涵盖线性方程组,行列式,线性空间,基本的矩阵和二次型相关知识。学习内容和学习方法与高中数学有很大的差别,也是每一位同学必须经历的难关。 线代A使用的教材是《高等代数(第二版)》(丘维声著,清华大学出版社),因其体量庞大,被同学们常称作“丘砖”(也许那个更厚的配套的习题指导书才是“丘砖”hhh),建议找到学长学姐索要一份电子版的教材,或善用Z-library。 暑假的时间不可能把线代的所有知识全部学明白,丘砖的前三章更加偏重技术细节,想必大家在开学时都会足够重视。笔者建议想要在暑假投入精力预习的同学可以多多关注“向量组/矩阵的秩”或者“线性空间的维数”的概念,笔者认为这是线性代数/高等代数中最核心的部分,也是高中生最难消化的部分,更是沟通起诸多抽象且复杂的概念的桥梁。“过了黄洋界,险处不须看”,理解好上述概念便突破了瓶颈,可以对“线性空间的结构”这一核心问题有了奠基性的理解,此后的学习也会更加易于上手。 线代成绩中平时分(作业)占比较大,试卷的题目也多数源于丘砖。只需将丘砖上多次被引用和参考的重要例题烂熟于心,基本就能取得理想的成绩。 线性代数A的上位课程是高等代数,下位课程是线性代数B,三门课程在大一上学期涉及到的知识点基本一致,复习资料也可以相互参考。
notion image
补充:身边一些同学(来自各个理工类专业)曾反映过学了贵校的线代,并没有达到很深的理解,也不太会运用,而刻苦刷题掌握的“技巧”过了一个学期就忘掉了,似乎除了一个很高/很低/不高不低的绩点什么都没有留下。线代A的一大特点是对于“证明”的要求很高,这一点有些偏离了“线代”这门课的目标,而像极了高代(是否需要在线代A做如此要求见仁见智)。本人(这条补充的笔者)大一上是赵玉凤老师班的,老师很受欢迎,讲课清楚,逻辑严密;但是,总觉得老师“现在推出了这个定理,我们下面证明那个定理”和”为了证明这个定理,我们需要证明这些引理“的讲课逻辑,更适合对线代有形象理解之后,需要在脑海里建立严密的数学体系的同学。而”理解“线性代数的这个任务也许贵校的线代课就难堪重任了(或许碰上一个好助教可以使这个问题得到部分解决)。悲伤的是,老师的思路也是可以溯源到丘砖的,丘砖更是引理套引理、看证明和做题需要痛苦来回翻书的一个更像工具书的”课本“(题外话:也因此不建议完全依赖电子版,翻页跨度动辄上百,即使能跳转过去也跳转不回来,还是要苦哈哈地翻回原处,手感很差)。因此,个人建议暑期预习入门线代的时候找一些更”浅显“、更生动、更有利于建立直观的资料。Gilbert Strang 的课本 Introduction to Linear Algebra 也许会对你有帮助(老师的录课在b站就有,可以配套食用:https://www.bilibili.com/video/BV1at411d79w/;据说这也是隔壁某些线代课的课本)。建立直观之后再听线代A,或许你能获得上来就听线代A的我体会不到的感悟。

计算概论A

这是所有DAI方向的同学大一上的必修课,从零开始讲解C++语言的编程(基本在C语言的范围内,面向对象等留待大一下的程设/软设来讲授),笔者建议高中时没有编程基础的同学了解基本的代码框架,分支语句、循环语句、数组、指针等等部分。计概A的前半部分属于“语法”,基本没有思维上的难度,学完就能学会。期中后讲解函数、递归等问题就会很有难度,在平时的学习就要做到多多思考,即使使用大模型等工具帮助自己做出题目,也要仔细思考一遍代码的逻辑,自己如何能够想到这样做。毕竟写代码也是一种“熟练工种”,多多训练,熟能生巧。预习可使用课程指定教材吴文虎《程序设计基础》和入门参考书谭浩强《C++程序设计》。
notion image
补充:计概的预习优先度在笔者看来是3A里最低的,因为前半学期的语法跟紧老师的进度且平时积极做好作业题就能学会,不是很有必要把知识性的东西重复学习;而想要预习后半学期的算法,你就不得不先学会C的基本语法,然后再找教程、刷题,只是为了期末的那一两道最难的题的话也不太值当(后面的数算课还会再学算法,并不是说没有在计概A把动归理解透,动归就成为你永远的短板了)。而功利地讲,计概只有3学分,对你的总绩点影响较小(相比5学分的高数上和4学分的线代上);且计概给分不错,正常学习不太会出现高数线代的极低分,因此个人认为不需要对此太过焦虑。
上一篇
选课指导
下一篇
电子产品选择
Loading...