}

很多新生就要入学了。分享孩子大学第一学期课程

注:每周平均用时是根据校方官方统计平均。好学生 用时应该少些。

  • Freshman integration course (1学分)
    • 这门课分2部分,
      • 前一部分是Dean介绍SCS的各种学术活动,学生的各种机会(RA,TA,科研,选课等等),
      • 后半部分是 SCS 7个系的教授,分别每周介绍他们的研究领域,他们每天正在研究的主要课题,以及当今 CS 的新发展,新动向
    • 平均每周 用时 2.5小时
  • Principal imperative computation (C programming + algorithm) (12学分)
    • CMU SCS 核心必修课程,虽然很多学生都会了,但几乎不可免
    • 经验:培养使用 contracts 和 invariants 的 defensive programming
    • 成绩:学生成绩分化严重,平均成绩70%,90分以上和40分以下的各占15%
    • 平均每周 总共学习用时 15.0 小时
  • Mathematics Foundations for Computer Science (discrete math) (12学分)
    • 授课老师teaching prof. Mackey广受好评,几乎所有的老师和学生都对他超高好评。我曾经在此贴出和他长聊,被各位抨击,原因仅仅因为他是teaching prof.
    • 另一门CMU SCS核心必须课程,是CS理论、算法、proof based math的基础
    • 又一门成绩严重分化的课程,成绩往往不是由学习时间决定的,而是数学天分决定的。
    • 这门课成绩是 被 SCS 学生成绩统计表明,和学生最终GPA最相关的成绩。也就是说,SCS教授们认为,这门课的成绩,最能预测 是否能在 CS学习上成功。
    • 平均每周 总共学习用时 13.5 小时
  • Matrix and Linear Transformation (10学分)
    • 矩阵和线性代数课,既有和其他大学、系科一样的内容,又有SCS特有的一些特色
    • 额外的内容
      • 使用 Julia 语言编程,这是集 C语言的快,和 Python的强大支援于一身,特别在CS理论,数值计算,矩阵运算,图像处理上非常强大。课程有一个project 必须用 Julia 完成
      • 重点讲授了 SVD (曾经是 Machine Learning最强大武器)和 spectral clustering. 并需要完成 这些 Projects
    • 平均每周 总共学习用时 9.5 小时
  • Calculus in 3-D (9学分)
    • 这门 21-259 课原则上是不让一年级新生选的,由于我小孩没有其他可选的课,我给advisor打了电话,特许 第一学期 选了这门课
    • 这门课和以下课程是 Counter Requisite。就是只能选一门:21-254,21-266,21-268,21-269. 其中 21-269 比其他课程难,只有矩阵和线性代数得 A的,并且数学测试优胜者才可以选这门课。我孩子当时数学测试优胜,但矩阵课刚刚上(后来也是得了A),并且没打算在数学上深耕,所以主动放弃了 269. 还有就是 后来的 computer graphics 要求 pre-requiste 必须有 Calculus in 3D,所以我们选了这门课。
    • 这门课相对挺容易的,平均每周用时 9.1 小时
  • Writing About Data
    • 写作课之一,感觉 枯燥、无趣
    • 平均每周 总共学习用时 6.5 小时
  • Writing About Public Problems
    • 另一门写作课,同样的 枯燥、无趣
    • 平均每周 总共学习用时 6.6 小时。 花的时间比 writing about data 略多
  • Discrete Math Primer
    • 离散数学入门
    • 这门课的一个目的是给学生分流:根据这门课考试成绩,学生被分配到不同的数学学习路径:
      • 分数最低的去学 21108 (introduction to math concepts)
      • 好一点的去学 21127 (concepts of mathematics)
      • 再好一点的去学 21128 (math concepts and proofs)
      • 再好一点的去学 15151 (Mathematics Foundations for Computer Science)
      • 最好的 去学 21228 (Discrete Mathematics)
    • 平均每周 总共学习用时 3.8 小时
  • Computing at Carnegie Mellon
    • 熟悉CMU各种 计算资源,硬软件工具,各种设备使用方法以及限制,比如 cyber security, 打印机,学校电脑能否下载电影,黄片等等
    • 还有很多政治正确性的东西
    • 平均每周 总共学习用时 3.5 小时
  • Fundations of Robotics
    • 边学边做的机器人课,主要是用 Romi Robot 进行 编程、传感、电机控制 来实现一个自动行走的机器车。儿子秋假和寒假时带回家 玩,可以自动行驶,绕过房间的障碍物,用激光 和 可见光 computer vision, detection etc
    • 充满乐趣,又有成就感的一门课
  • Lean Programming 
    • Lean, 是一个 typed functional programming language, 也是用于 数学,统计、机器学习的 theorem prover.  算得上是一门 purely functional programming language. 对于初学者而言,有非常大的 learning curve. 而且首先需要扎实的 type theory 数学准备
    • 我儿子之前几乎没有什么functional programming的经验,也没有学过 type theory,所以没有什么准备就上了这门课,结果上课如同听天书,根本不懂。一共有 6个projects,秋假时,前3个projects都不会做。秋假回家时,孩子说,准备 drop 这门课。我查了一下规定,已经过了 drop deadline了,只能 withdraw了,那样就有一个 w 的不好记录了,看来你只能 硬啃了。于是孩子在秋假中,天天钻研 lamda calculus 和 type theory,以及 Lean 语言, 终于把 3个 projects 补上了。后来的课程也跟上了。
  • Putnam Seminar
    • 著名数学教头 PoShen Loh的课,为 Putnam 竞赛准备的
    • 课程不难,但最后参加 Putnam 竞赛夺得好成绩,还是比较难的
    • Loh名气很大,对学生很好,但感觉作为数学教头,他的严厉不够,难度也不够。
ivyclimber 发表评论于
哇!好多干货!谢谢!
登录后才可评论.