Skip to content

大一生活小叙

Posted on:2021.08.11

TOC

Open TOC

进程上下文

上文:JVM 实验

下文:SICP 习题 & 白砂的 Aquatope

时间片

2020.9 —— 2021.6

表情地址

📙 Emojipedia — 😃 Home of Emoji Meanings 💁👌🎍😍

前情提要

时间如此精确是因为翻了好久的相册

其实被录取前我就做好了搞计算机的准备,那段时间在小破站看 Python 的视频教程(其实就看了两天 🤣),在原来的台式机上还装了 PyCharm(划重点,之后会考 👇),至于这台高中的台式机(各种搞机技巧),挖个坑以后再讲 🤣。

期间其他的事件:

NJU 小蓝鲸

宿舍负载

3 / 4

舍友示意港澳台选手已不见踪影 🤣

朋辈导师

有点厉害 🧐

主要作品(面向小蓝鲸):开学第 0 课开学第一课课、题、书大一下学期生存指南

引用朋导在 开学第 0 课 中说过的一段话,当时我的表情是这样的 🥺

插入图片好麻烦啊 ⚠️

0626f07b25be41e8b6dbc958fcdf0874.png

大一过后再看,我的表情是这样的 🤣

军训 & 祈雨

NJU 的军训挺 🌊,教官人好心善 🤣

也是宿舍作息最阳间的一段时间 🤣

寻找音游组织

认识了一个 AI 的学长 🥰

软院有个 arc ⭐ 人

面基不带设备,真有我的 🤣

相逢 SICP

下次重逢就在考试周后了 🤣

相逢难,重逢更难

宿舍间团建

自助火锅 & 二刷信条

团建回来就买了 CSAPP人月神话 🤣

朋导的 课、题、书 害人不浅

网课两部曲

舍友:我要杀穿 OJ

朋导:这两门课吃透后基本不需要再专门上 C 或者算法的课了

军训完上了一周课然后就是国庆小长假咯 🤣

头铁去翻 CSAPP,晃过了第一章(划重点,之后会考 👇)和第二章,不知所云 🤣

于是就去刷网课了 🤣

大一上

大计基 🤣

第一个吐槽的是计基,大一上 2020 级软院小蓝鲸们唯一的专业课

于是 2021 级的新生就多了两门专业课 🤣(C 语言程序设计基础、Linux 系统基础)

先吐槽教材计算系统基础,内容简介如下(摘自豆瓣):

采用自顶向下和自底向上相结合的方式介绍计算系统,主要分为三部分:程序设计基础,计算机硬件和系统软件基础知识以及函数、指针、数组、递归等深入主题。力求涵盖教育部软件工程专业教学指导分委员会制订的《软件工程专业规范》中对该课程的相关要求。

首先这个封面就绿不拉几的,其实平心而论,融合 C 语言和 DLX(MIPS 的一个子集)进行教学像极了 CSAPP,但是两者之间的衔接不够自然(归根结底 DLX 抽象的过头了)。另外,教材 C 语言程序设计的部分味如嚼蜡,不如去看谭浩强。

再吐槽讲师,主要是九头龙(九头龙:不要说我的坏话 🤣)

2021 级的计基已经把九头龙换下去了 🤣

信息与计算科学导论🧑‍🎓

