Skip to content

24 秋冬 程序设计辅学

Danger

本文档正在审核。

欢迎来到 24 秋冬程设辅学课程页面!本学期计划开课 6 次,内容如下:

节次 时间 授课学长 课程标题
秋七周 混合 2301 倪晟翔 编程入门
冬二周 混合 2205 朱宝林 通往 Pro 的第一步
命令行交互、VSCode、AI 工具
冬四周 图灵 2302 黄哲 开源世界生存基础
SSH 密钥、ZJUGit、Git、许可证
冬五周 图灵 2201 李英琦 如何写出简洁工整的报告
Markdown、LaTeX
冬六周 图灵 2302 杨书华 期末复习(上)
冬七周 混合 2301 司浩言 期末复习(下)
  • 第一节课:面向初次接触编程的小白,通过习题讲解锻炼编程思维。
  • 中间三节课:面向准备选择计算机专业的同学,帮助你们补全计算机专业必备的实用技能。校内没有课程会讲授这些内容,但如果你不具备这些技能,之后的专业课程、科研会变得较为困难,到那时都假定你已经掌握了这些技能。这几节课以实验为主。
  • 后两次课:面向修读《程序设计与算法基础》课程的所有同学,帮助你们备考期末考试。这几节课可能以知识归纳梳理和习题讲解为主。

关于课程难度,我们会严格控制在大一新生刚接触计算机时的水平。去年我们设定的难度有点高,效果不是很好(有兴趣的同学可以在左侧导航栏浏览去年的内容。今年我们的目标是普及,让尽可能多的同学受益。

课程动机与目标

Hi,CSer!欢迎你来到计算机专业的世界。但这条路刚开始的一段可能并不好走:

大一入学时我是一个对计算机一无所知的小白,装了几十个 G Visual Studio 天天和 OJ 你死我活。凭着高中的数学底子我数学课学得还不错,但在专业课上对竞赛大佬只有仰望。提到编程我只会打开那笨重的 IDE,新建一个我也不知道具体是干啥的命令行项目,然后就是 cin, cout, for 循环,然后 CE, RE, WA 循环。当时的我就处在一种拼命想学好但不知道怎么学,课上认真听讲但题还不会做,课后做作业完全是用时间和它硬耗的痛苦状态。我至今电脑里还存着自己大一上学期计算概论大作业的源代码 —— 一个 1200 行的 C++ 文件,没有头文件、没有类、没有封装、没有 unit test、没有 Makefile、没有 Git,唯一的优点是它确实能跑,缺点是“能跑”的补集。我一度怀疑我是不是不适合学计算机,因为童年对于极客的所有想象,已经被我第一个学期的体验彻底粉碎了。

上面这段话来自 CS 自学指南 的作者,我想也是很多同学的真实写照。这段话真实地揭示了国内计算机本科教育的一个普遍问题:缺乏工具和技能的培养。这一情况正在好转,越来越多国内外学校开始重视这方面的教育,开设了相关课程:

学校 课程
MIT(麻省理工学院) Missing Semester
清华大学 全部课程采用文档 + 开源代码框架
工具和技能的培养已经融入课程体系
中国科学技术大学 Linux 101
南京大学 ICS-PA2024

但很可惜,浙江大学计算机学院的课改还没有走到这一步,你可以看到部分《程序设计与算法基础》的老师还在使用 20 年前的 PPT。所以我们希朝着这个方向努力,对齐其他学校的课程,帮助同学们尽早掌握这些技能,让你们在专业课上少走弯路。

去年我们开设了两套课程,但显然对大一新生来说内容过多且难了。本学期的目标是普及,让大一新生有一个适应的过程,所以课程内容会极为简单。我们计划在 25spring 开设深入的课程,到时候会有更多深入的内容。

感兴趣的同学可以进一步阅读:谈谈如何让自己看上去、闻上去都像一个 CS - CC98