NJU 课程评价_目录
这是 I_Am_Danny 对 NJUCS 本科课程评价的导航页面。内容仅供参考,以实际为准。
评价者标签:保研;Rank Top 5%;有 OI 基础
编译原理
数字逻辑与计算机组成
密码学原理
网络攻防实战
形式语言与自动机
离散数学(强基版)
计算机系统基础
计算方法
操作系统(蒋炎岩)
信息论基础
图论与算法
计算机网络(国际化)
大学物理
计算机程序的解释器和虚拟机
最优化方法导论
Rust 程序设计语言
算法设计与分析
网络组实习感想(AI4Sys_端到端拥塞控制)
从 5 月份开始,大概花了四个月时间在淘天的网络组做端到端拥塞控制优化。说是做拥塞控制的优化,其实是训练一个模型动态选择合适的拥塞,本质上是一次 CCS 方向的科研。之前一直没怎么经历过完整的科研流程,这次经历算是弥补了此前缺少的毒打。
AI4System现在主流的 AI4System 无非两条路:
用 LLM 的生成能力做赛博劳工
训练一个感知机做浅层分类
前者在前两年还以代码生成为主,画了很多饼:基于 LLM 的测试框架生成、用 LLM 生成一堆领域内算法做排列组合……但现在都 2025 年了,大家对 LLM 能生成出来个啥多少都有点 B 数,故事就很难吹下去;现在反而更多是往 Agent 这个原本大伙都不太看好的、看似没啥技术含量的方向发展。记得在 2024 年上半年,大家都对 Agent 嗤之以鼻的时候,jyy 就在 OS 课上非常坚定地认为这是个合理的方向,在此给 jyy 的精确预判跪了。
后者就很有意思,在我看来多少有点 AI4Sci 那种蹭流量的意思在了。一方面,系统里确实存在大量的分类任务适合上 ML:这些任务现在的算法大多基于经验设计的规则系统,且存在多种帕累托最 ...
阿里实习总结
经历入职
淘天在 2025 年 4 月 2 日中午发了意向书,意向书的时效非常紧凑(4 月 5 日及之前需要确认)。当时 4 月 3 日米哈游才进行到 HR 面(面完之后还是非常有把握的),但考虑到:1. 短期实习选游戏公司颇有种把路走死的感觉、2. 听闻米哈游的暑期实习是做一个小项目,感觉提升有限、3. 还是想看看互联网大厂内部情况,于是踩着 DDL 签了淘天的意向书。签完之后还心情很轻松地去混了美团的一面(虽然基本不对口,秒挂);还收获了一封我拒米哈游的邮件。确认 offer 之后,就来到了入职阿里不得不品的起花名时间。在花名页面试了一下午都没找到很中意的名字,最后选了「风谨」这个山寨版风堇。
敲定的正式入职时间是 5 月 12 日,在五一之前爆肝 2 周,把 RustGit 和 MiniJava 解释器两个课程项目肝完了(MiniJava 解释器之后还布置了一个 OJ 和一个报告,不得已只能抽周末时间糊一下,并没有做到满分)。5 月 11 号下午想进园区看看,被保安通知不允许,必须等到入职之后才能进去。入职当天(唯一吃了早饭的一天)到 A5 访客中心九华山庄接受统一培训(其实就是 ...
课程评价_网络攻防实战
关于老师由学院技术专家陈健讲授。陈健老师是网络安全领域的资深专家,参与了校内邮箱等系统的搭建,也是校 CTF 队的负责人。但陈健老师讲课节奏较快,容易某一步 get lost 之后完全迷失。
前置知识基本 Linux 使用能力
课程内容每两周完成一个 Lab。一次 Lab 是对一个靶机的攻击,以得到靶机的 sudo 权限为目标。靶机以虚拟机镜像的形式下发,需要在自己电脑上的 VMWare 或 Oracle VirtualBox 中运行;实际操作环境在同机的 Kali Linux 虚拟机中。
陈健老师上课会带着同学们走完攻击的全流程(或者留一点作为作业),节奏较快。作业就是完整复现整个攻击流程并整理成实验报告提交。如果流程顺利,一次实验占用的课余时间不超过 3 小时;但保不准就会陷到一些坑里,直接消耗一整天无法自拔。
靶机基本都是公网上能找到的,实在没跟上可以自己去外网搜对应教程。
作业、考试与得分无考试,完成作业即可获得高分(90+)。有一些自己额外的尝试和思考可以加分。
其他如果同时满足:1. 对 Linux 一无所知 2. STFW 能力较弱,那么不推荐参加该课程:
该课程极度考 ...
课程评价_密码学原理
关于老师由 COSEC 组的张渊老师授课,使用英文 PPT + 中文讲述。张老师讲课的语调有点令人犯困,加之(笔者认为)密码学本身相对比较枯燥,上课体验一般。
但张老师人还是很好的,有专业问题愿意参与讨论;本课程的助教也多由强基离散选拔而来,能力非常过硬。
前置知识基础数论
课程内容主要涵盖古典密码学和现代密码学,包括:对称加密、非对称加密、硬核函数、伪随机数、消息认证等,可以对当今网络世界的加密方式和网络中各方的能力边界构建一个大体了解。参照教材:Introduction to Modern Crytography(Second Edition)。
课程内容偏向于概念和算法的部分比较有用;一些技巧性的证明和具体的算法细节没用。
作业、考试与得分作业来自于教材的课后习题;每章布置一次,基本可以在 3 小时内解决。习题主要是对概念的巩固,也包含一些技巧性的证明。这些技巧在考试中也会进行考察。
有期中考试。期中期末考试一难一易,都会有一些对基本概念的考察;考试中会涉及很多解题技巧,需要在平时作业中练习习得。
最终普遍得分不高,平均分在 80 上下。
其他这门课的算法和技巧多而杂,很容易在学 ...
课程评价_编译原理
关于老师秋季学期由 PL 组的冯洋老师讲授,上课风格很随和(甚至有些随意);讲课水平一般:自己确实是懂,并且很努力在讲明白,但确实是讲不太明白。
上课大概率听不懂,建议做作业/实验时对着春季学期的许畅老师正版 PPT 自学。
前置知识扎实的 C 语言基础
课程内容比较完备的编译器全流程结构,包括:
词法分析
语法分析(消除左递归、LL1、LR0、SLR、LALR、LR1)
语法制导的翻译
中间代码生成
运行时环境(栈管理、GC)
目标代码生成
机器无关的优化
其他(JIT、优先级上升算法)
基本涵盖了现代编译器架构的所有部分,算是国内覆盖面最广的编译原理课程。
作业、考试与得分平时作业主要是对概念的应用和具体算法的执行模拟,与考试题目高度相似,可以参考许畅老师往年的作业解析。
实验是该课程的重中之重,会要求从零开始完全手搓出一个 C 语言(子集)的编译器。据笔者所知,国内只有 PKU 的实验体量和完整度能和该实验相提并论。
实验分为五个部分:词法与语法分析、语法树生成、中间代码生成、目标代码生成、目标代码优化。每个部分耗时均在 15 小时左右(含架构设计与手册理解)。gi ...
课程评价_离散数学(强基版)
关于老师由仲盛老师讲授,讲课风格很有意思,会引导大家思考;私下空间和朋友圈经常转发一些趣图和吐槽。
前置知识无
课程内容目前(2025年)已经形成了完善的课程体系和讲义,主要覆盖:
群论(群、循环群、正规子群、商群、同态定理、p群、排列群)
数论(群论视角的数论、二次剩余及衍生)
图论(匹配、连通、可平面、染色、Ramsey理论)
该课程与大班差别很大(可以认为默认参与课程者能快速自学大班内容),具有一定广度和难度,但未达到数学系对应课程的难度。作为大一课程可以拓宽眼界、锻炼思维、培养数学功底;但功利上说,所学在之后的用处比较有限。
作业、考试与得分作业和考试难度都较高,难度从宝宝巴士到 IMO 普特南级别的都有。作业可以自选难度完成、所有作业题目都可以直接回答 I Give Up,完全不影响得分。
考试题目的难度会稍低一些,基本都有现场解决的可能。
最终得分不是作业、考试得分的直接折算;只要作业全交(哪怕全是 I Give Up)、考试到场,应该就可以及格;稍微用心一些就可以得到比较好的分数。
其他这门课可能是你接触过的、也可能是未来所有会接触的课程中难度最大的。不要被课程难度或 ...
课程评价_形式语言与自动机
关于老师由软件学院的卜磊老师授课,上课很有精神,时常会使用一些生动有趣的例子解释比较抽象的理论概念,思维跳跃但逻辑严谨。
前置知识集合论
课程内容参见民间课程网站:形式语言与自动机 - cuijiacai
课程包含了有关形式语言和自动机的基础内容,和计算方法类似,是一门偏向于概念介绍的“讲座课”;主要包含了:
有穷自动机
上下文无关语言
下推自动机
图灵机
判定性与复杂度
(略讲)迁移系统、Petri 网、时间自动机
算是 NJU CS 里偏简单的一门理论课。
作业、考试与得分作业偏向于理论,有一定难度,可能需要一定的灵感乍现才能做出来(有一些题也根本不是一般人能想出来的,可以适当搜索)。共有 6 次作业,平均每次耗时 4 小时。
考试题量非常之大,但难度平平,所以题目都有在现场做出来的可能。最终得分差距主要体现在期末考试。
实验是使用 C++14 模拟一个 PDA 和一个 TM,需要支持读取一个给定格式的 PDA 或 TM 文件,并按文件所描述的自动机在给定的输入上运行。主要难度在于读取文件并正确解析,真正模拟的部分很快就能写完。若设计得当,总体码量约为 1k 行,耗时 10 小 ...
课程评价_数字逻辑与计算机组成
关于老师由杨若瑜老师负责教学,老师貌似是搞 CV 的,以念 PPT 和提问 PPT 为主。不过老师人非常不错,只要不是过分的要求,私聊一下都可以满足;由于时间冲突而免修不免考的同学,杨老师甚至可以单独约时间验收实验。
前置知识无
课程内容计算机系统 ISA 以下的内容,主要包括逻辑门的电路实现、不同组件的电路连接、流水线设计。
对流水线的工作概念有个了解即可,其余没用。
作业、考试与得分每章都有作业,建议对着答案边抄边学。
Lab 是使用 Logism 画一个完整的单周期 CPU 出来,github 上都有现成的,对着抄即可;验收时不会问特别细。
期末考试与往年卷重合度 100%(数据都一样),一定要搞一张往年卷看。
其他确实是一门没啥用还浪费大量时间的课,平时放心大胆抄就行了。
课程评价_图论与算法
关于老师由程龚老师授课。程老师比较具有个人特色,主要依靠提问同学完成对知识的讲解,导致课程的主干部分体验比较碎;在一些人名翻译、伪代码呈现的小细节上反而会展现出极大的兴趣。
前置知识算法设计与分析中的图论
课程内容本课程、算法设计的图论、强基离散的图论,这三门课程虽然都是图论,但互相之间基本没有任何重叠。本课程的内容可以视为算法设计的图论的延伸,主要覆盖了一些高阶的概念和算法,但没有像强基离散的图论那样过于偏向数学系的理论方向。
课程内容主要覆盖:
最短路
图匹配
图染色
割边与割点
网络流
可平面性
课程会包含对于以上专题的概念解析、简单理论题目、经典算法介绍及证明;期望同学能够掌握所有算法的运行原理。
作业、考试与得分平时作业为书后习题,大多为简单的理论题目,难度一般。会安排 4 次上机 Lab,要求在 OJ 上完成某个专题的算法的代码编写。最后一次 OJ 难度极其逆天,能过的多多少少都有点抄的成分,但最终处罚的人很少。
期中安排了一次 Pre(占总分 2%),要求针对给定的论文写一个 PPT。可以主动报名上台讲,会加分。
期末为开卷,形式类似于作业,额外包含一些手动模拟给定的 ...