开局用[罗素悖论](https://zh.wikipedia.org/wiki/ 罗素悖论)把我骗了进去 🤣,趁别人退课后火速选课 🤣

软院离散集合论的终点,仅仅是信计的起点 🤣

列一下教学内容:

  1. 集合及其运算;
  2. 关系及其性质,Warshall 算法;
  3. 无限集合、对角线方法、Cantor-Bernstein 定理及其证明;
  4. 偏序、全序和良序,良序定理、良序原理;
  5. 选择公理、Zorn 引理、基数和序数、超限归纳法;
  6. 广义连续统假设;
  7. 算法及其复杂度,渐进分析及其记号;
  8. Karatsuba 算法及其分析,递归算法与递归方程;
  9. 齐次递归方程与特征多项式,非齐次递归方程;
  10. Master 定理;算子与 Annihilator。

最后一半也没听懂 🤣,期末考试倒挺良心,保底就有 65',一共五题,一题 10',上限 100'

然后这课没有教材啊,我就去网上搜,先后找来了:

以上只是集合论部分,递归方程部分讲师提了许多线代中的概念(信计学了,但软院大二才学 😨),于是又找来了线性代数及其应用,当时没做习题有点伤 🤣。

差点忘了还有具体数学,看了其中的生成函数部分。

微积分 I

xym yyds

老师选的好,考试没烦恼 🤣

其他的教材:

英语

英语读写:洗衣机的故事 & 舍友的四格漫画

英语听说:Presentation & Dubbing

剪影

部分摘自每日小结与计划,差点都忘了 🤣

番剧

课程论文

随便看看 🤣

模电 & 数电 & 机组

编程前你最好了解的基本硬件和计算机基础知识(模拟电路)

编程前你最好了解的基本硬件和计算机基础知识(数字电路)

从 0 到 1 设计一台计算机

汉明码

【官方双语】汉明码 Pa ■ t1,如何克服噪■

【官方双语】汉明码 part2,优雅的全貌

硬核社会学

【硬核社会学】996、内卷、打工人:马克思为什么是对的(上)

【硬核社会学】消费资本主义:控制世界的新宗教

硬核人类史

【硬核人类史 1】文明从何而来?让人类史帮你洞悉文明的起源与本质

【硬核人类史 2】国家从何而来?深度解析政治系统的本质

【硬核人类史 3】阶级、魔法、战争、科技,人类历史的底层逻辑

游戏社会学

【游戏社会学】赛博朋克是资本主义的终极形态吗?控制论革命的残酷真相

【游戏社会学】GTA5 最深度解析:荒诞世界的罪与罚

学习观

【学习观 17.5】是什么要素让一个科幻变成赛博朋克的?

书 🤣

寒假❄️

计基考完就联系了 CS 的同学,准备速通 SICP Python Version,同时结束程序设计与算法(三)的学习(没想到网课两部曲还有续作,快去写魔兽世界大作业 🤣)

期间又搞到了[问题求解](http://cslabcms.nju.edu.cn/problem_solving/index.php/ 首页)的 OJ,写了 T1 和 T2,T3 是个数学题

回城后光速读完 A Byte of Python,然后被 SICP 暴打 🤣(当时还没装 PyCharm,抱着个 VSCode 配置半天。至于为啥要装 VSCode,是嫌 Visual Studio 2019 太过臃肿,想用轻量级的 VSCode 替代写 C,然后失败了 🤣)

继续挖坑 🤣,首先果断放弃 Java,然后:

中途表姐推荐了燃烧吧!天才程序员 😎,看的挺爽

期间头太铁,未带反甲,只得去商店买了魔法药水,常驻于道具栏,于 2021.2.23 起生效

之后会考虑把一些笔记整理为博客(挖坑 🤣)

大一下

软工一

本以为的内容:软件工程与计算

实际的内容 🤣:

下面逐一讲解

Script from scratch

讲解前先把 Git / Jupyter Notebook 给装上,上个软工一怎么这么多事啊 🤣

大一上又不讲 Linux,于是强烈建议学习计算机教育中缺失的一课

Python

因为在寒假❄️就已经把 Python 的基础学的差不多了,于是就看下面的两本书:

个人认为 Python 在软工一的教学体系中处于一个比较尴尬的位置 🤣,首先 Python 编程体现在 67 编写的 Programming Tutorial 中,Programming Tutorial 的前几章较为基础,可以在计基 C 语言编程中找到对应。后面几章涵盖了 Composite Data / IO / FP 等主题。由于 Python 简明轻快的风格,这些较为进阶的内容可以在 Python 中轻松实现(甚至直接内置),从而让课堂的内容得到体现。

然而,这对于当时阶段大多数软院学生来说是没有必要的 🤣。大多数 Python 的上机练习在 Java 中都重现了。另外最重要的一点是,Python 的上机练习极其依赖于 IO 流的具体细节,很多时候在命令行输出相同的内容,其 IO 流却完全不同。于是就过不了用例 🤣。这便是 Python 的高度抽象带来的弊端,在不熟悉内部具体实现的前提上,想要正确的 debug 难度很大。

另外吐槽一点,FP 讲了,Python 也用了,为啥上机考试不考啊 🤣 SICP 警告

Java

从零开始的 Java 学习之旅:

还没来及看的:

据说 Java 是 NJUSE 的主力语言,所以 Java 占了软工一很大一个篇幅,包括大作业的部分。

来说说朋导写的图灵机大作业,说到图灵机就要说到计算理论,但是大作业与此无关 🤣。做完两个阶段大概需要 10h,其中一半时间都是在 debug,开始的时候测试用例有一些小 bug 🤣,后来都做了处理。总体看来比去年的 JVM 大作业简单了不少(复杂度不是一个量级 🤣),个人感觉图灵机大作业的难点设置有些奇怪 🤣,就是那个诡异的 snapshot。

悄悄说一句,67 还讲了实现模式里的内容

软件工程理论

副院长上了一次课就不见了 🤣

这是我参考的书籍:面向对象是怎样工作的(第 2 版)

函数式编程

67 曾经在课上推荐了 The Little Schemer - 4th Edition,我迅速就 影印 了一本,感概我终于能看懂英文原版书籍了。这本**儿童程序入门读物** 🤣 都讲了什么呢:

其实 67 能讲函数式编程,还参考了计算机程序的构造和解释的内容,着实让我惊喜 🤣,于是我就翻出了尘封已久的 SICP,摸索着去配置 VSCode + Scheme 的环境,后来嫌麻烦直接装了一个 Racket 的 IDE,开始刷 SICP Scheme Version 的习题,大概做完了前两章。

后来听说了 Scheme 不是纯的 FP,于是去搞 Haskell 🤣,配置了 Haskell Stack,Haskell 趣学指南看了一半,放出一部分笔记给博客做测试。

计算理论

说到函数式编程,就不得不提 lambda 演算,参考的资源如下:

https://github.com/txyyss/Lambda-Calculus/releases

然而我 PRED 都规约不出来 🤣

PRED = λ n.λ f.λ x.n (λ g.λ h.h (g f)) (λ u.x) (λ u.u)

说到 lambda 演算,又不得不提计算理论,这是我参考的书:计算理论导引

然后成功把整个英语小组拉上贼船 🤣

后来头铁搞了本研究生教材计算模型导引,发现并不适合自学 🤣

离散 🤣

软工理论老研究者、龙书译者 vs. 中国十佳优秀博士

上了一节课果断投奔另一个班 🤣

私以为教材用上面提到的离散数学教程已经足够了,细分来讲的话:

什么,离散数学结构,那书的证明能看吗 🤣

数据结构 & 算法 & 设计模式

军理课上看网课数据结构,就是之前数据结构(第 2 版)的 MOOC,还有配套 OJ,发现自己写 C 真烂 🤣

算法的话,既然学了 Java,那当然得看红宝书

其实软工一学的面向对象设计并不深,自知无力看 GoF 🤣,于是用图解设计模式作为替代

微积分 II

学到曲线积分和曲面积分突然就感觉很爽 🤣,因为发现有外微分:浅谈外微分形式

英语

畅谈计算理论 & 摸鱼 🤣

随便看看 🤣

知乎

趣题:无限多层嵌套的逻辑推理

写一个你认为尽可能大的数?

业余程序员的个人修养 - 总诀式

理论物理的几何解剖讲座

【双语字幕】【理论物理的几何解剖讲座】【FAU】导论 / 命题与谓词逻辑 01 - Frederic Schuller

【双语字幕】【理论物理的几何解剖讲座】【FAU】集合论公理化 02 - Frederic Schuller

【双语字幕】【理论物理的几何解剖讲座】【FAU】集合的分类 03 - Frederic Schuller

12 枚硬币称量问题

算法设计指南中的面试题 🤣

经典的“12 枚硬币称量问题”(上)

经典的“12 枚硬币称量问题”(下)

彷徨い ❤️

【花谱】#67《彷徨い / 彷徨》原创歌曲

单手里 FD 🤣

颠覆认知的进化!全球首位达成 Cytus-FREEDOM D ↓ VE(HARD)(里 FD)- 单手 MILLION MASTER!!!

散户 vs. 华尔街 🤣

太燃了!散户 vs 华尔街世纪大战,一夜 8 次熔断,拔网线、禁止交易都用上了!

考试周破防

【经典回归】天 才 の 破 防

【经典回归】考 试 出 分

两本书

算法新解

同构 编程中的数学

刘新宇:我只是想打开那些黑盒子,告诉人们里面有什么

听书人

主阵地从小破站转到了喜马拉雅 🤣

954f048e4a9b40608f4d2eb6e515610f.jpg

听了些名著和悬疑小说,时间算下来还挺长 🤣

暑期学校

Linux

教材硬是把 Linux 上成了文科,PPT 也是照搬书本,于是翘课 🤣,自学鸟哥的 Linux 私房菜 基础学习篇

NLP

不错哦 🤣,快去看这些书:

道阻且长,数学菜鸡的我还是放弃吧 🤣

开坑 🤣

范畴论

Category Theory for Programmers

程序设计语言

软件分析

软件分析技术

PASCAL Research Group

现在才知道朋导感兴趣的软件分析是什么 🤣

编译原理

Crafting Interpreters