NekoBytes-TheMissing

OverView

课程将带给你什么

  • 尽可能广的介绍计算机领域
  • 介绍计算机领域的核心思想:抽象
  • 高效的使用基础设施(工具)
  • 得到编码的锻炼(四个 Project)

你无法得到什么

  • 功利的分数, etc
  • 宝宝巴士一样的知识灌输
  • 成为一名学究

课程内容

课程还在建设中,具体内容可能会有改动

请关注课程主页

  • Unix环境(CLI的使用、POSIX)
  • 什么是计算机(寄存器、内存、状态机视角)
  • C 语言(基础语法、指针、动态内存管理)
  • 算法导论(递归、分治、数据结构)
  • 嵌入式编程(端口IO、内存IO、GPIO)
  • 系统编程(进程、线程、网络通讯)
  • 人工智能导论(机器学习、回归、分类)
  • 编程语言导论(OOP、函数式、声明式、命令式)

课程内容

每节课都会上传对应的讲座录屏与课程讲义

  • 请你认真对待讲义附上的链接,里面的内容(除了可选)都非常适合现在的你阅读并学习(即使你需要花费大量的时间)

每节课都会有对应的课后实验

  • 请认真对待课后实验,这是你获取学习反馈的重要方式
  • 也是得到及时知识巩固的能力锻炼
  • 每个实验预计耗时2~3h(对于有独立解决问题的同学来说)

四个课程大作业

  • 你将得到具体项目的训练

独立思考

基本原理 做事方案 正确性风险 代表例子
阐述 明确 基本正确 高中物理实验
阐述 明确 可能出错 程序设计作业
阐述 需要思考 基本正确 数学/算法题
阐述 需要思考 可能出错 练手项目
需要探索 需要思考 可能出错 业界和科研的真实问题

学会独立思考

试着去成为一个有 CS 梦想的人

学会提问

学会提问=学会不提问

提问的智慧》/《别像弱智一样提问

  • 提问能反映出你的学习态度: 主动尝试 vs. 被动依赖

不是所有问题都值得问

  • 你以为自己热爱学习? 不, 别人只觉得你是伸手党

都成年了,要学会提问了

  • 任何直接获得答案的做法都是在放弃训练的机会

你不应该剥夺自己“训练的权利”,当然也不应该让别人剥夺

  • 向助教提问,请遵守群内的提问模板

我们是公益性质的活动,请对助教好一些 :)

躺平容易坚持难, 但如果你能坚持下来, 你就可以得到脱胎换骨的提升

如何活下来?

STFW - Search The Friendly Web

  • 只要我用的工具是大众的, 我几乎不可能是世界上第一个遇到问题的
  • 网上一定有人遇到过相同/类似问题, 我应该搜一下看看他们怎么解决

RTFM - Read The Friendly Manual

  • 只要我用的工具是大众的, 应该有手册记录这个工具的所有细节
  • 如果我想了解它的某个问题, 我应该去搜索手册的描述

RTFSC - Read The Friendly Source Code

  • 只要我获得了项目代码, 理论上我就可以知晓它的一切行为
  • 如果我想了解它具体是如何工作的, 我应该去读一下(关键)代码

如何活下来?

ATFAI - Ask The Friendly AI

  • “学习”从未如此高效;“因材施教” 终得以实现
  • 现在真有一个像你父母一样耐心的角色
  • 前提是你有能力分辨“善意的谎言”

拒绝成为“学究”

计算机是需要“终生学习”的领域

没有人可以完全记住所有的计算机知识

知识的学习固然重要,但解决问题的能力才是更为本质的内容

我们不希望你成为“学究”

“在宿舍对室友写出的scanf("%d", a),指指点点”并没有多少意义

事实上人类并不擅长找错误

但是工具擅长:gcc -Wall -Werror

事实上对于找错误,人类已经不如LLM了

综合利用工具和AI,才是人类的强项

功利主义

“独立“完成Proj1,理论上顺手绩点5.0已经不是问题了

吾侪小人,朝不及夕,相时射利,皇恤厥德?庶几侥幸,不种而获。

但我们不欢迎纯粹的功利主义

协会招新

请阅读协会介绍

我们欢迎任何与我们理念一致的同学加入。

独立完成Proj2,这能够证明你能够进行独立的思考。